Kazalo:
- 1. korak: Razstavite vse
- 2. korak: Gumbi za digitalne nastavitve
- Korak: Kondenzator za motor
- 4. korak: Nov obraz za uro
- 5. korak: Digitalni zaslon iz starega mobilnega telefona
- 6. korak: Priključitev vezij
- 7. korak: Spojna plošča za enostavne povezave
- 8. korak: Nastavitev napajanja
- 9. korak: Mikro USB za polnjenje in posodabljanje vdelane programske opreme
- 10. korak: Končna montaža
- 11. korak: Koda
- 12. korak: Videoposnetek po korakih
- Korak: Zadnje besede
Video: Ura vremenske napovedi z uporabo starega alarma in Arduina: 13 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Imel sem pokvarjeno budilko in prišel sem na idejo, da bi jo spremenil v uro in postajo za napovedovanje vremena.
Za ta projekt boste potrebovali:
- Stara okrogla budilka
- Arduino Nano
- Senzorski modul BME280 (temp, vlaga, tlak)
- Modul LCD zaslona Nokia 5110
- Ura DS1307 RTC
- TP4056 Polnilnik litijevih baterij
- Staro litij-ionsko baterijo, rešeno iz mobilnega telefona
- Majhen ojačevalni modul od 3,7 do 5 V.
- Odvisno od svetlobe upor (LDR - merilnik svetlobe)
- Zvočni signal (rabljen, shranjen iz starega računalnika)
- 3 gumbi
- Kup uporov (2x10k, 270 ohm) in tranzistor (2N2222A ali podobno)
- Nekaj široke skrčne cevi
- ostanki PCB za dekoracijo sprednje plošče
- Podaljšek Micro-USB (ženska in moška stran sta Micro-USB)
- 2x8 cm prototipna plošča in nekaj žic
1. korak: Razstavite vse
Najprej sem razstavil staro uro. Zvonovi, motor, pokvarjen mehanizem ure …
2. korak: Gumbi za digitalne nastavitve
Ker bo nova ura popolnoma digitalna z mini računalnikom v notranjosti, sem ob strani dodal 3 preproste lepe gumbe.
Z rezanim kosom aluminija sem izrezal prekrivni sloj, da sem ustvaril etiketo. Črke za nalepke so bile ustvarjene z uporabo črk in črnega označevalca.
Korak: Kondenzator za motor
Za zvok alarma z motorjem bom ohranil stare zvonove. Stari pokvarjeni mehanizem ure je imel keramični kondenzator z oznako 104. Odstranil sem ga s tiskanega vezja in ga spajkal neposredno na motor - to bo pomagalo preprečiti prenapetost pri vklopu motorja med alarmom. Pomembno je tudi omeniti, da bo motor krmiljen preko tranzistorja, o tem pa kasneje.
4. korak: Nov obraz za uro
Ker sem se odločil, da bom za uro naredil nov obraz - iz koša za smeti sem vzel vezje in z gradbeno toplotno pištolo hitro odstranil vse komponente. Luknja na sredini je narejena za digitalni zaslon nove ure.
5. korak: Digitalni zaslon iz starega mobilnega telefona
Za ta projekt sem se odločil uporabiti LCD zaslon starega mobilnega telefona Nokia 5110. Ti zasloni so široko na voljo za prodajo kot modul, porabijo zelo malo energije in za Arduino obstajajo dobre knjižnice. Če kupujete nov modul z zaslonom 5110 - rešujete planet, ker so vsi novi moduli ustvarjeni iz rešenih telefonov 5110, 3110 in 3210!
6. korak: Priključitev vezij
Morda ste že uganili, da nameravam za nadzor te ure uporabiti ploščo Arduino. Projekt je enostavno ponovljiv tudi za začetnike Arduino navdušence, ker nisem ustvaril lastnih vezij. To je plošča Arduino Nano z priključenimi moduli - senzor temperature, tlaka in vlažnosti BME280, ura RTC DS1307, polnilnik litijevih baterij TP4056, majhen ojačevalni modul od 3,7 do 5 voltov, od svetlobe odvisen upor (LDR - merilnik svetlobe) in zvočni signal (vzeto iz starega računalnika).
Oglejte si tudi skice - prikazujejo vse povezave. Mislim, da je vse zelo enostavno prebrati in razumeti, če pa imate vprašanja, vprašajte v spodnjih komentarjih.
Nekaj opomb o nastavitvi:
- Motor je priključen neposredno iz akumulatorja preko tranzistorja. Arduino krmili tranzistor preko upora in PWM pin D5.
- Za priključek LCD se uporabljajo zatiči D7-12. Ozemljitev in VCC sta povezana s tirnico na spojni plošči.
- LDR je bil nameščen na uro in upor + 3 odhodne žice so bile spajkane tik na zadnji strani ure.
- Za povezavo gumbov sem uporabil notranjo funkcijo PULLUP znotraj Arduina. Gumb Meni je pritrjen na prekinitev in šele pozneje sem spoznal, da lahko za prekinitev uporabite tudi notranji PULLUP. Prekinitev za gumb Meni je potrebna, da koda ne skenira stanja gumbov ves čas.
- Ura bo spremljala in prikazala tudi stanje baterije, tako da je baterija neposredno priključena na pin A0. Napetost baterije nikoli ni višja od 4,2 V, zato je varno priključiti baterijo neposredno na analogni pin Arduino.
- Zvočni signal je neposredno priključen na pin P6 PWM. Čeprav to ni dobra praksa, mi je to ušlo, ker bi Arduino Nano lahko obvladal višje specifikacije, kot je navedeno, pa tudi zato, ker zvočni signal ne bo neprekinjeno deloval. Ista nastavitev bi zlahka zažgala zatiče na ploščah ESP, zato v teh primerih priporočam uporabo krmilnika tranzistorja.
- Ura je že imela stikalo, zato sem se odločil, da jo uporabim. Na hrbtu izgleda naravno.
7. korak: Spojna plošča za enostavne povezave
Vsi moduli zahtevajo pozitivne in ozemljitvene povezave, zato sem se odločil za uporabo prototipne plošče 2x8 cm in vanj spajkal 5V in talne tirnice. Tudi tam sem naredil majhno tirnico I2C, saj sem imel več modulov z vmesnikom I2C.
Na drugi strani sem spajkal standardne zatiče, da sem lahko po potrebi priključil in odklopil module.
Tam so bile spajane tudi nekatere dodatne komponente, na primer tranzistor in upor za krmiljenje motorja ter upor za gumb Menu, ki uporablja Interrupt. Sheme sem prikazal v prejšnjem razdelku.
btw Ali lahko na prvi sliki vidite senzor LDR, ki je že nameščen na urni uri?
8. korak: Nastavitev napajanja
Za napajanje te ure sem uporabil staro litij-ionsko baterijo iz mobilnega telefona. Ponavadi zamenjane baterije mobilnega telefona imajo še vedno dobro kapaciteto (vsaj polovico tiste, ki je bila nova). Njihova prednost je, da imajo vgrajeno vezje za zaščito pred praznjenjem in so tudi zelo tanki, zato jih je mogoče uporabiti v majhnih prostorih.
Za priključitev baterije preprosto spajkate žice na + in - nožice na bateriji. Ne skrbite, celice ne boste poškodovali, ker je krmilnik in nekaj praznega prostora med zatiči in kemikalijami celice.
Na tej sliki lahko vidite baterijo in tudi krmilnik polnjenja TP4056 ter 5V ojačevalnik, ki sta povezana skupaj z baterijo. Za izolacijo in kompaktnost sem uporabil nekaj skrčljivih cevi.
9. korak: Mikro USB za polnjenje in posodabljanje vdelane programske opreme
Ko sem vse spajkala, sem na zadnjo ploščo prilepila zvočni signal in senzor temperature/tlaka/vlažnosti. Vsi so se lepo prilegali v obstoječe reže iz starih gumbov za ure.
Zdaj je bil čas za namestitev vrat Micro USB na hrbtni strani. Zakaj Micro USB, če Nano uporablja Mini USB? Preprosto zato, ker je večina gospodinjskih kablov v gospodinjstvu iz mobilnih telefonov in bi bilo priročno, če bi to lahko sprejela tudi ura.
Ker sem ga želel uporabiti za polnjenje in posodabljanje ur in funkcij vremenske postaje - odstranil sem kabel USB, napeljal napajalne žice prek polnilnika TP4056 in žic Data+/Data neposredno v USB vtičnico Arduino Nano. To lahko vidite na shemi, ki sem jo prikazal v prejšnjih razdelkih.
10. korak: Končna montaža
Zdaj je bil čas, da vse skupaj zapakiramo nazaj v prvotno uro. Za izolacijo komponent in modulov sem uporabil skrčljivo cev. Tudi Arduino je bil zavit v skrčljivo cev.
Premaknite miškin kazalec na prvo fotografijo, da vidite, kje je bila vsaka komponenta postavljena.
11. korak: Koda
Kot lahko vidite, je ura v celoti zapakirana. To je omogočilo ustvarjanje nečesa bolj izpopolnjenega od stare ure, ki sem jo imel - glede na to, da seveda obstajajo nekatere spretnosti programiranja. Napisal sem začetno kodo, a prijatelja prosil, naj stopi in mi pomaga.
Doslej so poleg same ure te funkcije že podpirale ta projekt:
- Prikaz časa in datuma (kot tudi čas in vklop alarma na istem zaslonu)
- Zaslon zasveti v temnih pogojih ali ko zazna gibanje (glede na spremembe svetlobe)
- Vremenska napoved (sončno, oblačno, deževno)
- Prikaz temperature, tlaka in vlažnosti (za vlažnost bo prikazano, ali je preveč suha)
- Meni za nastavitve: alarm, spreminjanje časa, omogočanje/onemogočanje prikaza datuma, omogočanje/onemogočanje zvočnih obvestil o vremenskih spremembah in preklapljanje med imperialnimi in metričnimi enotami
- Nastavitve alarma - vklop/izklop, nastavitev časa, nastavitev melodije in/ali zvonov za obvestila
Najnovejša koda:
Koda bo v prihodnje posodobljena z novimi funkcijami, zato preverite, ali so na voljo posodobitve vdelane programske opreme:-)
Če ste novi v svetu Arduino, vam priporočam naslednje korake:
- Namestite gonilnik USB za svojo ploščo (npr. CH340)
- Namestite Arduino IDE
- Namestite knjižnice, uporabljene v tem projektu
- Prenesite z GitHub -a in naložite najnovejšo kodo projekta v uro s kablom Micro USB (lahko uporabite eno iz mobilnega telefona)
Algoritem napovedovanja je naslednji:
Arduino Nano vsakih 12 minut dobiva nove podatke s senzorja BME280. Merilni cikel je 3 ure. Po 3 urah se obseg nadzora tlaka (največja in minimalna vrednost v 3 urah) premakne glede na povprečne vrednosti v trenutnem območju in trenutno vrednost tlaka. Vsako uro se shrani smer spreminjanja tlaka s trenutno vrednostjo tlaka. Za izračun napovedi se uporabljajo enote kPa.
Zaradi omejitev pomnilnika Nano je bilo treba poenostaviti algoritem napovedovanja. Kljub poenostavitvam pa lahko napoveduje padavine v naslednjih 12-24 urah, čeprav je napoved zdaj bolj pesimistična - privzeta vrednost je "Cloudy Weather".
"Sončno vreme" - trenutna vrednost tlaka je višja od norme za 7 točk, tlak ne pada in razlika med vrednostmi min in max v zadnjih 3 urah ni večja od 2 točk.
Možne padavine "Deževno vreme" - trenutni tlak je 15 točk nižji od norme, razlika med vrednostmi min in max pa več kot 2 točki ALI Tlak pada in razlika med trenutno vrednostjo in normo je 3 - 30 točk.
Za izboljšanje kakovosti napovedovanja je priporočljivo spremeniti svojo "nadmorsko višino" v glavni datoteki s kodo. Svojo nadmorsko višino lahko dobite na primer tukaj:
12. korak: Videoposnetek po korakih
Če je bilo težko slediti zgoraj navedenim, je tukaj tudi video različica z vsemi prikazanimi koraki.
Korak: Zadnje besede
Na splošno z mojega vidika stopnja težavnosti tega projekta ni visoka in vsak bi lahko uspel. Če nimate stare ure, jo lahko najdete poceni na lokalnem bolšjem sejmu.
Vse komponente so po nizki ceni in so na voljo na Sparkfun/Aliexpress/eBay/Amazon.
Upam, da vam je bila ta vadnica zanimiva in bi vam bil hvaležen, če podprete moje prvo tekmovanje Instructable in the Clock.
Podprvak na tekmovanju ure
Priporočena:
Prikaz vremenske napovedi Art Deco: 9 korakov (s slikami)
Prikaz vremenske napovedi Art Deco: Pozdravljeni prijatelji, v tem navodilu bomo vroče zgradili ta zaslon vremenske napovedi. Za prikaz vremenske napovedi uporablja mini ploščo Wemos D1 skupaj z 1,8 -palčnim barvnim zaslonom TFT. Oblikoval sem in 3D natisnil tudi ohišje za
Svetilnik vremenske napovedi: 4 koraki (s slikami)
Svetilnik vremenske napovedi: V tem projektu predstavljam model lokalnega vremenskega svetilnika, ki sem ga naredil s 3D tiskanjem, LED trakovi, napajalnikom in ploščo Arduino z brezžično povezavo, da dostopam do vremenske napovedi za naslednji dan. Glavni namen
Oblak vremenske napovedi: 11 korakov (s slikami)
Cloud Weather Forecast Cloud: Ta projekt naredi vremenski oblak z uporabo Raspberry Pi Zero W. Poveže se z Yahoo Weather API in glede na napoved za naslednji dan spremeni barve. Navdihnila me je plinska stavba Wisconsin, ki ima plamen na strehi, ki se spreminja
3-dnevni vir vremenske napovedi: 4 koraki
3-dnevni vir vremenske napovedi: 3-dnevni vir vremenske napovedi ponuja izčrpno 3-dnevno vremensko napoved na želeni lokaciji ali glede na lokacijo vašega naslova IP. Projekt uporablja storitev Wunderground Weather API, ki zagotavlja odzive v formatu JSON, kadar koli
Besedna ura z uporabo Arduina in RTC: 7 korakov (s slikami)
Besedna ura z uporabo Arduina in RTC: Odločil sem se, da bom svojemu dekletu za rojstni dan naredil posebno darilo. Ker se oba ukvarjamo z elektroniko, je bilo dobro narediti nekaj "elektronskega". Poleg tega sva oba že prej podarila tovrstna darila, ki sta jih sama izdelala, in