Turinys:
- 1 žingsnis: viską išardykite
- 2 veiksmas: skaitmeninių nustatymų mygtukai
- 3 žingsnis: variklio kondensatorius
- 4 žingsnis: naujas laikrodžio veidas
- 5 veiksmas: skaitmeninis ekranas iš seno mobiliojo telefono
- 6 žingsnis: grandinių prijungimas
- 7 žingsnis: jungčių plokštė, skirta lengvai prijungti
- 8 veiksmas: maitinimo nustatymas
- 9 veiksmas: „Micro USB“, skirtas įkrauti ir atnaujinti programinę įrangą
- 10 žingsnis: galutinis surinkimas
- 11 žingsnis: Kodas
- 12 žingsnis: žingsnis po žingsnio vaizdo įrašas
- 13 žingsnis: paskutiniai žodžiai
Video: Orų prognozės laikrodis naudojant seną žadintuvą ir „Arduino“: 13 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Aš gulėjau sugedęs žadintuvas ir sugalvojau jį paversti laikrodžio ir orų prognozavimo stotimi.
Šiam projektui jums reikės:
- Senas apskritas žadintuvas
- Arduino Nano
- BME280 jutiklio modulis (temperatūra, drėgmė, slėgis)
- Skystųjų kristalų ekrano modulis iš „Nokia 5110“
- DS1307 RTC laikrodis
- TP4056 ličio baterijų įkroviklis
- Iš mobiliojo telefono išgelbėta sena ličio jonų baterija
- Mažas stiprintuvo modulis nuo 3,7 iki 5 voltų
- Nuo šviesos priklausomas rezistorius (LDR - šviesos matuoklis)
- „Buzzer“(naudojamas išgelbėtas iš seno kompiuterio)
- 3 mygtukai
- Krūva rezistorių (2x10 k, 270 omų) ir tranzistorius (2N2222A ar panašūs)
- Kažkoks platus susitraukiantis vamzdis
- PCB laužas, naudojamas kaip priekinės plokštės apdaila
- „Micro-USB“prailginimo kabelis (tiek moterų, tiek vyrų pusės yra „Micro-USB“)
- 2x8 cm prototipo plokštė ir kai kurie laidai
1 žingsnis: viską išardykite
Pirmiausia išardžiau seną laikrodį. Varpai, variklis, sugedęs laikrodžio mechanizmas …
2 veiksmas: skaitmeninių nustatymų mygtukai
Kadangi naujasis laikrodis bus visiškai skaitmeninis su mini kompiuteriu viduje, pridėjau 3 paprastus gražiai atrodančius mygtukus šone.
Naudodamas aliuminio laužą iškirpiau perdangą, kad sukurtų etiketę. Etikečių raidės buvo sukurtos naudojant raidžių štampus ir juodą žymeklį.
3 žingsnis: variklio kondensatorius
Aš pasiliksiu senus varpus, kad variklis įjungtų signalizaciją. Senasis sugedęs laikrodžio mechanizmas turėjo keraminį kondensatorių su etikete 104. Aš jį išėmiau iš plokštės ir lituodavau tiesiai prie variklio - tai padės išvengti galios šuolių įjungiant variklį aliarmo metu. Taip pat svarbu pažymėti, kad variklis bus valdomas per tranzistorių, bet apie tai vėliau.
4 žingsnis: naujas laikrodžio veidas
Kadangi nusprendžiau padaryti naują laikrodžio veidą - paėmiau iš savo šiukšliadėžės krūvos plokštę ir greitai pašalinau visus komponentus su statybiniu šilumos pistoletu. Skylė viduryje padaryta naujojo laikrodžio skaitmeniniam ekranui.
5 veiksmas: skaitmeninis ekranas iš seno mobiliojo telefono
Šiam projektui nusprendžiau naudoti LCD ekraną iš seno mobiliojo telefono „Nokia 5110“. Šie ekranai yra plačiai parduodami kaip modulis, jie sunaudoja labai mažai energijos ir yra geros „Arduino“bibliotekos. Jei perkate naują modulį su 5110 ekranu - jūs taupote planetą, nes visi nauji moduliai yra sukurti iš išgelbėtų telefonų 5110, 3110 ir 3210!
6 žingsnis: grandinių prijungimas
Galbūt jau atspėjote, kad planuoju naudoti „Arduino“plokštę šiam laikrodžiui valdyti. Projektą lengva pakartoti net pradedantiesiems „Arduino“gerbėjams, nes aš nesukūriau savo plokščių. Tai „Arduino Nano“plokštė, prie kurios prijungti moduliai - BME280 temperatūros, slėgio ir drėgmės jutiklis, DS1307 RTC laikrodis, TP4056 ličio baterijų įkroviklis, mažas 3,7–5 V stiprintuvo modulis, nuo šviesos priklausomas rezistorius (LDR - šviesos matuoklis) ir garsinis signalas (paimtas iš seno kompiuterio).
Taip pat peržiūrėkite eskizus - jie rodo visus ryšius. Manau, kad viską labai lengva skaityti ir suprasti, bet jei turite kokių nors klausimų, klauskite toliau pateiktų komentarų.
Keletas pastabų apie sąranką:
- Variklis yra tiesiogiai prijungtas prie akumuliatoriaus per tranzistorių. „Arduino“valdo tranzistorių per rezistorių ir PWM kaištį D5.
- LCD jungtims naudojami kaiščiai D7-12. Įžeminimas ir VCC yra prijungti prie bėgio jungiamojoje plokštėje.
- LDR buvo sumontuotas ant laikrodžio rodyklės, o rezistorius + 3 išeinantys laidai buvo lituojami tiesiai laikrodžio rodyklės gale.
- Mygtuko prijungimui naudojau vidinę PULLUP funkciją „Arduino“viduje. Meniu mygtukas yra prijungtas prie pertraukos ir tik vėliau supratau, kad pertraukimui taip pat galite naudoti vidinį PULLUP. Meniu mygtuko pertraukimas reikalingas, kad kodas visą laiką nenuskaitytų mygtukų būsenos.
- Laikrodis taip pat stebės ir rodys akumuliatoriaus būseną, todėl akumuliatorius yra tiesiogiai prijungtas prie kaiščio A0. Baterijos įtampa niekada neviršija 4,2 V, todėl saugu akumuliatorių prijungti tiesiai prie „Arduino“analoginio kaiščio.
- „Buzzer“yra tiesiogiai prijungtas prie PWM kaiščio D6. Nors tai nėra gera praktika, aš to atsisakiau, nes „Arduino Nano“galėjo valdyti aukštesnes specifikacijas, nei nurodyta, taip pat todėl, kad garsinis signalas neveiks nuolat. Ta pati sąranka lengvai sudegintų ESP plokščių kaiščius, todėl tokiais atvejais rekomenduoju naudoti tranzistoriaus valdiklį.
- Laikrodis jau turėjo jungiklį, todėl nusprendžiau jį naudoti. Ant nugaros atrodo natūraliai.
7 žingsnis: jungčių plokštė, skirta lengvai prijungti
Visi moduliai reikalauja teigiamo ir įžeminimo jungčių, todėl nusprendžiau naudoti 2x8 cm prototipo plokštę ir prie jos prilituoti 5 V ir antžeminius bėgius. Aš taip pat padariau nedidelį I2C bėgelį, nes turėjau kelis modulius, naudojantį I2C sąsają.
Kitoje pusėje lituodavau standartinius kaiščius, kad prireikus galėčiau prijungti ir atjungti modulius.
Čia taip pat buvo lituojami kai kurie papildomi komponentai, tokie kaip tranzistorius ir rezistorius variklio valdymui ir rezistorius meniu mygtukui, kuris naudoja pertraukimą. Aš parodžiau schemas ankstesniame skyriuje.
btw Ar pirmoje nuotraukoje matote laikrodžio rodyklėje jau sumontuotą LDR jutiklį?
8 veiksmas: maitinimo nustatymas
Šiam laikrodžiui maitinti naudojau seną ličio jonų bateriją iš savo mobiliojo telefono. Paprastai pakeistų mobiliųjų telefonų baterijų talpa yra gera (bent pusė to, kas buvo nauja). Jų pranašumas yra tas, kad jie turi įmontuotą išleidimo apsaugos grandinę ir yra labai ploni, todėl gali būti naudojami mažose erdvėse.
Norėdami prijungti akumuliatorių, tiesiog lituokite laidus prie akumuliatoriaus + ir - kaiščių. Nesijaudinkite, nesugadinsite elemento, nes tarp kaiščių ir kameros cheminių medžiagų yra valdiklis ir tuščia erdvė.
Šiame paveikslėlyje galite pamatyti akumuliatorių, taip pat TP4056 įkrovimo valdiklį, taip pat 5V stiprintuvą, prijungtą kartu ir prie akumuliatoriaus. Aš naudoju keletą susitraukiančių vamzdžių, kad viskas būtų izoliuota ir kompaktiška.
9 veiksmas: „Micro USB“, skirtas įkrauti ir atnaujinti programinę įrangą
Viską litavęs, galiniame skydelyje priklijavau signalą ir temperatūros/slėgio/drėgmės jutiklį. Jie visi puikiai tilpo į esamus lizdus iš senų laikrodžio ratuko valdiklių.
Atėjo laikas įdiegti „Micro USB“prievadą gale. Kodėl „Micro USB“, jei „Nano“naudoja „Mini USB“? Tiesiog todėl, kad buityje dauguma USB kabelių yra iš mobiliųjų telefonų ir būtų patogu, jei laikrodis taip pat galėtų tai padaryti.
Kadangi norėjau jį naudoti tiek įkrovimui, tiek laikrodžio ir oro stoties funkcijų atnaujinimui - atplėšiau USB kabelį, maitinimo laidus nukreipiau per TP4056 įkroviklį ir „Data+/Data-“laidus tiesiai į „Arduino Nano“USB lizdą. Tai galite pamatyti schemoje, kurią parodžiau ankstesniuose skyriuose.
10 žingsnis: galutinis surinkimas
Atėjo laikas viską supakuoti į pradinį laikrodį. Komponentams ir moduliams izoliuoti naudojau susitraukiantį vamzdį. Net „Arduino“buvo suvyniotas į susitraukiantį vamzdelį.
Užveskite pelės žymeklį ant pirmosios nuotraukos, kad pamatytumėte, kur buvo įdėtas kiekvienas komponentas.
11 žingsnis: Kodas
Kaip matote, laikrodis yra visiškai supakuotas viduje. Tai leido sukurti kažką sudėtingesnio nei senas laikrodis, kurį turėjau - žinoma, yra tam tikrų programavimo įgūdžių. Aš parašiau pradinį kodą, bet paprašiau draugo, kad jis įsitrauktų ir padėtų man.
Kol kas, be paties laikrodžio, tai yra funkcijos, kurias šis projektas jau palaiko:
- Laiko ir datos rodymas (taip pat laikas ir aliarmo įjungimas tame pačiame ekrane)
- Ekranas šviečia tamsiomis sąlygomis arba kai aptinkamas judesys (atsižvelgiant į šviesos pokyčius)
- Orų prognozė (saulėta, debesuota, lietinga)
- Temperatūros, slėgio ir drėgmės rodymas (esant drėgmei jis parodys, ar jis per sausas)
- Nustatymų meniu: žadintuvas, laiko keitimas, datos rodymo įjungimas/išjungimas, įjungiami/išjungiami orų pokyčių garso pranešimai ir perjungimas tarp imperijos ir metrinių vienetų
- Signalizacijos nustatymai - įjungti/išjungti, nustatyti laiką, nustatyti melodiją ir (arba) skambučius pranešimams
Naujausias kodas:
Ateityje kodas bus atnaujintas naujomis funkcijomis, todėl būtinai patikrinkite, ar nėra programinės įrangos atnaujinimų:-)
Jei esate naujas „Arduino“pasaulyje, rekomenduoju atlikti šiuos veiksmus:
- Įdiekite savo plokštės USB tvarkyklę (pvz., CH340)
- Įdiekite „Arduino IDE“
- Įdiekite šiame projekte naudojamas bibliotekas
- Atsisiųskite iš „GitHub“ir įkelkite naujausią projekto kodą į laikrodį naudodami „Micro USB“kabelį (vieną galite naudoti iš mobiliojo telefono)
Prognozavimo algoritmas yra toks:
„Arduino Nano“kas 12 minučių gauna naujus duomenis iš BME280 jutiklio. Matavimo ciklas yra 3 valandos. Po 3 valandų slėgio stebėjimo diapazonas (maksimali ir min. Vertė per 3 valandas) pasikeičia, palyginti su vidutinėmis vertėmis per dabartinį diapazoną ir dabartinę slėgio vertę. Kiekvieną valandą išsaugoma slėgio keitimo kryptis su esama slėgio verte. Prognozei apskaičiuoti naudojami kPa vienetai.
Dėl „Nano“atminties apribojimų prognozavimo algoritmą reikėjo supaprastinti. Tačiau nepaisant supaprastinimo, jis gali prognozuoti kritulius per ateinančias 12–24 valandas, nors prognozavimas dabar yra pesimistiškesnis - numatytoji vertė yra „Debesuotas oras“.
„Saulėtas oras“- dabartinė slėgio vertė yra 7 balais didesnė už normą, slėgis nekrenta ir skirtumas tarp min ir max reikšmių per paskutines 3 valandas yra ne didesnis kaip 2 taškai.
Galimi krituliai „Lietus oras“- dabartinis slėgis yra 15 taškų mažesnis už normą, o skirtumas tarp min ir max reikšmių yra didesnis nei 2 taškai ARBA Slėgis krenta, o skirtumas tarp dabartinės vertės ir normos yra 3 - 30 balų.
Norint pagerinti prognozavimo kokybę, pagrindiniame kodo faile rekomenduojama pakeisti „aukštį“. Savo aukštį galite sužinoti, pavyzdžiui, čia:
12 žingsnis: žingsnis po žingsnio vaizdo įrašas
Jei buvo sunku sekti tai, ką padariau aukščiau, čia taip pat yra vaizdo įrašo versija su visais nurodytais veiksmais.
13 žingsnis: paskutiniai žodžiai
Apskritai, mano požiūriu, šio projekto sudėtingumo lygis nėra didelis ir kiekvienas gali tai padaryti. Jei neturite seno laikrodžio, galite rasti pigų vietiniame sendaikčių turguje.
Visi komponentai yra mažos kainos ir yra prieinami „Sparkfun“/„Aliexpress“/„eBay“/„Amazon“.
Tikiuosi, kad ši pamoka jums buvo įdomi ir būčiau dėkinga, jei galėtumėte paremti mano pirmąjį „Instructable“laikrodžio konkurse.
Antroji vieta laikrodžių konkurse
Rekomenduojamas:
„Art Deco“orų prognozės ekranas: 9 žingsniai (su nuotraukomis)
„Art Deco“orų prognozės ekranas: Sveiki draugai, šioje instrukcijoje matysime karštą, kad sukurtume šį orų prognozės ekraną. Jame naudojama „Wemos D1“mini plokštė ir 1,8 colio spalvotas TFT ekranas orų prognozėms rodyti. Taip pat suprojektavau ir 3D atspausdinau korpusą, skirtą
Orų prognozės švyturys: 4 žingsniai (su nuotraukomis)
Orų prognozės švyturys: Šiame projekte aš pristatau modelį iš vietinio orų švyturio, kurį sukūriau naudodamas 3D spausdinimą, LED juosteles, maitinimo šaltinį ir „Arduino“plokštę su „Wi -Fi“ryšiu, kad pasiekčiau kitos dienos orų prognozę. Pagrindinis tikslas
Orų prognozės debesis: 11 žingsnių (su nuotraukomis)
Orų prognozės debesis: Šis projektas sukuria orų debesį naudojant „Raspberry Pi Zero W.“. Jis jungiasi prie „Yahoo Weather“API ir, priklausomai nuo kitos dienos prognozės, keičia spalvas. Mane įkvėpė Viskonsino dujų pastatas, kurio liepsna ant stogo keičiasi
3 dienų orų prognozės kanalas: 4 žingsniai
3 dienų orų prognozės kanalas: 3 dienų orų prognozių sklaidos kanalas pateikia išsamią 3 dienų orų prognozę norimoje vietoje arba pagal jūsų IP adreso vietą. Projekte naudojama „Wunderground Weather“API paslauga, kuri teikia JSON formato atsakymus, kai
Orų laikrodis: 15 žingsnių (su nuotraukomis)
Orų laikrodis: puikiai atrodantis stalinis laikrodis su data ir & orų rodymas