Talaan ng mga Nilalaman:
- Hakbang 1: I-disassemble ang Lahat
- Hakbang 2: Mga Pindutan para sa Mga Setting ng Digital
- Hakbang 3: Capacitor para sa Motor
- Hakbang 4: Bagong Mukha para sa Orasan
- Hakbang 5: Digital Display Mula sa Lumang Mobile Phone
- Hakbang 6: Pagkonekta sa mga Circuits
- Hakbang 7: Junction Board para sa Madaling Koneksyon
- Hakbang 8: Pag-set up ng Lakas
- Hakbang 9: Micro USB para sa Pagcha-charge at Pag-update ng Firmware
- Hakbang 10: Pangwakas na Assembly
- Hakbang 11: Ang Code
- Hakbang 12: Sunud-sunod na Video
- Hakbang 13: Pangwakas na Mga Salita
Video: Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino: 13 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Nagkaroon ako ng sirang alarm clock na nakahiga at nagkaroon ng ideya na i-convert ito sa istasyon ng forecasting ng orasan at panahon.
Para sa proyektong ito kakailanganin mo:
- Lumang pabilog na orasan ng alarma
- Arduino Nano
- Modul ng sensor ng BME280 (temp, kahalumigmigan, presyon)
- LCD module ng pagpapakita mula sa Nokia 5110
- Oras ng DS1307 RTC
- TP4056 Lithium charger ng baterya
- Ang lumang baterya ng Li-ion ay nagsalvage mula sa mobile phone
- Maliit na 3.7v hanggang 5v booster module
- Light Dependent Resistor (LDR - light meter)
- Buzzer (ginamit na salvaged isa mula sa lumang PC)
- 3 push button
- Isang bungkos ng resistors (2x10k, 270 ohm) at isang transistor (2N2222A o katulad)
- Ilang malawak na tubong pag-urong
- scrap PCB upang magamit bilang dekorasyon sa plato sa harap
- Micro-USB extension cable (kapwa babae at lalaki na panig ay Micro-USB)
- 2x8cm prototype board at ilang mga wire
Hakbang 1: I-disassemble ang Lahat
Una kong na-disassemble ang dating relo. Mga kampanilya, motor, sirang mekanismo ng orasan…
Hakbang 2: Mga Pindutan para sa Mga Setting ng Digital
Dahil ang bagong orasan ay magiging ganap na digital na may isang mini-computer sa loob, nagdagdag ako ng 3 simpleng mga kaakit-akit na mga pindutan sa gilid.
Gamit ang isang piraso ng aluminyo na pinutol ko ang overlay upang lumikha ng isang label. Ang mga titik para sa mga label ay nilikha sa pamamagitan ng paggamit ng mga titik-suntok at isang itim na marker.
Hakbang 3: Capacitor para sa Motor
Itatago ko ang mga lumang kampanilya upang mapatakbo ang alarma sa motor. Ang matandang sirang mekanismo ng orasan ay mayroong ceramic capacitor na may tatak 104. Inalis ko ito mula sa circuit board at diretso ito sa motor - makakatulong ito na maiwasan ang mga spike ng kuryente kapag binuksan ang motor habang nag-aalarma. Mahalaga ring tandaan ay ang motor ay makokontrol sa pamamagitan ng transistor ngunit higit pa sa paglaon.
Hakbang 4: Bagong Mukha para sa Orasan
Dahil nagpasya akong gumawa ng isang bagong mukha para sa orasan - kumuha ako ng circuit board mula sa aking dumpster pile at gumamit ng isang builder heatgun upang mabilis na matanggal ang lahat ng mga sangkap. Ang butas sa gitna ay ginawa para sa digital na screen ng bagong orasan.
Hakbang 5: Digital Display Mula sa Lumang Mobile Phone
Para sa proyektong ito nagpasya akong gumamit ng isang LCD screen mula sa lumang Nokia 5110 mobile phone. Ang mga screen na ito ay malawak na magagamit para sa pagbebenta bilang isang module, nakakakuha sila ng napakakaunting lakas at may magagaling na mga aklatan para sa Arduino. Kung bibili ka ng isang bagong module na may 5110 screen - nai-save mo ang planeta dahil ang lahat ng mga bagong module ay nilikha mula sa na-salvage na 5110, 3110 at 3210 na mga telepono!
Hakbang 6: Pagkonekta sa mga Circuits
Maaaring nahulaan mo na na nagpaplano akong gamitin ang Arduino board upang makontrol ang orasan na ito. Ang proyekto ay madaling maulit kahit para sa mga nagsisimula na mga tagahanga ng Arduino dahil hindi ako lumikha ng aking sariling mga circuit board. Ito ay isang Arduino Nano board na may mga module na nakakonekta dito - temperatura ng BME280, sensor ng presyon at kahalumigmigan, orasan ng DS1307 RTC, charger ng baterya ng TP4056 Lithium, maliit na 3.7v hanggang 5v booster module, Light Dependent Resistor (LDR - light meter) at isang buzzer (kinuha mula sa lumang PC).
Tingnan din ang mga sketch - ipinapakita nila ang lahat ng mga koneksyon. Sa palagay ko ang lahat ay napakadaling basahin at maunawaan ngunit kung mayroon kang anumang mga katanungan magtanong lamang sa mga komento sa ibaba.
Ilang tala tungkol sa pag-set up:
- Ang motor ay konektado direkta mula sa baterya sa pamamagitan ng transistor. Kinokontrol ng Arduino ang transistor sa pamamagitan ng risistor at PWM pin D5.
- Ginagamit ang mga Pin D7-12 para sa konektor ng LCD. Ang ground at VCC ay konektado sa riles sa junction board.
- Ang LDR ay na-install sa clockface at ang resistor + 3 mga papalabas na wires ay na-solder mismo sa likod ng mukha ng orasan.
- Para sa koneksyon ng pindutan ginamit ko ang panloob na pag-andar ng PullUP sa loob ng Arduino. Ang pindutan ng Menu ay naka-attach sa makagambala at napagtanto ko lamang sa paglaon na maaari mo ring gamitin ang panloob na PULLUP para sa makagambala din. Ang makagambala para sa pindutan ng Menu ay kinakailangan upang ang code ay hindi mai-scan ang estado ng mga pindutan sa lahat ng oras.
- Ang relo ay susubaybayan at ipapakita din ang estado ng baterya kaya ang baterya ay direktang konektado sa pin A0. Ang boltahe ng baterya ay hindi kailanman mas mataas kaysa sa 4.2V kaya't ligtas na ikonekta ang baterya nang direkta sa Arduino analog pin.
- Ang Buzzer ay direktang konektado sa PWM pin D6. Bagaman hindi ito isang mahusay na kasanayan, nakaligtas ako dito dahil maaaring hawakan ng Arduino Nano ang mas mataas na spec kaysa sa nakasaad at dahil din sa buzzer ay hindi patuloy na gagana. Ang parehong pag-setup ay madaling masunog ang mga pin sa mga board ng ESP kaya sa mga kasong iyon inirerekumenda ko ang paggamit ng kontrol ng transistor.
- Ang orasan ay mayroon nang switch kaya't napagpasyahan kong gamitin ito. Mukha itong likas sa likod.
Hakbang 7: Junction Board para sa Madaling Koneksyon
Ang lahat ng mga module ay nangangailangan ng positibo at ground koneksyon kaya't nagpasya akong gumamit ng 2x8cm prototype board at soldered 5V at Ground rails dito. Gumawa din ako ng isang maliit na riles ng I2C doon din dahil mayroon akong maraming mga module na gumagamit ng I2C interface.
Sa kabilang panig ay naghinang ako ng mga pamantayang pin upang maaari kong ikonekta at idiskonekta ang mga module kung kinakailangan.
Ang ilan sa mga karagdagang bahagi ay na-solder din doon tulad ng transistor at resistor para sa motor control at isang resistor para sa Menu button na gumagamit ng Interrupt. Ipinakita ko ang mga iskema sa nakaraang seksyon.
btw Maaari mo bang makita ang naka-install na LDR sensor sa mukha ng orasan sa unang larawan?
Hakbang 8: Pag-set up ng Lakas
Gumamit ako ng isang lumang baterya ng Lithium-ion mula sa aking cellphone upang mapagana ang orasan na ito. Kadalasan ang mga baterya ng mobile phone na pinalitan ay may mahusay na kakayahan sa kanila (hindi bababa sa kalahati ng kung ano ito noong bago). Ang kanilang kalamangan ay mayroon silang isang built-in na circuit ng proteksyon ng paglabas at ang mga ito ay napaka payat din upang magamit sa maliliit na sitwasyon sa puwang.
Upang ikonekta ang baterya ay solder mo lang ang mga wire sa + at - mga pin sa baterya. Huwag mag-alala, hindi mo mapinsala ang cell dahil mayroong isang controller at ilang walang laman na puwang sa pagitan ng mga pin at mga kemikal ng cell.
Sa larawang ito maaari mong makita ang baterya at pati na rin ang tagakontrol ng TP4056 pati na rin ang 5V booster na konektado magkasama at sa baterya. Gumamit ako ng kaunting shrink-wrap tubing upang ang lahat ay ihiwalay at siksik.
Hakbang 9: Micro USB para sa Pagcha-charge at Pag-update ng Firmware
Kapag na-solder ko na ang lahat, idinikit ko ang buzzer at temp / pressure / halumigmig na sensor sa likod ng panel. Lahat sila ay nilagyan ng maayos sa mga mayroon nang mga puwang mula sa mga lumang kontrol sa dial ng orasan.
Panahon na ngayon upang mai-install ang Micro USB port sa likuran. Bakit Micro USB kung gumagamit si Nano ng Mini USB? Dahil lamang sa sambahayan, ang karamihan sa mga USB cable ay mula sa mga cellphone at maginhawa kung nakuha din ng orasan.
Dahil nais kong gamitin ito para sa parehong pagsingil at pag-update ng mga pag-andar ng orasan at istasyon ng panahon - Inalis ko ang USB cable, naipatakbo ang mga wire ng kuryente sa pamamagitan ng TP4056 charger at Data + / Data- wires nang direkta sa USB socket ng Arduino Nano. Maaari mo itong makita sa eskematiko na ipinakita ko sa mga nakaraang seksyon.
Hakbang 10: Pangwakas na Assembly
Panahon na ngayon upang mai-pack ang lahat sa orihinal na orasan. Gumamit ako ng shrink tube upang ihiwalay ang mga bahagi at modyul. Kahit na ang Arduino ay nakabalot sa tubong pag-urong.
Mag-hover sa unang larawan upang makita kung saan inilagay ang bawat bahagi.
Hakbang 11: Ang Code
Tulad ng nakikita mo, ang orasan ay ganap na naka-pack sa loob. Pinapayagan itong lumikha ng isang bagay na mas sopistikado kaysa sa dating orasan na mayroon ako - na ibinigay na may ilang mga kasanayan sa programa syempre. Sinulat ko ang paunang code ngunit hiniling ko sa aking kaibigan na tumulong at tulungan ako.
Sa ngayon, bukod sa oras mismo, ito ang mga pagpapaandar na sinusuportahan na ng proyektong ito:
- Pagpapakita ng oras at petsa (pati na rin oras at pag-activate ng alarma sa parehong screen)
- Nag-iilaw ang screen sa madilim na mga kondisyon o kapag nakita ang paggalaw (batay sa mga pagbabago ng ilaw)
- Weather forecast (Maaraw, Maulap, Maulan)
- Pagpapakita ng temperatura, presyon at kahalumigmigan (para sa halumigmig ito ay ipahiwatig kung ito ay masyadong tuyo)
- Menu para sa mga setting: alarma, pagbabago ng oras, paganahin / huwag paganahin ang pagpapakita ng petsa, paganahin / huwag paganahin ang mga pagbabago sa tunog na mga notification at lumipat sa pagitan ng mga yunit ng imperyal at sukatan
- Mga setting ng alarm - on / off, pagtatakda ng oras, pagtatakda ng himig at / o mga kampanilya para sa mga notification
Pinakabagong code:
Ang code ay maa-update sa hinaharap na may mga bagong tampok kaya tiyaking suriin muli para sa mga pag-update ng firmware:-)
Kung bago ka sa mundo ng Arduino, ito ang mga hakbang na inirerekumenda kong gawin:
- Mag-install ng USB driver para sa iyong board (hal. CH340)
- I-install ang Arduino IDE
- Mag-install ng mga library na ginamit sa proyektong ito
- Mag-download mula sa GitHub at i-upload ang pinakabagong Code ng proyekto sa oras gamit ang Micro USB cable (maaari mong gamitin ang isa mula sa mobile phone)
Ang forecasting algorithm ay ang sumusunod:
Ang Arduino Nano ay nakakakuha ng bagong data mula sa sensor ng BME280 bawat 12 minuto. Ang siklo ng pagsukat ay 3 oras. Pagkatapos ng 3 oras ang saklaw ng pagsubaybay sa presyon (max at min na halaga sa loob ng 3 oras) ay nagbabago kaugnay sa average na mga halaga sa kasalukuyang saklaw at kasalukuyang halaga ng presyon. Bawat oras ang direksyon ng pagbabago ng presyon na may kasalukuyang halaga ng presyon ay nai-save. Ginagamit ang mga unit ng kPa para sa pagkalkula ng pagtataya.
Dahil sa mga limitasyon ng memorya ng Nano ang forecasting algorithm ay dapat gawing simple. Ngunit sa kabila ng mga pagpapasimple, nakakapagtaya ng pag-ulan sa susunod na 12-24 na oras kahit na ang pagtataya ngayon ay mas wala nang pag-asa - ang default na halaga ay "Maulap na Panahon".
"Maaraw na Panahon" - ang kasalukuyang halaga ng presyon ay mas mataas kaysa sa pamantayan ng 7 puntos, ang presyon ay hindi bumabagsak at ang pagkakaiba sa pagitan ng mga min at max na halaga sa huling 3 oras ay hindi hihigit sa 2 puntos.
Posibleng pag-ulan "Panahon ng Umuulan" - ang kasalukuyang presyon ay 15 puntos na mas mababa kaysa sa pamantayan at ang pagkakaiba sa pagitan ng mga halaga ng min & max ay higit sa 2 puntos O Bumabagsak ang presyon at ang pagkakaiba sa pagitan ng kasalukuyang halaga at pamantayan ay 3 - 30 puntos.
Upang mapabuti ang kalidad ng pagtataya inirerekumenda na baguhin ang iyong "altitude" sa pangunahing file ng code. Maaari mong makuha ang iyong altitude halimbawa dito:
Hakbang 12: Sunud-sunod na Video
Kung mahirap sundin ang ginawa ko sa itaas, narito rin ang isang bersyon ng video kasama ang lahat ng mga hakbang na ipinakita.
Hakbang 13: Pangwakas na Mga Salita
Sa pangkalahatan, sa aking pananaw, ang antas ng paghihirap ng proyektong ito ay hindi mataas at maaaring gawin ito ng sinuman. Kung wala kang isang lumang orasan, mahahanap mo ang isang murang sa isang lokal na merkado ng pulgas.
Ang lahat ng mga bahagi ay mababang presyo at magagamit sa Sparkfun / Aliexpress / eBay / Amazon.
Umaasa ako na ang tutorial na ito ay kagiliw-giliw sa iyo at nagpapasalamat kung maaari mong suportahan ang aking unang Makatuturo sa paligsahan sa Clock.
Runner Up sa Clocks Contest
Inirerekumendang:
Display ng Pagtataya ng Panahon ng Art Deco: 9 Mga Hakbang (na may Mga Larawan)
Pagpapakita ng Pagtataya ng Panahon ng Art Deco: Kamusta Mga Kaibigan, sa Instructable na ito ay makakakita kami ng mainit upang maitayo ang Display Forecast ng Panahon. Gumagamit ito ng isang mini board ng Wemos D1 kasama ang isang 1.8 "Kulay ng TFT screen upang ipakita ang pagtataya ng panahon. Dinisenyo ko rin at 3d naka-print ang isang enclosure para sa
Ang WunderThing: isang Pinapatakbo ng Baterya, Magnetic, ESP8266 Pagtataya ng Panahon sa IoThing !: 6 Mga Hakbang
Ang WunderThing: isang Pinapatakbo ng Baterya, Magnetic, ESP8266 Pagtataya ng Panahon sa IoThing !: Kumusta, Para sa aking kauna-unahang itinuro hayaan mong sabihin ko sa iyo ang tungkol sa Isang Wunderful Thing. Ito ay isang medyo kamakailan-lamang na proyekto kung saan ang aking layunin ay upang bumuo ng isang pagtataya ng panahon magnet magnet! Ang tagapamahala ng pagpipilian para sa proyektong ito ay Sparkfun's Thing,
Pagtataya ng Panahon sa Beacon: 4 na Hakbang (na may Mga Larawan)
Pagtataya ng Panahon ng Beacon: Sa proyektong ito, nagpapakita ako ng isang modelo mula sa isang lokal na lagayan ng panahon na ginawa ko gamit ang 3D na pag-print, mga guhon ng LED, isang supply ng kuryente at isang Arduino board na may koneksyon sa wifi upang ma-access ang taya ng panahon sa susunod na araw. Ang pangunahing layunin ng
Pagtataya ng Panahon ng Ulap: 11 Mga Hakbang (na may Mga Larawan)
Ulat sa Pagtataya ng Panahon: Gumagawa ang proyektong ito ng ulap ng panahon gamit ang isang Raspberry Pi Zero W. Kumokonekta ito sa Yahoo Weather API at depende sa forecast para sa susunod na araw na nagbabago ng mga kulay. Naging inspirasyon ako ng Wisconsin Gas Building na may apoy sa bubong na nagbabago
3-Araw na Pagtataya ng Panahon ng Panahon: 4 na Hakbang
3-Araw na Pagtataya ng Panahon ng Panahon: Ang 3-Araw na Pagtataya ng Panahon ng Panahon ay nagbibigay ng isang komprehensibong 3-araw na pagtataya ng panahon sa iyong nais na lokasyon o batay sa lokasyon ng iyong IP address. Gumagamit ang proyekto ng serbisyo sa Wunderground Weather API na nagbibigay ng mga tugon sa format na JSON tuwing