Sadržaj:

Sat za vremensku prognozu pomoću starog alarma i Arduina: 13 koraka (sa slikama)
Sat za vremensku prognozu pomoću starog alarma i Arduina: 13 koraka (sa slikama)

Video: Sat za vremensku prognozu pomoću starog alarma i Arduina: 13 koraka (sa slikama)

Video: Sat za vremensku prognozu pomoću starog alarma i Arduina: 13 koraka (sa slikama)
Video: Ako imate Xiaomi telefon EVO COOL TRIKOVA! 2024, Studeni
Anonim
Sat za vremensku prognozu koristeći Old Alarm i Arduino
Sat za vremensku prognozu koristeći Old Alarm i Arduino
Sat za vremensku prognozu koristeći Old Alarm i Arduino
Sat za vremensku prognozu koristeći Old Alarm i Arduino

Ležao sam pokvaren budilica i došao sam na ideju da ga pretvorim u sat i postaju za prognozu vremena.

Za ovaj projekt trebat će vam:

  • Stara kružna budilica
  • Arduino Nano
  • BME280 senzorski modul (temperatura, vlaga, tlak)
  • Modul LCD zaslona iz Nokije 5110
  • DS1307 RTC sat
  • TP4056 Litijski punjač baterija
  • Stara Li-ion baterija spašena s mobilnog telefona
  • Mali pojačivački modul od 3,7 do 5 V.
  • Otpornik ovisan o svjetlu (LDR - mjerač svjetla)
  • Zujalica (korištena sačuvana sa starog računala)
  • 3 tipke
  • Hrpa otpornika (2x10k, 270 ohma) i tranzistor (2N2222A ili slično)
  • Neka široka skupljajuća cijev
  • otpadnu PCB ploču za ukrašavanje prednje ploče
  • Micro-USB produžni kabel (ženska i muška strana su Micro-USB)
  • 2x8 cm prototipna ploča i neke žice

Korak 1: Rastavite sve

Rastavite sve
Rastavite sve

Prvo sam rastavio stari sat. Zvona, motor, pokvareni mehanizam sata …

Korak 2: Gumbi za digitalne postavke

Gumbi za digitalne postavke
Gumbi za digitalne postavke
Gumbi za digitalne postavke
Gumbi za digitalne postavke
Gumbi za digitalne postavke
Gumbi za digitalne postavke
Gumbi za digitalne postavke
Gumbi za digitalne postavke

Budući da će novi sat biti potpuno digitalni s mini računalom unutra, dodao sam 3 jednostavna gumba lijepog izgleda sa strane.

Koristeći komad aluminija, izrezao sam sloj kako bih stvorio naljepnicu. Slova za naljepnice stvorena su upotrebom slova i crnim markerom.

Korak 3: Kondenzator za motor

Kondenzator za motor
Kondenzator za motor

Zadržat ću stara zvona za napajanje alarma motorom. Stari pokvareni satni mehanizam imao je keramički kondenzator s oznakom 104. Uklonio sam ga s ploče i lemio izravno na motor - to će pomoći u sprječavanju skokova struje pri uključivanju motora tijekom alarma. Također je važno napomenuti da će se motor upravljati putem tranzistora, ali o tome kasnije.

Korak 4: Novo lice sata

Novo lice sata
Novo lice sata
Novo lice sata
Novo lice sata

Budući da sam odlučio napraviti novo lice za sat - uzeo sam pločicu s gomile kontejnera i upotrijebio toplinsku pištolj za gradnju za brzo uklanjanje svih komponenti. Rupa u sredini napravljena je za digitalni ekran novog sata.

Korak 5: Digitalni zaslon sa starog mobilnog telefona

Digitalni zaslon sa starog mobilnog telefona
Digitalni zaslon sa starog mobilnog telefona
Digitalni zaslon sa starog mobilnog telefona
Digitalni zaslon sa starog mobilnog telefona

Za ovaj projekt odlučio sam koristiti LCD ekran sa starog mobilnog telefona Nokia 5110. Ovi su zasloni široko dostupni za prodaju kao moduli, troše vrlo malo energije, a za Arduino postoje dobre knjižnice. Ako kupujete novi modul s zaslonom 5110 - spašavate planet jer su svi novi moduli stvoreni od spašenih telefona 5110, 3110 i 3210!

Korak 6: Spajanje krugova

Spajanje krugova
Spajanje krugova
Spajanje krugova
Spajanje krugova
Spajanje krugova
Spajanje krugova

Možda ste već pretpostavili da sam planirao koristiti Arduino ploču za upravljanje ovim satom. Projekt je lako ponovljiv čak i za početnike Arduino fanove jer nisam stvorio vlastite ploče. Radi se o Arduino Nano ploči s priključenim modulima - BME280 osjetnikom temperature, tlaka i vlažnosti, DS1307 RTC satom, TP4056 punjačem litijeve baterije, malim pojačivačkim modulom od 3,7v do 5v, otpornikom ovisnim o svjetlu (LDR - mjerač svjetla) i zujalicom (preuzeto sa starog računala).

Pogledajte i skice - one prikazuju sve veze. Mislim da je sve vrlo lako za čitanje i razumijevanje, ali ako imate pitanja, pitajte ih u komentarima ispod.

Nekoliko napomena o postavljanju:

  • Motor je spojen izravno iz baterije preko tranzistora. Arduino kontrolira tranzistor kroz otpornik i PWM pin D5.
  • Igle D7-12 služe za LCD priključak. Uzemljenje i VCC spojeni su na tračnicu na spojnoj ploči.
  • LDR je instaliran na sat, a otpornik + 3 izlazne žice lemljene su na stražnjoj strani sata.
  • Za povezivanje s gumbima koristio sam unutarnju funkciju PULLUP unutar Arduina. Gumb Izbornik priključen je na prekid, a tek kasnije sam shvatio da i za prekid možete koristiti unutarnji PULLUP. Prekid za gumb Izbornik potreban je kako kôd ne skenira stanje gumba cijelo vrijeme.
  • Sat će pratiti i prikazivati i stanje baterije tako da je baterija izravno spojena na pin A0. Napon baterije nikada nije veći od 4,2 V pa je sigurno spojiti bateriju izravno na analogni pin Arduino.
  • Zujalica je izravno spojena na PWM pin D6. Iako ovo nije dobra praksa, izvukao sam se s tim jer je Arduino Nano mogao podnijeti veće specifikacije od navedenog, a također i zato što zujalica neće neprestano raditi. Isti bi postav lako zapalio pinove na ESP pločama pa u tim slučajevima preporučujem korištenje kontrolera tranzistora.
  • Sat je već imao prekidač pa sam ga odlučio koristiti. Na leđima izgleda prirodno.

Korak 7: Spojna ploča za jednostavno povezivanje

Spojna ploča za jednostavno povezivanje
Spojna ploča za jednostavno povezivanje
Spojna ploča za jednostavno povezivanje
Spojna ploča za jednostavno povezivanje

Svi moduli zahtijevaju pozitivne i uzemljene veze pa sam odlučio koristiti prototipnu ploču 2x8 cm i na nju lemio 5V i uzemljene tračnice. Napravio sam i malu I2C šinu jer sam imao nekoliko modula koji su koristili I2C sučelje.

S druge strane sam lemio standardne igle kako bih mogao po potrebi spojiti i odspojiti module.

Tu su lemljene i neke dodatne komponente, poput tranzistora i otpornika za upravljanje motorom i otpornika za gumb Izbornik koji koristi Interrupt. Sheme sam prikazao u prethodnom odjeljku.

btw Možete li vidjeti LDR senzor koji je već instaliran na satu na prvoj slici?

Korak 8: Postavljanje napajanja

Postavljanje napajanja
Postavljanje napajanja

Za napajanje ovog sata koristio sam staru litij-ionsku bateriju s mobitela. Obično zamijenjene baterije mobilnog telefona i dalje imaju dobar kapacitet (barem polovicu onoga što je bilo novo). Njihova je prednost to što imaju ugrađen krug zaštite od pražnjenja, a također su i vrlo tanki pa se mogu koristiti u malim scenarijima prostora.

Za spajanje baterije jednostavno lemite žice na + i - pinove na bateriji. Ne brinite, nećete oštetiti ćeliju jer postoji kontroler i neki prazan prostor između iglica i kemikalija u ćeliji.

Na ovoj slici možete vidjeti bateriju, a također i regulator napunjenosti TP4056, kao i pojačivač snage 5V spojen zajedno na bateriju. Koristio sam neke skupljajuće cijevi da sve bude izolirano i kompaktno.

Korak 9: Mikro USB za punjenje i ažuriranje firmvera

Mikro USB za punjenje i ažuriranje firmvera
Mikro USB za punjenje i ažuriranje firmvera

Nakon što sam sve zalemio, zalijepio sam zujalicu i senzor temperature/tlaka/vlažnosti na stražnju ploču. Svi su se lijepo uklopili u postojeće utore starih kontrola brojčanika na satu.

Sada je došlo vrijeme za ugradnju Micro USB priključka na stražnju stranu. Zašto Micro USB ako Nano koristi Mini USB? Jednostavno zato što u kućanstvu većina USB kabela dolazi s mobitela i bilo bi zgodno da i sat to može uzeti.

Budući da sam ga htio upotrijebiti i za punjenje i za ažuriranje funkcija sata i vremenske postaje - skinuo sam USB kabel, napajao žice za napajanje kroz punjač TP4056 i žice Data+/Data izravno na USB utičnicu Arduino Nano. To možete vidjeti na shemi koju sam prikazao u prethodnim odjeljcima.

Korak 10: Završna montaža

Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština

Bilo je vrijeme da sve spakiramo natrag u originalni sat. Koristio sam skupljajuću cijev za izolaciju komponenti i modula. Čak je i Arduino bio umotan u skupljajuću cijev.

Zadržite pokazivač miša na prvoj fotografiji da vidite gdje je svaka komponenta postavljena.

Korak 11: Kôd

Kao što vidite, sat je potpuno upakovan unutra. To je omogućilo stvaranje nečeg sofisticiranijeg od starog sata koji sam imao - s obzirom da naravno postoje neke vještine programiranja. Napisao sam početni kôd, ali sam zamolio prijatelja da mi uđe i pomogne.

Zasad, osim samog sata, ovo su funkcije koje ovaj projekt već podržava:

  • Prikaz vremena i datuma (kao i vrijeme i aktiviranje alarma na istom ekranu)
  • Zaslon svijetli u mračnim uvjetima ili kada se detektira kretanje (na temelju promjena svjetla)
  • Vremenska prognoza (sunčano, oblačno, kišno)
  • Prikaz temperature, tlaka i vlažnosti (za vlažnost će se pokazati je li presuha)
  • Izbornik za postavke: alarm, promjena vremena, omogućavanje/onemogućavanje prikaza datuma, omogućavanje/onemogućavanje zvučnih obavijesti o promjeni vremena i prebacivanje između imperijalnih i metričkih jedinica
  • Postavke alarma - uključivanje/isključivanje, postavljanje vremena, postavljanje melodije i/ili zvona za obavijesti

Najnoviji kod:

Kôd će se ubuduće ažurirati novim značajkama pa provjerite ima li ažuriranja firmvera:-)

Ako ste tek počeli s Arduino svijetom, preporučujem vam sljedeće korake:

  • Instalirajte USB upravljački program za svoju ploču (npr. CH340)
  • Instalirajte Arduino IDE
  • Instalirajte knjižnice korištene u ovom projektu
  • Preuzmite s GitHub -a i prenesite najnoviji kôd projekta na sat pomoću mikro USB kabela (možete ga koristiti s mobilnog telefona)

Algoritam predviđanja je sljedeći:

Arduino Nano svakih 12 minuta dobiva nove podatke od BME280 senzora. Ciklus mjerenja je 3 sata. Nakon 3 sata raspon nadzora tlaka (maksimalna i minimalna vrijednost tijekom 3 sata) pomiče se u odnosu na prosječne vrijednosti tijekom trenutnog raspona i vrijednosti trenutnog tlaka. Svaki sat se sprema smjer promjene tlaka s trenutnom vrijednošću tlaka. Jedinice kPa koriste se za izračun predviđanja.

Zbog memorijskih ograničenja Nano -a, algoritam predviđanja morao je biti pojednostavljen. No, unatoč pojednostavljenjima, u mogućnosti je prognozirati oborine u sljedećih 12-24 sata iako je prognoza sada pesimističnija - zadana vrijednost je "Cloudy Weather".

"Sunčano vrijeme" - trenutna vrijednost tlaka veća je od norme za 7 bodova, tlak ne pada, a razlika između min i max vrijednosti u posljednja 3 sata nije veća od 2 boda.

Moguće oborine "Rainy Weather" - trenutni tlak je 15 bodova niži od norme, a razlika između min & max vrijednosti veća je od 2 boda ILI Tlak pada, a razlika između trenutne vrijednosti i norme je 3 - 30 bodova.

Kako bi se poboljšala kvaliteta predviđanja, preporučuje se promijeniti "visinu" u datoteci glavnog koda. Na primjer, svoju visinu možete dobiti ovdje:

Korak 12: Video korak po korak

Image
Image

Ako je bilo teško slijediti ono što sam gore napravio, evo i video verzije sa svim prikazanim koracima.

Korak 13: Završne riječi

Sveukupno, s moga gledišta, razina težine ovog projekta nije velika i svatko bi to mogao uspjeti. Ako nemate stari sat, možete ga pronaći jeftino na lokalnoj buvljaku.

Sve komponente su niske cijene i dostupne su na Sparkfun/Aliexpress/eBay/Amazon.

Nadam se da vam je ovaj vodič bio zanimljiv i bio bih vam zahvalan ako biste podržali moje prvo natjecanje Instructable in the Clock.

Natjecanje satova
Natjecanje satova
Natjecanje satova
Natjecanje satova

Drugoplasirani na natjecanju satova

Preporučeni: