Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Ikonekta ang Circuit
- Hakbang 2: Paghahanda ng Bahagi ng Buzzer
- Hakbang 3: Paghahanda ng LED Panel
- Hakbang 4: Inihahanda ang Paglipat (pushbutton Talaga)
- Hakbang 5: Paghahanda ng LED Strip
- Hakbang 6: Paghahanda ng Capacitance Sensor
- Hakbang 7: Paghahanda ng Power Supply
- Hakbang 8: Pagkonekta sa kanila sa Arduino
- Hakbang 9: Enclosure
- Hakbang 10: Oras ng Programming
- Hakbang 11: Pagwawasto sa Mekanismo
- Hakbang 12: Paano Gumamit ng Lahat ng Mga Pag-andar
- Hakbang 13: Konklusyon
- Hakbang 14: Update: Pagkatapos ng Isang Linggong Paggamit
Video: DIY Arduino Binary Alarm Clock: 14 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ito na ulit ang klasikong binary na orasan! Ngunit sa oras na ito na may higit pang karagdagang pag-andar! Sa itinuturo na ito, ipapakita ko sa iyo kung paano bumuo ng isang binary alarm clock kasama ang Arduino na maaaring ipakita sa iyo hindi lamang oras, ngunit petsa, buwan, kahit na may mga pag-andar ng timer at alarm na maaari ding magamit bilang bedside lamp! Nang walang karagdagang ado magsimula na tayo!
Tandaan: Ang proyektong ito ay hindi gumagamit ng isang module ng RTC, kaya ang kawastuhan ay nakasalalay sa board na ginamit mo. Isinama ko ang isang mekanismo ng pagwawasto na magtatama ng naaanod na oras sa ilang partikular na tagal ng panahon ngunit kakailanganin mong mag-eksperimento sa paligid upang mahanap ang tamang halaga para sa tagal ng panahon (Higit pa sa ibaba na ito), at kahit na sa mekanismo ng pagwawasto ay naaanod pa rin ito sa mahabang panahon (kung ihinahambing sa walang isa). Kung mayroong interesado huwag mag-atubiling ipatupad ang paggamit ng module ng RTC sa proyektong ito
Mga gamit
5mm LED (ng anumang kulay, gumamit ako ng 13 puting LEDs na may isang RGB LED bilang tagapagpahiwatig) --- 14 pcs
Arduino Nano (maaaring gumana ang iba) --- 1 pc
Micro-switch --- 1 pc
Maliit na piraso ng aluminyo palara
Mounting board (para sa enclosure, ngunit huwag mag-atubiling idisenyo ang iyong sarili)
Piraso ng puting papel (o anumang iba pang kulay)
Ilang plastic film (ang ginamit bilang takip ng libro)
Bungkos ng mga wire
Buzzer --- 1pc
NPN transistor --- 1pc
Mga resistor 6k8 --- 14 pcs, 500R --- 1 pc, 20R (10Rx2) --- 1 pc, 4k7 --- 1pc
Power supply para sa proyekto (gumamit ako ng li-on na baterya)
5050 LED strip at isang slide switch (opsyonal)
Hakbang 1: Ikonekta ang Circuit
Hahatiin ko ang hakbang na ito sa:
1) Ang bahagi ng buzzer
2) Ang LED panel
3) Ang switch (pindutan ng push)
4) LED strip
5) Ang capacitance sensor
6) supply ng kuryente
7) Ikonekta ang lahat sa kanila sa Arduino
Karamihan sa mga oras, ito ay isang hakbang na "sundin ang eskematiko". Kaya suriin ang eskematiko sa itaas o kahit na i-download at i-print ito!
Hakbang 2: Paghahanda ng Bahagi ng Buzzer
Kung nagamit mo na ang buzzer sa Arduino dati, malalaman mo na kung ikonekta namin ito nang direkta sa Arduino hindi ito sapat na malakas. Kaya kailangan namin ng isang amplifier. Upang maitayo ang amplifier, kailangan namin ng isang NPN transistor (karaniwang gagana ang anumang NPN, ginamit ko ang S9013 dahil nakuha ko ito mula sa dating proyekto), at ilang risistor upang limitahan ang kasalukuyang. Upang magsimula, kilalanin muna ang kolektor, emitter at base ng transistor. Ang kaunting googling ng datasheet ay gagana para dito. Pagkatapos, solder ang kolektor ng transistor sa negatibong terminal ng buzzer. Sa positibong terminal ng buzzer, naghihinang lamang kami ng isang piraso ng kawad dito upang maaari naming itong maghinang sa aming Arduino sa paglaon. Pagkatapos nito, maghinang ang 500R (o anumang katulad na halaga ng risistor) risistor sa base ng transistor at mula sa risistor, maghinang ng isa pang piraso ng kawad para magamit sa hinaharap. Sa wakas, maghinang ang dalawang 10R risistor sa serye sa emitter ng transistor at ikonekta ang isa pang kawad mula sa resistors.
Talagang, sumangguni sa eskematiko.
p / s: Hindi ko pa talaga alam kung paano pumili ng risistor para sa transistor sa oras na pagsulat nito. Ang halagang ginamit ko ay napili ng empirically.
Hakbang 3: Paghahanda ng LED Panel
I-plug ang mga LED at risistor sa prototyping board nang naaayon at maghinang. Ayan yun. Sundin ang eskematiko. Kung sakaling interesado ka sa spacing na ginamit ko, 3 butas ang pagitan para sa bawat haligi, at dalawang butas ang pagitan para sa bawat hilera (sumangguni sa larawan). At ang tagapagpahiwatig na LED? Sinaksak ko ito ng sapalaran.
Matapos ang paghihinang ng mga LED at risistor sa board, ikonekta ang lahat ng mga positibong terminal ng mga LED nang magkasama. Pagkatapos, isa-isang ang mga wire ng panghinang sa bawat isa sa risistor sa mga negatibong terminal ng mga LED upang maaari nating solder ang mga ito sa Arduino sa paglaon.
TANDAAN: Maaari kang malito sa hakbang na ito. Tandaan sa halip na ikonekta ang lahat ng lupa, magkokonekta kami ng lahat ng positibong terminal nang magkasama at negatibong terminal sa indibidwal na pin sa Arduino. Sa gayon ginagamit namin ang Arduino GPIO pin bilang ground, hindi Vcc. Kung sakali kung hindi mo sinasadyang maiugnay ito nang paatras, huwag mag-alala. Maaari mong baguhin ang lahat ng TAAS sa mababa at mababa sa mataas sa paggana ng ledcontrol.
Hakbang 4: Inihahanda ang Paglipat (pushbutton Talaga)
Para sa switch (tatawagin ko itong switch dahil gumamit ako ng micro-switch, ngunit alam mong pushbutton ito), kailangan namin ng isang 4k7 pull-down na risistor at syempre, ang switch mismo. Ah, huwag kalimutang maghanda ng ilang mga wire. Magsimula sa pamamagitan ng paghihinang ng risistor at isang piraso ng kawad sa karaniwang lupa (COM) ng micro-switch. Pagkatapos, maghinang ng isa pang piraso ng kawad sa karaniwang binuksan (HINDI) ng micro-switch. Panghuli, maglakip ng isa pang kawad sa risistor. I-secure ito sa ilang mainit na pandikit.
Sulok ng kaalaman: Bakit kailangan natin ng isang pull-down risistor?
"Kung ididiskonekta mo ang digital I / O pin mula sa lahat, ang LED ay maaaring kumurap nang hindi wasto. Ito ay dahil ang input ay" lumulutang "- iyon ay, random na babalik alinman sa TAAS o Mababa. Iyon ang dahilan kung bakit kailangan mo ng isang pull-up o pull-down risistor sa circuit. " - Pinagmulan: Arduino webisite
Hakbang 5: Paghahanda ng LED Strip
Ang LED strip ay para sa lampara sa gilid ng kama, na opsyonal. Ikonekta lamang ang LED strip at slide switch nang magkasama sa serye, walang espesyal.
Hakbang 6: Paghahanda ng Capacitance Sensor
Ok sumangguni sa larawan. Karaniwan ay ilalagay lamang namin ang kawad sa isang maliit na piraso ng aluminyo palara (dahil ang aluminyo palara ay hindi maaaring solder) pagkatapos ay i-tape ito sa isang maliit na piraso ng mounting board. Mabait na paalala, tiyaking hindi mo ganap na nai-tape ang aluminyo foil. Iwanan ang ilan dito para sa direktang pakikipag-ugnay.
Hakbang 7: Paghahanda ng Power Supply
Dahil gumamit ako ng li-on na baterya bilang supply ng kuryente, kailangan ko ng isang module na TP4056 para sa pagsingil at proteksyon, at isang boost converter upang mai-convert ang boltahe sa 9v. Kung nagpasya kang gumamit ng 9V wall adapter, maaaring kailanganin mo ang isang DC jack, o direkta lamang itong ikonekta. Tandaan na ang halaga ng risistor para sa amplifier ay disenyo para sa 9V at kung nais mong gumamit ng iba pang boltahe, maaaring kailanganin mong baguhin ang risistor.
Hakbang 8: Pagkonekta sa kanila sa Arduino
Sundin ang eskematiko! Sundin ang eskematiko! Sundin ang eskematiko!
Huwag ikonekta ang maling pin o ang mga bagay ay magiging kakaiba.
Hakbang 9: Enclosure
Ang sukat ng aking disenyo ay 6.5cm * 6.5cm * 8cm, kaya't medyo malaki ito Ito ay binubuo ng isang front window para sa LED display at tuktok na bintana para sa lampara sa tabi ng kama. Para sa aking disenyo, mag-refer sa mga larawan.
Hakbang 10: Oras ng Programming
I-download ang aking sketch sa ibaba at i-upload sa iyong Arduino. Kung hindi mo alam kung paano ito gawin, huwag mag-abala na gawin ang proyektong ito! Nakakatawa lang, narito ang isang mahusay na tutorial dito: Mag-upload ng sketch sa arduino
Pagkatapos buksan ang serial monitor, at dapat mong makita ang output nito sa kasalukuyang oras. Upang maitakda ang oras, narito kung paano ito gawin.
Upang itakda ang oras: h, XX - kung saan ang xx ay ang kasalukuyang oras
Upang magtakda ng minuto: min, XX - xx ang kasalukuyang minuto
Upang maitakda ang pangalawa: s, XX
Upang itakda ang petsa: d, XX
Upang itakda ang buwan: mon, XX
Kapag ang komentong nasa itaas ay naisakatuparan, dapat itong ibalik sa iyo ang halagang itinakda mo lamang. (Halimbawa kapag nagtakda ka ng oras na may h, 15, dapat itong ibalik ang Oras: 15 sa serial monitor.
Para sa capacitance sensor, maaaring kailanganin mong i-calibrate ito bago ito gumana. Upang magawa ito, pindutin ang micro-switch nang dalawang beses, at tingnan ang serial monitor. Dapat itong maglabas ng isang bungkos ng numero. Ngayon ilagay ang iyong daliri sa capacitance sensor, at tingnan ang tala ng saklaw ng numero. Susunod, baguhin ang variable na "captrigger". Sabihin nating nakakuha ka ng 20-30 kapag pinindot, pagkatapos ay itakda ang captrigger sa 20.
Gumamit ang sketch ng ADCTouch library, tiyaking na-install mo ito.
Hakbang 11: Pagwawasto sa Mekanismo
Ang tagal ng oras para sa mekanismo ng pagwawasto sa aking code ay nakatakda sa isa na tumpak para sa akin. Kung ang oras ay hindi pa rin tumpak, kailangan mong baguhin ang halaga ng variable na "corrdur"
Ang corrdur ngayon ay default sa 0 sa pinakabagong pag-update.
Ang halaga ng corrdur ay nangangahulugang kung gaano karaming milliseconds ang kinakailangan upang mabagal ang isang segundo
Upang malaman ang halaga ng corrdur, gamitin ang formula:
2000 / (y-x) / x)
kung saan x = tunay na tagal ng oras na lumipas at y = tagal ng oras na lumipas ng orasan, pareho sa pangalawa
Upang mahanap ang halaga ng x at y, kailangan mong gumawa ng kaunting eksperimento.
Itakda ang oras ng orasan sa aktwal na oras at itala ang paunang oras (ang aktwal na paunang oras at orasan ng paunang oras ay dapat na pareho). Pagkatapos ng ilang sandali (ilang oras), itala ang pangwakas na aktwal na oras at huling oras ng orasan.
x = tunay na huling oras-paunang oras at y = orasan huling oras-paunang oras
Pagkatapos ay baguhin ang halaga ng corrdur sa code at muling mag-upload sa Arduino.
Pagkatapos ulitin ang pagsubok at sa oras na ito ang formula ay nabago sa:
2000 / ((2 / z) + (y-x / x))
Kung saan ang x at y ay parehong bagay tulad ng dati, habang ang z ay ang kasalukuyang halaga ng corrdur.
I-upload muli at gawin ang pagsubok nang paulit-ulit hanggang sa ito ay tumpak na sapat para sa iyo.
Sa kaso kung ang iyong orasan ay nagpapabilis pa rin kahit na ang corrdur ay nakatakda sa 0 (nangangahulugang walang mekanismo ng pagwawasto), kailangan mong palitan ang pangalawang ++ sa pangalawang - sa bahagi ng pagwawasto ng mekanismo ng code (binigyan ko ito ng puna), itakda ang corrdur sa 0, pagkatapos hanapin ang hindi. ng millisecond aabutin upang mapabilis ang isang segundo.
Hakbang 12: Paano Gumamit ng Lahat ng Mga Pag-andar
Maaari mong baguhin ang mode sa pamamagitan ng pagpindot sa micro-switch.
Sa unang mode, nagpapakita lamang ito ng oras. Kung ang ilaw ng tagapagpahiwatig ay nag-flash sa 1 oras bawat segundo, patay ang alarma. Kung 2 beses bawat segundo, nakabukas ang alarma. Maaari mong i-snooze ang alarma sa loob ng 10 minuto sa unang mode sa pamamagitan ng pagpindot sa capacitance sensor.
Sa pangalawang mode, ipinapakita ang petsa. Walang ginagawa ang pagpindot sa capacitance sensor.
Sa pangatlong mode, maaari mong itakda ang timer. Ang pagpindot sa capacitance sensor ay magpapasara sa timer at dapat mong makita ang ilaw ng tagapagpahiwatig na nagsimulang mag-flashing. Ginagamit din ang sensor ng capacitance upang itakda ang oras ng timer. Ang saklaw ng timer ay 1 minuto hanggang 59 minuto.
Sa ika-apat na mode, maaari mong itakda ang oras ng alarma gamit ang capacitance sensor
Sa ikalimang mode, maaari mong itakda ang minuto ng alarma gamit ang capacitance sensor.
Sa ikaanim na mode, ang pagpindot sa capacitance sensor ay magre-reset minuto hanggang 30 at pangalawa sa 0 nang hindi binabago ang oras. Iyon ay nangangahulugang hangga't ang iyong orasan ay hindi naaanod sa loob ng 30 minuto, maaari mo itong mai-calibrate muli gamit ang mode na ito.
Ang ikapitong mode ay ang mode na walang gawin kung sakaling mag-glitch ang capacitance sensor kapag nagcha-charge.
Oh, upang maalis ang alarma, pindutin lamang ang micro-switch. (Pinakabagong UPDATE UPANG KASAMA ANG ALARM SNOOZE)
Kaya, kumusta ang pagbabasa ng orasan? Madali lang! Pagbabasa ng Binary Clock - Wikihow Maaari kang makaramdam ng kakaiba sa una, ngunit masasanay ka rito!
Hakbang 13: Konklusyon
Bakit ko sinimulan ang proyektong ito. Sa una ito ay dahil mayroon akong isang lumang digital na relo na nakahiga at nais kong gawing isang alarm clock. Sa kasamaang palad ang dating relo ay nasira na. Kaya't ako ay tulad ng bakit hindi bumuo ng isa gamit ang Arduino? Sa kaunting paghahanap sa google, nahanap ko ang proyektong ito ng binary na walang RTC na itinuturo ng Cello62. Gayunpaman, wala itong tampok na alarm clock na gusto ko, kaya kinukuha ko ang code at binago ko ito sa aking sarili. At ipinanganak ang proyekto. Bukod dito, nakita ko ang paligsahan sa orasan na tumatakbo sa itinuro kamakailan na nagbigay sa akin ng higit na pagganyak na gawin ito. Gayunpaman, ito pa rin ang aking unang proyekto gamit ang Arduino, kaya maraming mga posibleng pagpapabuti.
Pagpapabuti sa hinaharap:
1) Gumamit ng RTC
2) Itakda ang alarma o oras o timer nang wireless!
3) Anumang tampok na naiisip ko
Hakbang 14: Update: Pagkatapos ng Isang Linggong Paggamit
Bukod sa halatang problema - oras naaanod, ang susunod na sasabihin ko ay ang pagkonsumo ng kuryente. Una sa lahat, nilalakad ko ang boltahe hanggang sa 9v, na pagkatapos ay maaalis ng linear regulator sa Arduino. Ang linear regulator ay napaka-episyente. Ang orasan ay tatagal lamang sa ISANG ARAW. Iyon ay nangangahulugang kailangan kong i-recharge ito araw-araw. Hindi iyon ang pinakamalaking pakikitungo hanggang sa mapagtanto mo na ang buong sistema ay tungkol lamang sa 50% na mahusay. Dahil sa ang aking baterya ay 2000mAh, makakalkula ko ang nasayang na lakas araw-araw.
Nasayang ang lakas = (7.4Wh * 10%) + (7.4Wh * 90% * 50%) = 4.07Wh sa isang araw
Iyon ay 1.486kWh bawat taon! Maaari itong magamit upang pakuluan, uh, 283g ng tubig (mula 25 C hanggang 100 C)? Ngunit gayon pa man, pagbutihin ko ang kahusayan ng orasan. Ang paraan upang magawa ito ay hindi gamitin ang linear regulator. Nangangahulugan iyon na kailangan naming ayusin ang boost converter upang mag-output ng 5V nang direkta sa 5V pin sa Arduino. Susunod, upang mai-minimize ang lakas na nasayang pa, kailangan kong alisin ang dalawa sa board LED (pin13 at lakas), dahil masasayang ang 0.95Wh bawat araw. Sa kasamaang palad, ako ay ganap na noob sa SMD soldering kaya ang tanging paraan para magawa ko ito ay ang pagputol ng riles sa board. Pagkatapos nito, kailangan kong alisin ang risistor ng emitter sa buzzer at ang lampara sa kama (hindi gagana ang LED strip sa 5V). Ngunit nangangahulugang kailangan mong talikuran ang kamangha-manghang tampok na iyon? Hindi! Mayroon kang dalawang pagpipilian dito: Gumamit ng normal na 5mm LED diode, o gumamit ng 5V LED strip. Ngunit para sa akin, nakaramdam ako ng pagod sa paggawa ng proyektong ito sa buong nakaraang linggo, kaya't nagpasya akong talikuran ang tampok na ito. Gayunpaman, ginamit ko ang switch nang orihinal para sa tampok na ilaw para sa paglipat o pag-off sa panel ng orasan upang higit na makatipid ng enerhiya, ngunit natapos ang LED flashing kapag pinatay ko ito. Naging tampok ang bug? Hindi ko alam (Kahit sino malaman mangyaring sabihin sa akin sa ibaba).
Sa pagtatapos ng pagbabago, ang orasan ay tatagal ng higit sa 2 araw!
Susunod na mayroon akong isang hindi gaanong seryosong problema sa oras. Sa panahon ng pagsingil, ang capacitance sensor ay mababaliw, kaya nagdagdag ako ng isa pang mode na wala talagang ginagawa.
Tulad ng para sa oras na naaanod, dahil napakahirap mag-plug in sa computer araw-araw upang i-reset ito, nagdagdag ako ng isa pang mode na magtatakda ng minuto hanggang 30 at pangalawa sa 0. Iyon ay nangangahulugang maaari mong i-reset ito sa kalahating pasado anumang oras!
Inirerekumendang:
BigBit Binary Clock Display: 9 Mga Hakbang (na may Mga Larawan)
BigBit Binary Clock Display: Sa isang nakaraang Instructable (Microbit Binary Clock), ang proyekto ay perpekto bilang isang portable desktop appliance dahil ang display ay maliit. Samakatuwid tila naaangkop na ang susunod na bersyon ay dapat isang mantel o naka-mount na bersyon ngunit mas malaki
Smart Alarm Clock: isang Smart Alarm Clock na Ginawa Ng Raspberry Pi: 10 Hakbang (na may Mga Larawan)
Smart Alarm Clock: isang Smart Alarm Clock na Ginawa Ng Raspberry Pi: Nais mo na ba ang isang matalinong orasan? Kung gayon, ito ang solusyon para sa iyo! Gumawa ako ng Smart Alarm Clock, ito ay isang orasan na maaari mong baguhin ang oras ng alarma ayon sa website. Kapag pumapatay ang alarma, magkakaroon ng tunog (buzzer) at 2 ilaw ang
DIY Sesame Street Alarm Clock (may Fire Alarm!): 6 na Hakbang (na may Mga Larawan)
DIY Sesame Street Alarm Clock (may Fire Alarm!): Kumusta kayong lahat! Ang proyektong ito ang aking una. Dahil darating ang unang kaarawan ng aking mga pinsan, nais kong gumawa ng isang espesyal na regalo para sa kanya. Narinig ko mula sa tiyuhin at tiya na siya ay nasa Sesame Street, kaya't nagpasya ako kasama ang aking mga kapatid na gumawa ng isang alarm clock batay
5 $ PCB CALENDAR MAY BINARY CLOCK: 7 Mga Hakbang (na may Mga Larawan)
5 $ PCB CALENDAR MAY BINARY CLOCK: Kumusta! Ginawa ko ang kalendaryong PCB at binary na orasan na ito kasama ang Eagle CAD. Gumamit ako ng ATMEGA328P MCU (mula sa Arduino) at 9x9 LED matrix. Ang mga sukat para sa aking board ay 8cmx10cm (3.14inch x 3.34inch). Ito ay medyo masyadong maliit ngunit una: ang libreng bersyon ng Eagle CAD ay nagbibigay-daan sa 80cm ^ 2
Batay sa Arduino Binary Alarm Clock: 13 Mga Hakbang (na may Mga Larawan)
Batay sa Arduino Binary Alarm Clock: Hoy, ngayon nais kong ipakita sa iyo kung paano bumuo ng isa sa aking pinakabagong mga proyekto, ang aking binary alarm clock. Mayroong isang tonelada ng iba't ibang mga orasan ng Binary sa internet, ngunit maaaring ito ang una, na ginawa mula sa isang strip ng mga makukulay na addressable LED's,