Tartalomjegyzék:

Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával: 13 lépés (képekkel)
Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával: 13 lépés (képekkel)

Videó: Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával: 13 lépés (képekkel)

Videó: Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával: 13 lépés (képekkel)
Videó: MTV1 tv óra 2024, November
Anonim
Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával
Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával
Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával
Időjárás -előrejelző óra a régi ébresztő és az Arduino használatával

Elromlott ébresztőórám hevert, és ötletem támadt, hogy órává és időjárás -előrejelzővé alakítsam át.

Ehhez a projekthez szüksége lesz:

  • Régi kör alakú ébresztőóra
  • Arduino Nano
  • BME280 érzékelő modul (hőmérséklet, páratartalom, nyomás)
  • LCD kijelző modul a Nokia 5110 -től
  • DS1307 RTC óra
  • TP4056 lítium akkumulátor töltő
  • A régi Li-ion akkumulátort kimentették a mobiltelefonról
  • Kicsi 3,7–5 V erősítő modul
  • Fényfüggő ellenállás (LDR - fénymérő)
  • Zümmögő (használt, régi PC -ből mentett)
  • 3 nyomógomb
  • Egy csomó ellenállás (2x10 k, 270 ohm) és egy tranzisztor (2N2222A vagy hasonló)
  • Valami széles zsugorcső
  • törmelék NYÁK -t, hogy előlapi dekorációként használhassa
  • Micro-USB hosszabbító kábel (mind a női, mind a férfi oldal Micro-USB)
  • 2x8 cm -es prototípus tábla és néhány vezeték

1. lépés: Szereljen szét mindent

Szereljen szét mindent
Szereljen szét mindent

Először szétszedtem a régi órát. Harangok, motor, törött óraszerkezet…

2. lépés: A digitális beállítások gombjai

Digitális beállítások gombjai
Digitális beállítások gombjai
Digitális beállítások gombjai
Digitális beállítások gombjai
Digitális beállítások gombjai
Digitális beállítások gombjai
Digitális beállítások gombjai
Digitális beállítások gombjai

Mivel az új óra teljesen digitális lesz, benne egy mini-számítógéppel, 3 egyszerű, szép megjelenésű gombot tettem hozzá az oldalához.

Alumíniumhulladék segítségével kivágtam a fedőlapot, hogy címkét hozzak létre. A címkék betűit betűlyukasztással és fekete jelölővel hozták létre.

3. lépés: Kondenzátor a motorhoz

Kondenzátor a motorhoz
Kondenzátor a motorhoz

A régi harangokat megtartom, hogy a motorral riasztót táplálhassak. A régi törött óramechanizmusnak kerámia kondenzátora volt, 104. címkével. Eltávolítottam az áramköri lapról, és közvetlenül a motorhoz forrasztottam - ez segít megelőzni az áramszüneteket, amikor riasztáskor bekapcsolja a motort. Szintén fontos megjegyezni, hogy a motort tranzisztoron keresztül fogják vezérelni, de erről később.

4. lépés: Új számlap az óra számára

Új számlap az óra számára
Új számlap az óra számára
Új számlap az óra számára
Új számlap az óra számára

Mivel úgy döntöttem, hogy új számlapot készítek az órának - kivettem egy áramköri lapot a szemétdombomból, és egy építő hőpisztoly segítségével gyorsan eltávolítottam az összes alkatrészt. A közepén lévő lyuk az új óra digitális képernyőjéhez készült.

5. lépés: Digitális kijelző a régi mobiltelefonról

Digitális kijelző a régi mobiltelefonról
Digitális kijelző a régi mobiltelefonról
Digitális kijelző a régi mobiltelefonról
Digitális kijelző a régi mobiltelefonról

Ehhez a projekthez úgy döntöttem, hogy egy régi Nokia 5110 mobiltelefon LCD képernyőjét használom. Ezek a képernyők széles körben kaphatók modulként, nagyon kevés energiát fogyasztanak, és jó könyvtárak vannak az Arduino számára. Ha új modult vásárol 5110 -es képernyővel, akkor megmenti a bolygót, mert minden új modul az 5110, 3110 és 3210 telefonokból készült!

6. lépés: Az áramkörök csatlakoztatása

Az áramkörök csatlakoztatása
Az áramkörök csatlakoztatása
Az áramkörök csatlakoztatása
Az áramkörök csatlakoztatása
Az áramkörök csatlakoztatása
Az áramkörök csatlakoztatása

Lehet, hogy már sejtette, hogy az Arduino táblát tervezem az óra vezérléséhez. A projekt könnyen megismételhető még a kezdő Arduino rajongók számára is, mert nem én készítettem saját áramköri lapjaimat. Ez egy Arduino Nano kártya, amelyhez modulok vannak csatlakoztatva - BME280 hőmérséklet-, nyomás- és páratartalom -érzékelő, DS1307 RTC óra, TP4056 lítium akkumulátor -töltő, kicsi 3,7–5 V -os erősítőmodul, fényfüggő ellenállás (LDR - fénymérő) és hangjelző (a régi PC -ről vettem).

Nézze meg a vázlatokat is - ezek minden kapcsolatot mutatnak. Azt hiszem, mindent nagyon könnyű olvasni és megérteni, de ha bármilyen kérdése van, tegye fel az alábbi megjegyzéseket.

Néhány megjegyzés a beállításról:

  • A motor közvetlenül az akkumulátorról van csatlakoztatva a tranzisztoron keresztül. Az Arduino az ellenállást és a PWM D5 tűt vezérli a tranzisztoron keresztül.
  • A D7-12 csapokat az LCD csatlakozóhoz használják. A földelés és a VCC csatlakozik a sínhez a csatlakozólapon.
  • Az LDR -t az óralapra szerelték fel, és az ellenállás + 3 kimenő vezetéket közvetlenül az óralap hátoldalán forrasztották.
  • A gombok csatlakoztatásához a belső PULLUP funkciót használtam az Arduino -ban. A Menü gomb a megszakításhoz kapcsolódik, és csak később jöttem rá, hogy a megszakításhoz a belső PULLUP -ot is használhatja. A Menü gomb megszakítása szükséges, hogy a kód ne vizsgálja folyamatosan a gombok állapotát.
  • Az óra figyeli és megjeleníti az akkumulátor állapotát is, így az akkumulátor közvetlenül az A0 érintkezőhöz van csatlakoztatva. Az akkumulátor feszültsége soha nem haladja meg a 4,2 V -ot, így biztonságosan csatlakoztathatja az akkumulátort közvetlenül az Arduino analóg érintkezőhöz.
  • A zümmögő közvetlenül csatlakozik a PWM D6 érintkezőhöz. Bár ez nem jó gyakorlat, megúsztam, mert az Arduino Nano képes kezelni a megadottnál magasabb specifikációkat, és azért is, mert a hangjelző nem fog folyamatosan működni. Ugyanez a beállítás könnyen égetné a csapokat az ESP táblákon, ezért ilyen esetekben javaslom a tranzisztoros vezérlés használatát.
  • Az órának már volt kapcsolója, ezért úgy döntöttem, hogy használni fogom. Hátul természetesnek tűnik.

7. lépés: Csatlakozó panel az egyszerű csatlakoztatáshoz

Csatlakozó panel az egyszerű csatlakoztatáshoz
Csatlakozó panel az egyszerű csatlakoztatáshoz
Csatlakozó panel az egyszerű csatlakoztatáshoz
Csatlakozó panel az egyszerű csatlakoztatáshoz

Minden modul pozitív és földelt csatlakozást igényel, ezért úgy döntöttem, hogy 2x8 cm -es prototípus lapot használok, és forrasztott 5 V -os és földi síneket használok hozzá. Ott is készítettem egy kis I2C sínt, mivel több modulom is volt, amelyek I2C interfészt használtak.

A másik oldalon szabványos csapokat forrasztottam, hogy szükség esetén csatlakoztathassam és lekapcsoljam a modulokat.

Néhány további komponenst is ott forrasztottak, például tranzisztor és ellenállás a motorvezérléshez, valamint egy ellenállás a Menü gombhoz, amely megszakítást használ. A sémákat az előző részben mutattam be.

btw Látja az első képen az óra számlapjára már telepített LDR érzékelőt?

8. lépés: Az áramellátás beállítása

Az áramellátás beállítása
Az áramellátás beállítása

Egy régi lítium-ion akkumulátort használtam a mobilomról az óra táplálására. Általában a kicserélt mobiltelefon akkumulátorok még mindig jó kapacitással rendelkeznek (legalább fele annak, ami új volt). Előnyük, hogy beépített kisülési védelmi áramkörrel rendelkeznek, és nagyon vékonyak is, így kis térben is használhatók.

Az akkumulátor csatlakoztatásához egyszerűen forrasztja a vezetékeket az akkumulátor + és - érintkezőire. Ne aggódjon, nem fogja megsérteni a cellát, mert van egy vezérlő és egy üres hely a csapok és a cella vegyszerei között.

Ezen a képen látható az akkumulátor és a TP4056 töltésvezérlő, valamint az 5V -os erősítő, amelyek össze vannak kötve az akkumulátorral. Néhány zsugorfóliás csövet használtam, hogy mindent elszigetelt és tömör legyen.

9. lépés: Micro USB a firmware töltéséhez és frissítéséhez

Micro USB a firmware töltéséhez és frissítéséhez
Micro USB a firmware töltéséhez és frissítéséhez

Miután mindent forrasztottam, ragasztottam a zümmögőt és a hőmérséklet/nyomás/páratartalom érzékelőt a hátlapra. Mindannyian szépen illeszkedtek a meglévő nyílásokba a régi órajelző vezérlőkből.

Eljött az idő, hogy telepítsük a Micro USB portot a hátlapra. Miért a Micro USB, ha a Nano Mini USB -t használ? Egyszerűen azért, mert a háztartásban a legtöbb USB -kábel mobiltelefonból származik, és kényelmes lenne, ha az óra ezt is képes lenne elviselni.

Mivel töltésre és az óra és az időjárásjelző funkciók frissítésére is használni akartam - levettem az USB -kábelt, és a tápkábeleket a TP4056 -os töltőn és a Data+/Data- vezetékeken keresztül közvetlenül az Arduino Nano USB -aljzatába vezettem. Ezt láthatja az előző szakaszokban bemutatott sematikus ábrán.

10. lépés: Végső összeszerelés

Végső összeszerelés
Végső összeszerelés
Végső összeszerelés
Végső összeszerelés
Végső összeszerelés
Végső összeszerelés

Itt az ideje, hogy mindent visszacsomagoljunk az eredeti órába. Zsugorcsövet használtam az alkatrészek és modulok elkülönítésére. Még az Arduino is zsugorcsőbe volt csomagolva.

Vigye az egérmutatót az első fényképre, és nézze meg, hol helyezték el az egyes összetevőket.

11. lépés: A kódex

Mint látható, az óra teljesen be van csomagolva. Ez lehetővé tette, hogy valami kifinomultabbat alkossak, mint a régi órám - persze, hogy vannak bizonyos programozási ismeretek. Megírtam a kezdeti kódot, de megkértem a barátomat, hogy lépjen be és segítsen.

Eddig az óra mellett ezek a funkciók, amelyeket ez a projekt már támogat:

  • Idő és dátum kijelzése (valamint az idő és a riasztás aktiválása ugyanazon a képernyőn)
  • A képernyő sötét körülmények között vagy mozgás észlelésekor világít (a fény változásai alapján)
  • Időjárás -előrejelzés (napos, felhős, esős)
  • Hőmérséklet, nyomás és páratartalom kijelzése (páratartalom esetén azt jelzi, hogy túl száraz -e)
  • A beállítások menüje: riasztás, időváltoztatás, dátumkijelzés engedélyezése/letiltása, időjárás -változás hangjelzéseinek engedélyezése/letiltása, valamint váltás a birodalmi és a metrikus mértékegységek között
  • Riasztási beállítások - be/ki, az idő beállítása, az értesítések dallamának és/vagy harangjának beállítása

Legújabb kód:

A kódot a jövőben frissíteni fogjuk új funkciókkal, ezért mindenképpen nézzen vissza a firmware frissítésekhez:-)

Ha új vagy az Arduino világában, ezeket a lépéseket javaslom:

  • Telepítsen USB -illesztőprogramot a táblához (pl. CH340)
  • Telepítse az Arduino IDE -t
  • A projektben használt könyvtárak telepítése
  • Töltse le a GitHub -ról, és töltse fel a legújabb projektkódot az órára Micro USB -kábel segítségével (használhat egyet mobiltelefonról)

Az előrejelzési algoritmus a következő:

Az Arduino Nano 12 percenként kap új adatokat a BME280 érzékelőből. A mérési ciklus 3 óra. 3 óra elteltével a nyomásfigyelés tartománya (max és min érték 3 óra alatt) eltolódik az aktuális tartomány és az aktuális nyomásérték átlagos értékeihez képest. Minden órában mentésre kerül a nyomásváltozás iránya az aktuális nyomásértékkel. Az előrejelzés kiszámításához kPa egységeket használnak.

A Nano memória korlátai miatt az előrejelzési algoritmust egyszerűsíteni kellett. De az egyszerűsítések ellenére képes előre jelezni a csapadékot a következő 12-24 órában, annak ellenére, hogy az előrejelzés most pesszimistább - az alapértelmezett érték "Felhős időjárás".

"Napos időjárás" - a nyomás jelenlegi értéke 7 ponttal magasabb a normánál, a nyomás nem csökken, és az utolsó 3 óra min és max értékei közötti különbség nem haladja meg a 2 pontot.

Lehetséges csapadék "Esős időjárás" - az aktuális nyomás 15 ponttal alacsonyabb a normálnál, és a min és max értékek közötti különbség több mint 2 pont VAGY A nyomás csökken, és az áramérték és a norma közötti különbség 3 - 30 pont.

Az előrejelzés minőségének javítása érdekében ajánlott megváltoztatni a "magasságot" a fő kódfájlban. A magasságot például itt tekintheti meg:

12. lépés: Lépésről lépésre videó

Image
Image

Ha nehéz volt követni a fentieket, itt van egy videó verzió is, amely tartalmazza az összes bemutatott lépést.

13. lépés: Utolsó szavak

Összességében véleményem szerint ennek a projektnek a nehézségi szintje nem magas, és bárki megcsinálhatja. Ha nincs régi órája, olcsót talál a helyi bolhapiacon.

Az összes alkatrész alacsony árú, és elérhető a Sparkfun/Aliexpress/eBay/Amazon webhelyen.

Remélem, ez az oktatóanyag érdekes volt számodra, és hálás lennék, ha támogatnád az első Instructable -t az Óra versenyen.

Órák verseny
Órák verseny
Órák verseny
Órák verseny

Második helyezett az Órák versenyben

Ajánlott: