Talaan ng mga Nilalaman:
- Hakbang 1: I-print ng 3D ang Mga Component ng Plastik
- Hakbang 2: Ihanda ang Iyong Mga Control Board at Kable
- Hakbang 3: Magtipon ng Mga Servos
- Hakbang 4: I-set Up at Pagsubok
- Hakbang 5: Pag-upload ng Code
- Hakbang 6: Pag-iipon ng Clock sa Back Board
- Hakbang 7: Pangwakas na Pag-setup at Pagpapatakbo
Video: Mekanikal na pitong segment na display na orasan: 7 mga hakbang (na may mga larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:09
Ilang buwan na ang nakakaraan ay nagtayo ako ng isang dalawang digit na mekanikal na 7 segment na display na naging isang countdown timer. Lumabas ito nang maayos at maraming tao ang nagmungkahi ng pagdoble sa display upang gumawa ng orasan. Ang problema ay tumatakbo na ako sa labas ng PWM IO sa aking Arduino Mega at walang sapat na magagamit para sa pangalawa o pangatlong digit. Pagkatapos ay itinuro ko ang direksyon ng mga driver ng PCA9685 16 channel PWM na nagpapatakbo sa isang interface ng I2C. Ginawa nitong posible upang himukin ang 28 servos na kailangan ko lahat gamit ang dalawang mga I2C na pin sa isang Arduino. Kaya't nagtatrabaho ako sa pagbuo ng isang orasan na gumagamit ngayon ng isang module ng real time na orasan ng DS1302 upang mapanatili ang oras at dalawang 16 na mga driver ng servo ng channel upang makontrol ang 28 servo na ginamit upang makabuo ng display, lahat ay pinalakas ng isang Arduino Uno.
Kung nasisiyahan ka sa Ituturo na ito, mangyaring isaalang-alang ang pagboto para dito sa Clocks Contest
Mga Pantustos:
Upang maitayo ang iyong orasan, kakailanganin mo ang mga sumusunod na supply bilang karagdagan sa ilang pangunahing mga tool:
- Arduino Uno - Bilhin Dito
- DS1302 Clock Module - Bumili Dito
- 2 x PCA9685 16Ch Servo Drivers - Bilhin Dito
- 28 x Micro Servos - Bumili Dito
- Ribbon Cable - Bilhin Dito
- Mga Pin ng Header ng Pin na Lalaki - Bumili Dito
- Mga Pin ng Header ng Pin na Babae - Bumili Dito
- 3mm MDF - Bumili Dito
- Black Spray Paint - Bilhin Dito
- 5V 5A Circuit Eliminasyon ng Baterya - Bilhin Dito
- 12V Power Supply - Bumili Dito
Para sa proyektong ito kakailanganin mo rin ang ilang mga 3D na naka-print na bahagi. Kung wala ka pang isang 3D printer at nasisiyahan ka sa paggawa ng bagay pagkatapos ay tiyak na dapat mong isaalang-alang ang pagbili ng isa. Ang Creality Ender 3 Pro na ginamit dito ay abot-kayang at gumagawa ng magagandang mga kalidad ng kopya para sa presyo nito.
- Ginamit ang 3D Printer - Bumili Dito
- Filament - Bumili Dito
Hakbang 1: I-print ng 3D ang Mga Component ng Plastik
Dinisenyo ko ang 7 segment na ipinapakita upang maging simple hangga't maaari. Ang servo ay din ang bracket ng suporta upang hawakan ang segment sa itaas nito. Mayroong dalawang mga naka-print na sangkap ng 3D na kinakailangan para sa bawat segment, isang bloke ng spacer upang suportahan ang ilalim na bahagi ng servo at ang segment ng pagpapakita na direktang nakadikit sa braso ng servo.
I-download ang 3D Print Files - Mekanikal na 7 Segment Display Clock 3D Print Files
I-print ang mga segment ng servo at tuldok gamit ang isang maliwanag na may kulay na PLA. Gumamit ako ng translucent green, ngunit ang pula, orange o dilaw ay dapat ding gumana nang maayos. Gumamit ako ng itim na PLA para sa mga bloke ng spacer at mga suporta sa tuldok upang hindi sila makita kapag ang mga segment ay nakabukas sa posisyon na off.
Kung wala kang access sa isang 3D printer, subukan ang isa sa mga serbisyong online sa pag-print. Mayroong isang bilang ng mga abot-kayang serbisyo na magagamit na mai-print ang mga bahagi at ihahatid ang mga ito sa iyong pintuan sa loob ng ilang araw.
Hakbang 2: Ihanda ang Iyong Mga Control Board at Kable
Kakailanganin mong gumamit ng dalawang mga driver ng PCA9685 16 channel PWM upang himukin ang iyong 28 servos na orasan. Pinaghiwalay ko ang mga servos sa oras at minuto na mga digit, sa bawat pares ng mga digit na hinihimok ng isang board. Kaya't mayroon akong isang board na kinokontrol ang mga servos para sa dalawang oras na digit at ang pangalawang pagkontrol sa mga servos para sa dalawang minutong digit.
Upang magkadikit ang dalawa, kakailanganin mong gumawa ng isang 6 wire ribbon cable konektor at maghinang ng isang pangalawang header strip papunta sa kabilang dulo ng unang servo control board. Kakailanganin mo ring baguhin ang I2C address sa pangalawang board upang magkakaiba ito sa una at natatanging makikilala.
Kakailanganin mo ring bumuo ng mga harness ng mga kable upang ikonekta ang tatlong mga board (dalawang servo board at ang module ng orasan) sa iyong Arduino. Kakailanganin mo ang 5V at GND sa bawat board pati na rin ang mga koneksyon sa I2C sa iyong Arduino pin A4 at A5 (I2C sa Arduino Uno), at ang mga module ng orasan na pin na CLK, DAT & RST sa mga pin 6, 7 & 8 sa iyong Arduino ayon sa pagkakabanggit.
Ang kapangyarihan ay ibinibigay sa Arduino nang direkta mula sa 12V power supply at sa mga servos gamit ang 5V 5A BEC na pagkatapos ay konektado sa dalawang mga terminal sa tuktok ng driver ng PWM. Kailangan mo lamang ikonekta ang isang driver ng servo sa lakas at magpapakain ito ng lakas sa pangalawa sa pamamagitan ng koneksyon ng 6 wire ribbon cable.
Hakbang 3: Magtipon ng Mga Servos
Sa sandaling nai-print mo ang iyong mga segment kailangan mong i-spray ang likod at mga gilid ng itim upang hindi gaanong nakikita kapag naka-90 degree na sa naka-off na posisyon.
Kailangan mong idikit ang mga segment sa iyong mga braso ng servo na may mainit na natunaw na pandikit. Nakakatulong ito upang ipako ang mga ito sa servo na ang braso ay nasa servo na, sa ganitong paraan maaari mong suriin na nakadikit ka sa kanila nang tuwid at antas.
Kakailanganin mo ring idikit ang isang bloke ng spacer sa ilalim ng bawat servo.
Ipunin ang mga tuldok sa pamamagitan ng pagdidikit ng isang maliit na dowel o kebab stick sa likuran ng mga tuldok at pagkatapos ay sa mga base block. Nag-spray din ako ng mga itim na stick na ito nang sa gayon ay hindi gaanong nakikita kung tiningnan mula sa isang anggulo.
Hakbang 4: I-set Up at Pagsubok
Binilang ko ang lahat ng mga servo at isinulat ang numero sa bawat lead upang mas madaling masubaybayan ang mga ito. Nagsimula ako sa nangungunang segment sa mga digit ng yunit at nagtrabaho hanggang sa gitnang segment sa sampung digit. Ito rin ang pagkakasunud-sunod kung saan isinaksak ko ang mga ito sa mga control board ng servo, na naaalala na ang mga nagpapakilala sa mga board ay binibilang mula 0 hanggang 13 at hindi mula 1 hanggang 14.
Pagkatapos ay itinakda ko ang mga segment sa isang talahanayan na may sapat na puwang sa pagitan ng mga ito para sa pagsubok upang hindi sila lumipat sa isa at iba pa habang kinukuha ang mga limitasyon sa paglalakbay at mga direksyon na na-set up. Kung susubukan mong i-set up ang mga ito nang magkasama magkakaroon ka marahil ng isa o dalawa na subukang lumipat sa maling direksyon o sa paglalakbay sa ilang yugto at pindutin ang isa pa na maaaring makapinsala sa segment, braso ng servo o i-strip ang mga gears sa servo.
Hakbang 5: Pag-upload ng Code
Ang code ay mukhang kumplikado sa unang tingin, ngunit ito ay talagang simpleng salamat sa dalawang aklatan na ginamit. Mayroon ding maraming pag-uulit dahil mayroong apat na magkakaibang 7 segment na nagpapakita na kailangang i-update.
Narito ang isang paglalarawan ng buod ng code, tingnan ang buong gabay para sa isang mas detalyadong paliwanag at isang link upang mai-download ang code - Mekanikal na 7 Segment na Display Clock
Nagsisimula kami sa pamamagitan ng pag-import ng dalawang mga silid-aklatan, virtuabotixRTC.h para sa module ng orasan at Adafruit_PWMServoDriver.h para sa mga driver ng servo. Maaaring mai-download at mai-install nang direkta ang library ng Adafruit sa pamamagitan ng manager ng library sa IDE.
Lumilikha kami pagkatapos ng isang bagay para sa bawat control board na may kaugnayan ang address, isa para sa mga oras na digit at isa para sa mga minutong digit.
Pagkatapos ay mayroon kaming apat na mga array upang maiimbak ang mga posisyon ng on at off para sa bawat servo. Kakailanganin mong gumawa ng mga pagsasaayos sa mga numerong ito sa mga darating na hakbang upang matiyak na ang iyong mga servo ay patayo kapag naka-on, naka-90 degree kapag naka-off at hindi labis na naglalakbay.
Ang isang digit na array ay nag-iimbak ng mga posisyon ng bawat segment para sa bawat digit na maipakita.
Pagkatapos ay i-set up namin ang module ng orasan at lumikha ng mga variable upang maiimbak ang kasalukuyan at nakaraang indibidwal na mga digit.
Sa pag-andar ng pag-setup sinisimulan namin at i-set up ang mga control board ng PWM pati na rin i-update ang oras ng orasan kung kinakailangan. Pagkatapos ay tatakbo kami sa pamamagitan ng isang loop upang itakda ang display sa 8 8: 8 8 upang malaman namin ang panimulang posisyon ng lahat ng mga servos. Ginagamit din ito upang i-set up ang mga servo upang maayos silang nakaharap sa paitaas.
Sa pangunahing loop makuha namin ang na-update na oras mula sa module ng orasan, natapon ito sa apat na mga digit at pagkatapos ay suriin kung nagbago ang oras mula sa huling tseke. Kung nagbago ang oras pagkatapos ay i-update namin ang display at pagkatapos ay i-update ang nakaraang mga digit.
Sa pag-andar ng display sa pag-update, inililipat muna namin ang gitnang mga segment. Ginagawa muna ito sapagkat mayroong ilang lohika na kinakailangan upang ilipat ang dalawang nangungunang mga segment na katabi ng gitnang segment sa labas ng paraan nang kaunti bago ilipat ang gitnang segment, kung hindi man ay mauntog ito sa kanila. Kapag ang gitnang mga segment ay inilipat pagkatapos ang natitirang mga segment ay inililipat ang mga tamang posisyon.
Hakbang 6: Pag-iipon ng Clock sa Back Board
Kapag natapos na ako sa pagsubok, pinagsama-sama ko ang mga servos sa likod ng board gamit ang layout sa itaas bilang isang gabay.
Ang puting lugar ay ang pangkalahatang laki ng board, ang mas magaan na kulay-abo ay ang lugar na nakapalibot sa bawat digit kung saan lumilipat ang mga segment ng servo at ang balangkas sa madilim na kulay-abo na lugar ay ang gitnang linya para sa panlabas na 6 na mga segment para sa bawat digit.
Pinutol ko ang board, minarkahan ang layout at pagkatapos ay nakadikit ang mga digit sa lugar upang mabuo ang mukha ng orasan.
Pagkatapos ay nag-drill ako ng mga butas malapit sa bawat servo at pinakain ang mga wires hanggang sa likuran ng board upang hindi gaanong makita.
Inilagay ko ang electronics sa likuran ng orasan gamit ang dobleng panig na tape.
Hakbang 7: Pangwakas na Pag-setup at Pagpapatakbo
Kapag handa na ang lahat ng servo, tinanggal ko ang lahat ng mga arm ng servo para sa huling pagsasaayos sa mga posisyon ng mga segment. Dapat mong palakasin ang Arduino sa estado na ito upang ang 8 8: 8 8 ay ipinakita at pagkatapos ay idiskonekta ang kuryente, isinasentro muli ang lahat ng iyong mga servo upang maibalik mo ang mga braso ng servo sa mga segment na nakaharap na malapit sa patayo hangga't maaari.
Pagkatapos ay kakailanganin mong sunud-sunod na palakasin ang iyong Arduino at magsagawa ng mga pagsasaayos sa iyong segment sa at off na posisyon sa iyong apat na mga array upang ang mga servo ay perpektong patayo kapag naka-on at lumiliko sa 90 degree kapag off nang walang paglalakbay. Ang hakbang na ito ay medyo matagal at nangangailangan ng kaunting pasensya ngunit ang wakas na resulta ay sulit!
Ang orasan ay maaaring iwanang pinapatakbo gamit ang 12V power supply at 5V BEC na konektado dito. Kung bumaba ang kuryente, ang baterya sa module ng RTC ay magpapanatili ng oras upang kapag naibalik ang kuryente, awtomatikong nagre-reset ang orasan sa tamang oras.
Kung nasiyahan ka sa Ituturo na ito, mangyaring iboto ito sa paligsahan sa Orasan at ipaalam sa akin ang anumang mga pagpapabuti o mungkahi na maaari mong maisip sa seksyon ng mga komento sa ibaba.
Pangalawang Gantimpala sa Clocks Contest
Inirerekumendang:
Pagkontrol sa Pitong Segment na Display Gamit ang Arduino at 74HC595 Shift Register: 6 na Hakbang
Pagkontrol sa Pitong Segment na Display Gamit ang Arduino at 74HC595 Shift Register: Hoy, ano na, Guys! Ang Akarsh dito mula sa CETech. Ang pitong Segment Ipinapakita ay mahusay na tingnan at palaging isang madaling gamiting tool upang ipakita ang data sa anyo ng mga digit ngunit mayroong isang sagabal sa kanila na kung saan kinokontrol namin ang isang Pitong Segment na Display sa reali
Diy Pitong Segment sa Display Clock: 9 Mga Hakbang
Diy Seven Segment Display Clock: sa tutorial na ito, ipapakita ko sa iyo kung paano bumuo ng isang pitong-segment na orasan
I-convert ang Ordinaryong Orasan sa Bahay Sa Sariling Kumikinang na Orasan: 8 Hakbang (na may Mga Larawan)
I-convert ang Ordinaryong Orasan sa Bahay sa Sarili na Kumikinang na Orasan: UNA NAKO GINAGBIGAY ANG AKING PUSO NG PUSO SA INSTRUCTABLES TEAM GUMAGAWA NG AKING PANGKALUSUGANG ARAW NG PAGKABUHAY ….. Sa mga itinuturo na ito, nais kong ibahagi sa inyo kung paano i-convert ang inyong ordinaryong orasan sa bahay sa sarili na kumikinang na orasan. > > Para sa paggawa nito
Recycled na Pitong Segment na Display: 5 Hakbang (na may Mga Larawan)
Recycled PVC Seven Segment Display: nagpaplano ako sa paggawa ng isang digital na orasan na maaari akong mag-hang sa aking dingding sa loob ng ilang oras ngayon ngunit patuloy kong inilagay ito dahil hindi ko nais na bumili ng acrylic kaya gumamit ako ng natitirang mga PVC duct ng cable at i kailangang sabihin ang mga resulta ay hindi ang higaan kaya hinahayaan
Pasadyang Orasan na May Mga Kamay ng Larawan: 5 Hakbang (na may Mga Larawan)
Pasadyang Orasan Na May Mga Kamay sa Larawan: Ang ilang mga tao ay mga relo ng orasan. Ngayon lahat ay maaaring maging orasan. Ang iba pang mga proyekto ay ipasadya ang mukha ng orasan. Pinasadya ng isang ito ang mga kamay ng orasan. Mukhang mahal ito, ngunit mas mababa sa $ 5 dolyar, at mga 30 minuto bawat orasan. Perpekto para sa Chr