Talaan ng mga Nilalaman:

Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino: 13 Mga Hakbang (na may Mga Larawan)
Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino: 13 Mga Hakbang (na may Mga Larawan)

Video: Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino: 13 Mga Hakbang (na may Mga Larawan)

Video: Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino: 13 Mga Hakbang (na may Mga Larawan)
Video: 24 Oras: Babae, nakaladkad ng tren ng PNR; patay 2024, Hulyo
Anonim
Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino
Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino
Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino
Oras ng Pagtataya ng Panahon Gamit ang Lumang Alarm at Arduino

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

I-disassemble ang Lahat
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

Mga Pindutan para sa Mga Setting ng Digital
Mga Pindutan para sa Mga Setting ng Digital
Mga Pindutan para sa Mga Setting ng Digital
Mga Pindutan para sa Mga Setting ng Digital
Mga Pindutan para sa Mga Setting ng Digital
Mga Pindutan para sa Mga Setting ng Digital
Mga Pindutan para sa Mga Setting ng Digital
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

Kapasitor para sa Motor
Kapasitor 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

Bagong Mukha para sa Orasan
Bagong Mukha para sa Orasan
Bagong Mukha para sa Orasan
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

Digital Display Mula sa Lumang Mobile Phone
Digital Display Mula sa Lumang Mobile Phone
Digital Display Mula sa Lumang Mobile Phone
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

Pagkonekta sa mga Circuits
Pagkonekta sa mga Circuits
Pagkonekta sa mga Circuits
Pagkonekta sa mga Circuits
Pagkonekta sa mga Circuits
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

Junction Board para sa Madaling Koneksyon
Junction Board para sa Madaling Koneksyon
Junction Board para sa Madaling Koneksyon
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

Pag-set up ng Lakas
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

Micro USB para sa Pagcha-charge at Pag-update ng Firmware
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

Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon

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

Image
Image

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.

Mga Paligsahan sa Orasan
Mga Paligsahan sa Orasan
Mga Paligsahan sa Orasan
Mga Paligsahan sa Orasan

Runner Up sa Clocks Contest

Inirerekumendang: