Sadržaj:

Vremenska prognoza Sat pomoću starog alarma i Arduina: 13 koraka (sa slikama)
Vremenska prognoza Sat pomoću starog alarma i Arduina: 13 koraka (sa slikama)

Video: Vremenska prognoza Sat pomoću starog alarma i Arduina: 13 koraka (sa slikama)

Video: Vremenska prognoza Sat pomoću starog alarma i Arduina: 13 koraka (sa slikama)
Video: STEFAN MIHIĆ SE HVATA SA ŽENOM U TOALETU! 2024, Novembar
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

Imao sam pokvaren budilnik koji je ležao okolo i došao sam na ideju da ga pretvorim u sat i stanicu za prognozu vremena.

Za ovaj projekat trebat će vam:

  • Stari kružni budilnik
  • Arduino Nano
  • BME280 senzorski modul (temperatura, vlaga, pritisak)
  • Modul LCD ekrana iz Nokije 5110
  • DS1307 RTC sat
  • TP4056 Litijumski punjač baterija
  • Stara Li-ion baterija spašena sa mobilnog telefona
  • Mali pojačivački modul od 3,7v do 5v
  • Otpornik ovisan o svjetlu (LDR - mjerač svjetlosti)
  • Zujalica (korištena sačuvana sa starog računara)
  • 3 tastera
  • Gomila otpornika (2x10k, 270 ohm) i tranzistor (2N2222A ili slično)
  • Neka široka skupljajuća cijev
  • otpadni PCB za upotrebu kao ukras 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: Dugmad za digitalne postavke

Dugmad za digitalne postavke
Dugmad za digitalne postavke
Dugmad za digitalne postavke
Dugmad za digitalne postavke
Dugmad za digitalne postavke
Dugmad za digitalne postavke
Dugmad za digitalne postavke
Dugmad za digitalne postavke

Budući da će novi sat biti potpuno digitalni sa mini računarom unutra, dodao sam 3 jednostavna dugmeta sa lijepim izgledom sa strane.

Koristeći komad aluminija, izrezao sam prekrivač kako bih stvorio naljepnicu. Slova za naljepnice stvorena su upotrebom slova i crnog markera.

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 za vrijeme alarma. Također je važno napomenuti da će se motorom upravljati preko 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ču s gomile kontejnera i upotrijebio toplinsku pištolj za brzo uklanjanje svih komponenti. Rupa u sredini napravljena je za digitalni ekran novog sata.

Korak 5: Digitalni prikaz sa starog mobilnog telefona

Digitalni ekran sa starog mobilnog telefona
Digitalni ekran sa starog mobilnog telefona
Digitalni ekran sa starog mobilnog telefona
Digitalni ekran sa starog mobilnog telefona

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

Korak 6: Spajanje krugova

Povezivanje kola
Povezivanje kola
Povezivanje kola
Povezivanje kola
Povezivanje kola
Povezivanje kola

Možda ste već pretpostavili da planiram 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. To je Arduino Nano ploča sa priključenim modulima - BME280 senzor temperature, pritiska i vlažnosti, DS1307 RTC sat, TP4056 litijumski punjač baterija, mali pojačivački modul od 3,7v do 5v, otpornik zavisan od svjetla (LDR - mjerač svjetla) i zujalica (preuzeto sa starog računara).

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 povezan direktno iz baterije preko tranzistora. Arduino kontrolira tranzistor preko otpornika i PWM pina D5.
  • Igle D7-12 se koriste za LCD konektor. Uzemljenje i VCC spojeni su na tračnicu na razvodnoj ploči.
  • LDR je instaliran na sat, a otpornik + 3 izlazne žice lemljene su na stražnjoj strani sata.
  • Za povezivanje pomoću gumba koristio sam internu PULLUP funkciju unutar Arduina. Dugme Meni je priključeno na prekid, a tek kasnije sam shvatio da i za prekid možete koristiti interni PULLUP. Prekid za dugme Meni je potreban kako kod ne bi stalno skenirao stanje dugmadi.
  • Sat će nadzirati i prikazivati i stanje baterije tako da je baterija direktno spojena na pin A0. Napon baterije nikada nije veći od 4,2 V pa je sigurno spojiti bateriju izravno na Arduino analogni pin.
  • Zvučni signal je direktno povezan 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 šine. Napravio sam i malu I2C šinu jer sam imao nekoliko modula koji su koristili I2C interfejs.

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

Neke dodatne komponente su tamo takođe lemljene, poput tranzistora i otpornika za upravljanje motorom i otpornika za dugme Meni koje koristi prekid. 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 litijum-jonsku bateriju sa svog mobilnog telefona. 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 prostorima.

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

Na ovoj slici možete vidjeti bateriju, a također i regulator punjenja 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/pritiska/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 instaliranje Micro USB priključka na stražnjoj strani. Zašto Micro USB ako Nano koristi Mini USB? Jednostavno zato što u domaćinstvu većina USB kabela dolazi s mobitela i bilo bi zgodno da sat to može uzeti i to.

Budući da sam ga htio koristiti i za punjenje i za ažuriranje funkcija sata i vremenske stanice - skinuo sam USB kabel, provukao žice za napajanje kroz punjač TP4056 i žice Data+/Data izravno u 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

Došao je trenutak da se sve spakuje 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: Kodeks

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)
  • Ekran svetli u mračnim uslovima ili kada se detektuje kretanje (na osnovu promena svetlosti)
  • Vremenska prognoza (sunčano, oblačno, kišno)
  • Prikaz temperature, pritiska i vlažnosti (za vlažnost će se pokazati je li previše suha)
  • Meni 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 obavještenja

Najnoviji kod:

Kôd će se ubuduće ažurirati novim značajkama, stoga 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 biblioteke koje se koriste u ovom projektu
  • Preuzmite sa GitHub -a i prenesite najnoviji kôd projekta na sat pomoću mikro USB kabla (možete ga koristiti sa mobilnog telefona)

Algoritam predviđanja je sljedeći:

Arduino Nano dobiva nove podatke sa BME280 senzora svakih 12 minuta. Ciklus merenja je 3 sata. Nakon 3 sata raspon nadzora pritiska (maksimalna i minimalna vrijednost tokom 3 sata) se pomiče u odnosu na prosječne vrijednosti tokom trenutnog raspona i trenutne vrijednosti pritiska. Svaki sat se sprema smjer promjene pritiska sa trenutnom vrijednošću pritiska. Za proračun predviđanja koriste se jedinice kPa.

Zbog memorijskih ograničenja Nano -a, algoritam predviđanja morao je biti pojednostavljen. No, uprkos pojednostavljenjima, može predvidjeti padavine u sljedećih 12-24 sata, iako je prognoza sada pesimističnija - zadana vrijednost je "Oblačno vrijeme".

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

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

Da biste poboljšali kvalitetu predviđanja, preporučuje se da promijenite "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, sa moje tačke gledišta, nivo težine ovog projekta nije visok i svako bi 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.

Takmičenje u satovima
Takmičenje u satovima
Takmičenje u satovima
Takmičenje u satovima

Drugoplasirani na takmičenju Satovi

Preporučuje se: