Tartalomjegyzék:

Arduino Alkonyat/Hajnal Óraidőzítő: 15 lépés
Arduino Alkonyat/Hajnal Óraidőzítő: 15 lépés

Videó: Arduino Alkonyat/Hajnal Óraidőzítő: 15 lépés

Videó: Arduino Alkonyat/Hajnal Óraidőzítő: 15 lépés
Videó: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, November
Anonim
Arduino Alkonyat/Hajnal Óraidőzítő
Arduino Alkonyat/Hajnal Óraidőzítő

Összegzés:

Ez az Arduino -alapú időzítő egy 220 V -os lámpát kapcsolhat alkonyatkor, hajnalban vagy meghatározott időben.

Bevezetés:

A házam néhány lámpája alkonyatkor automatikusan felkapcsol, akár előre beállított időpontig, akár hajnalig (egész éjszaka).

A lámpák elhelyezkedése nem teszi lehetővé fényérzékelő használatát. A rendszeresen rendelkezésre álló óra időzítők egy adott időpontban kapcsolnak be. Az alkonyati bekapcsoláshoz ezért rendszeresen módosítani kell az időzítő program beállításait.

Szép kihívásként úgy döntöttem, hogy inkább egy egyedi Arduino alapú önálló időzítőt építek. Valós idejű órát és a Dusk2Dawn könyvtárat használja annak meghatározására, hogy a lámpákat mikor kell be- vagy kikapcsolni. Az időzítő háza 3D nyomtatással készült, és megtalálható a Thingiverse webhelyen. A projekt Arduino kódja megtalálható a GitHubon.

Ennek az időzítőnek az elkészítésekor inspirációt merítettem az internet számos tervezéséből és áramköréből. Köszönetet mondok minden közreműködőnek, akik nincsenek kifejezetten megemlítve.

Az olvashatóság érdekében részleges diagramok jelennek meg a lépésekben, ahol szükséges, a teljes kapcsolási rajz helyett.

Alternatív megoldások:

Az önálló időzítő helyett sok olyan megoldás létezik, ahol az intelligens otthoni automatizálási rendszer irányítja a lámpákat. Célom egy független megoldás volt, amely nem függ a WIFI (vagy más) kapcsolattól.

Korlátozások:

A projekthez mellékelt kód tartalmazta az európai nyári időszámítási rendszerre épülő nyári időszámítási változtatások megvalósítását.

1. lépés: Alkatrészlista és eszközök

Alkatrészlista és eszközök
Alkatrészlista és eszközök

Alkatrészek:

Az alkatrészek teljes költsége (a 3D nyomtatás kivételével) körülbelül 30, -€.

  • Arduino Nano V3 (kompatibilis) fejlécek nélkül
  • Tápegység 5V 0.6A (34 x 20 x 15mm)
  • Szilárdtest relé 5V - Aktív alacsony - 2A 230VAC
  • Valós idejű óra DS3231 (kicsi)
  • 0,96 hüvelykes OLED kijelző SPI 128*64 pixel
  • Rotációs kódoló - EC11 - 20 mm
  • Gomb 6mm tengely 15mm * 17mm
  • Kenyeretábla nyomtatott áramkör,
  • 4* M3x25mm csavar
  • 3D nyomtatott ház
  • Hőre zsugorodó cső
  • Vezetékek
  • Csavaros sorkapocs (semleges vezetékek csatlakoztatásához)

Szükséges eszközök:

  • Forrasztópáka
  • Forrasztó huzal
  • Forrasztószivattyú
  • Huzalcsupaszítók
  • Vágók
  • 3D nyomtató (a ház nyomtatásához)
  • Vegyes kis szerszámok

FIGYELEM

Ez az áramkör 230 V AC -ről működik, és ha nem szokott hálózati feszültséggel dolgozni, vagy nincs elegendő tapasztalata a 230 V -os hálózati feszültséggel való munkában, kérjük, tartsa távol magát a projekttől

Nem vállalok felelősséget semmilyen veszteségért vagy kárért, amely közvetlenül a projekt követéséből vagy annak következménye

Mindig azt tanácsoljuk, hogy a megfelelő gondossággal és elővigyázatossággal járjon el, amikor az AC hálózatról dolgozik

2. lépés: Készítse elő az OLED kijelzőt és a valós idejű órát

Készítse elő az OLED kijelzőt és a valós idejű órát
Készítse elő az OLED kijelzőt és a valós idejű órát

A 3D nyomtatott burkolat minimális méretű. Ennek eredményeként el kell távolítani az OLED kijelző és a valós idejű óra fejléceit.

A következő lépés előkészítésekor távolítsa el a maradék forrasztót a lyukakból a forrasztószivattyúval.

3. lépés: Készítse elő a forgó kódolót

Készítse elő a forgó kódolót
Készítse elő a forgó kódolót

A forgó jeladó gyenge csatlakozókkal rendelkezik. A sérülések elkerülése érdekében szereljen fel egy darab nyomtatott áramköri lapot a kódolóra.

A képen a földelés (jobb felső és középső alsó) is elő van készítve.

Megjegyzés: Győződjön meg arról, hogy a nyomtatott áramkörű forgó jeladó illeszkedik a házba anélkül, hogy hozzáérne az Arduino -hoz. Szükség lehet a nyomtatott áramköri lap csiszolására, hogy jól illeszkedjen.

4. lépés: Melléklet

Burkolat
Burkolat
Burkolat
Burkolat

Nyomtassa ki a ház három részét 3D nyomtatóval. Olvassa el a Thingiverse oldalán található utasításokat.

5. lépés: Az Arduino Power LED letiltása (opcionális)

Az Arduino Power LED letiltása (opcionális)
Az Arduino Power LED letiltása (opcionális)

Annak elkerülése érdekében, hogy az időzítő zölden világítson, az Arduino áramellátásának LED -je kikapcsolható.

Vegye figyelembe, hogy ez a módosítás nem kötelező.

Az Arduino Nano módosítása abból áll, hogy eltávolítja az ellenállást a tápellátás ledje mellett (lásd a piros kört a képen).

6. lépés: Tápegység + félvezető relé

Tápegység + félvezető relé
Tápegység + félvezető relé

Ebben a lépésben a tápegységet és a szilárdtest relét egyesítik és a ház alsó részébe szerelik fel.

A tápegység és a relé közötti csatlakozások ezen alkatrészek alján vannak. A relé csavaros sorkapocsát fogják használni az Arduino -hoz való csatlakozáshoz.

Megjegyzés: Csatlakoztatáskor ügyeljen arra, hogy a szilárdtest-relé rögzítési furatai szabadon maradjanak.

  • Forrasztjon be egy csatlakozókábelt az A1 félvezető relé és a tápegység egyik váltakozó áramú csatlakozója közé
  • Forrasztjon egy vezetéket a tápegység másik váltakozó áramú csatlakozójához (ezt a nulla csavaros sorkapocshoz kell csatlakoztatni a 7. lépésben)
  • Forrasztjon vezetéket a tápegység -Vo -DC relé -közé
  • Forrasztjon vezetéket a tápegység csatlakoztatásához +Vo a DC +reléhez

Megjegyzés: Lehetséges, hogy le kell rövidíteni a tápegység és a relé vezetékét, hogy elférjenek a házban.

7. lépés: Arduino Nano + tápegység + félvezető relé

Arduino Nano + tápegység + félvezető relé
Arduino Nano + tápegység + félvezető relé

Ebben a lépésben az Arduino Nano csatlakozik a tápegységhez és a szilárdtest reléhez.

  • Vágjon le két, körülbelül 70 mm hosszú vezetéket. Az egyik oldalon 30 mm -es, a másik oldalon 4 mm -es szigetelést kell eltávolítani.
  • Forrasztja az oldalt 30 mm -es lecsupaszított szigeteléssel az Arduino +5V és GND -hez, a huzal áttapadásával
  • Vágjon le két 20 mm hosszú zsugorcsövet, és szerelje fel őket a 25 mm-es lecsupaszított részre. Ez elszigeteli a vezetékeket a csatlakozásig a szilárdtestalapú relé DC+ és DC- csatlakozóblokkjaival.
  • Vegye figyelembe, hogy a GND és a +5 V vezetékeinek kereszteződniük kell, hogy megfelelően csatlakozzanak a relé csavaros sorkapcsához.
  • Vágjon el egy körülbelül 40 mm hosszú huzalt, és csavarja le a 4 mm -es szigetelést mindkét végéről. Forrasztja az egyik oldalt az Arduino BACKSIDE oldalán található A2 csatlakozóhoz, a másik oldalt pedig a szilárdtestre szerelhető csavaros sorkapocs CH1 csatlakozójához.

FIGYELEM

Az Arduino tápellátása közvetlenül a stabil +5 V -os tápegységből történik, ahelyett, hogy az Arduino belső teljesítményszabályozót használná. Ezért nem biztonságos az USB csatlakoztatása, amikor az Arduino kap áramot a tápegységből.

Az Arduino USB -kapcsolat használata előtt mindig húzza ki a 230VAC hálózati csatlakozót.

8. lépés: Arduino Nano + Valós idejű óra

Arduino Nano + Valós idejű óra
Arduino Nano + Valós idejű óra

Ebben a lépésben a valós idejű órát csatlakoztatják az Arduino -hoz, részben az előző lépésben előkészített kábelek segítségével.

  • Forrasztja az Arduino GND-ből érkező vezetéket (szintén a relé DC-hez csatlakoztatva) a valós idejű óra „-” jeléhez.
  • Forrasztja az Arduino+5V -ból érkező vezetéket (szintén a relé DC+-jához csatlakoztatva) a valós idejű óra „+” -ához.
  • Vágjon le két, körülbelül 40 mm hosszú vezetéket, és csavarja le a 4 mm -es szigetelést mindkét végéről.
  • Forrasztjon vezetéket az Arduino A4 és a valós idejű D óra (SDA) között.
  • Forrasztjon vezetéket az Arduino A5 és a valós idejű C óra (SCL) között.
  • Alakítsa a valós idejű óra vezetékeit, hogy azok ne zavarják a forgó jeladót. Ehhez a vezetékeknek a szekrény alján kell lenniük.

9. lépés: Csatlakoztassa az OLED kijelzőt

Csatlakoztassa az OLED kijelzőt
Csatlakoztassa az OLED kijelzőt

Ebben a lépésben az OLED SPI kijelző hozzáadódik az Arduino -hoz.

  • Vágjon el 2 db 65 mm hosszú vezetéket, és csavarja le a 4 mm -es szigetelést mindkét végéről.
  • Forrasztjon vezetéket az OLED kijelző GND csatlakozójához. Forrasztja ezt a vezetéket az Arduino GND-ből érkező hőre zsugorodó cső szigetelt vezetékére (lásd a 4. lépést), és mindkét vezetéket csatlakoztassa a szilárdtest-relé DC-szerelésű csavaros sorkapcsához.
  • Forrasztjon vezetéket az OLED kijelző VCC csatlakozójához. Forrasztja ezt a vezetéket az Arduino + 5V-ból származó hőre zsugorodó cső szigetelt vezetékéhez (lásd a 4. lépést), és mindkét vezetéket csatlakoztassa a szilárdtest relé DC + szerelőcsavaros sorkapcsához.
  • Vágjon el 5 db 65 mm hosszú vezetéket, és csavarja le a 4 mm -es szigetelést mindkét végéről.
  • Forrasztjon vezetéket a D0 (CLK) és az Arduino D10 csatlakoztatásához
  • Forrasztjon vezetéket a D1 (MOSI / DATA) és az Arduino D9 csatlakoztatásához
  • Forrasztjon vezetéket a RES (RT) és az Arduino D8 csatlakoztatásához
  • Forrasztjon vezetéket az egyenáram csatlakoztatásához az Arduino D11 -hez
  • Forrasztjon vezetéket a CS csatlakoztatásához az Arduino D12 -hez

Megjegyzés: A kijelzővezetékek sorrendje nem logikus. Ez annak az eredménye, hogy először az Adafruit példát használta, majd megváltoztatta a kapcsolatokat, mert a D13 használata folytonos piros LED -et eredményez az Arduino -n.

Alternatív

Lehetőség van „normál” sorrend használatára az SPI kapcsolatokhoz. Ehhez az Arduino program digitális kimeneti definícióját az oledcontrol.cpp fájlban ennek megfelelően kell beállítani:

// A szoftver SPI használata

// pin definíciók

#define CS_PIN 12

#define RST_PIN 8

#define DC_PIN 11

#define MOSI_PIN 9

#define CLK_PIN 10

10. lépés: Rotációs kódoló

Rotációs kódoló
Rotációs kódoló

A diagram az Arduino csatlakozásait mutatja a forgó jeladóhoz (kódoló felülről nézve).

  • Vágjon el 4 db 45 mm -es vezetéket, és csavarja le a 4 mm -es szigetelést mindkét végéről.
  • Csatlakoztassa az Arduino GND -t a kódoló jobb felső és alsó középső csatlakozóihoz
  • Csatlakoztassa az Arduino D2 -t a kódoló bal alsó sarkához
  • Csatlakoztassa az Arduino D3 -at a kódoló jobb alsó sarkához
  • Csatlakoztassa az Arduino D4 -et a kódoló bal felső sarkához

11. lépés: Telepítés a házba

Telepítés a házba
Telepítés a házba

Telepítse az összes elektronikát a ház alsó részébe:

  • Csúsztassa az Arduino -t a függőleges nyílásba
  • Csúsztassa a valós idejű órát az alsó rekeszbe
  • Csúsztassa a tápegységet és a relét a felső rekeszbe, és győződjön meg arról, hogy a relé a helyén van.

12. lépés: Csatlakoztatás a hálózathoz / világításhoz

Csatlakoztatás a hálózathoz / világításhoz
Csatlakoztatás a hálózathoz / világításhoz
Csatlakoztatás a hálózathoz / világításhoz
Csatlakoztatás a hálózathoz / világításhoz

FIGYELEM

Ügyeljen a megfelelő gondosságra és elővigyázatosságra a hálózati tápegységgel való munkavégzés során, és győződjön meg arról, hogy a váltakozó áramú hálózat le van választva

Nem vállalok felelősséget semmilyen veszteségért vagy kárért, amely közvetlenül a projekt követéséből vagy annak következménye

  • Csatlakoztassa az AC hálózati fázist a relé A1 (bal) csavaros sorkapcsához.
  • Csatlakoztassa a kapcsolandó lámpa fázisát a relé B1 (jobb) csavaros sorkapcsához.
  • Külön csavaros sorkapoccsal csatlakoztassa a váltakozó áramú hálózati semleges vezetéket, a fény semleges vezetéket és a tápegység semleges vezetékét.
  • A feszültségmentesítés érdekében szereljen fel egy kötőfóliát a tápkábelek köré.

13. lépés: A ház befejezése

A burkolat befejezése
A burkolat befejezése

Ebben a lépésben befejeződik a szerelés a házba

  • Csúsztassa az OLED kijelzőt a burkolat középső részén található kijelzőrögzítő lyukon keresztül.
  • Csúsztassa át a forgó jeladót a középső rész lyukán, és győződjön meg arról, hogy a forgásgátló vonal felfelé mutat. Szerelje fel a forgó jeladót a mellékelt alátéttel és anyával.
  • Szerelje fel a ház felső részét, és zárja le a házat a négy M3x25 mm -es csavar alulról történő rögzítésével.

14. lépés: Az Arduino programozása

FIGYELEM

Az Arduino tápellátása közvetlenül a stabil +5 V -os tápegységből történik, ahelyett, hogy az Arduino belső teljesítményszabályozót használná. Ezért nem biztonságos az USB csatlakoztatása, amikor az Arduino kap áramot a tápegységből.

Az Arduino USB -kapcsolat használata előtt mindig húzza ki a 230VAC hálózati csatlakozót.

Töltse le az Arduino időzítő programot a GitHub -ból.

Ez a program az Arduino IDE -t használja, amelyet itt szerezhet be.

A program a következő további könyvtárakat használja:

SSD1303 Ascii

Arduino Wire könyvtár

Vegye figyelembe, hogy a dusk2dawn könyvtárat is használják, de az interfész megváltozása miatt kódként szerepel.

A szürkület / hajnal pontos kiszámításának biztosítása érdekében be kell állítani a hosszúságot és a szélességet, valamint az időzónát.

Amint azt a dusk2dawn példában leírtuk, bármely hely hosszúságának és szélességének megkeresésének egyszerű módja, ha megkeresi a helyet a Google Térképen, kattintson a jobb egérgombbal a térképre, és válassza a "Mi van itt?" Lehetőséget. Alul egy kártyát lát a koordinátákkal.

A hosszúság és a szélesség a programban kódolva van, a Dusk2Dawn.cpp 19. és 20. sorában:

/* Itt kell beállítani a földrajzi szélességet és hosszúságot.

* * TIPP: A hosszúság és szélesség megkeresésének egyszerű módja az, ha * megtalálja a helyet a Google Térképen, kattintson a jobb egérgombbal a térképen, és * válassza a "Mi van itt?" Lehetőséget. Alul egy kártya látható a * koordinátákkal. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrecht

Az időzóna szintén a Dusk2Dawn.cpp 24. sorában van kódolva. Alapértelmezés szerint Hollandia (GMT + 1):

/* Itt adja meg az időzónáját (GMT -eltolás).

*/ #definálja a TIMEZONE 1 -et

Az Arduino első programozásakor az EEPROM memóriát inicializálni kell. Ehhez módosítsa a timer.cpp 11. sort az EEPROM inicializálásához:

// változás igazra az első programozáskor

#define INITIALIZE_EEPROM_MEMORY hamis

Töltse fel a programot az Arduino -ba, és indítsa el az Arduino -t.

Kapcsolja ki az EEPROM inicializálást, és töltse fel újra a programot az Arduino -ba. Az időzítő most emlékezni fog a kapcsolási idő beállításaira újraindításkor.

15. lépés: Az idő és a kapcsolási idő beállítása

Felhasználói interakciós koncepciók:

  • Rövid megnyomással megerősítheti a választásokat. Ezenkívül az időzítő fő képernyőjén egy rövid megnyomás be- vagy kikapcsolja a fényt.
  • Hosszú megnyomással léphet be a menübe az időzítő fő képernyőjén. Bárhol a menüben, hosszan megnyomva visszatér az időzítő fő képernyőjére.
  • '>' Kiválasztási kurzus. Ez a kurzor jelzi a menüben a kiválasztott opciót.

Fő időzítő képernyő

Az időzítő fő képernyője a következőket mutatja:

A hét napja Su

Jelenlegi idő: 16:00

Az aktuális időzítő állapota és a következő kapcsolási idő Az időzítő kikapcsol 17: 12 -ig

Hajnal és alkonyat Hajnal 08:05 Alkonyat 17:10

A helyes idő beállítása

Nyomja meg hosszan a menübe való belépéshez. A következő lehetőségek láthatók:

Vissza IdőbeállításHét napi programHétvégi programOpciók

Válassza ki a beállított időt a valós idejű óra dátumának és idejének beállításához. Adja meg a megfelelő értékeket:

ÉvHónapNapidő

Az időzítő automatikusan meghatározza a hét napját. A nyári időszámítás váltása szintén automatikusan történik. A nyári időszámítás csak az európai időzónára vonatkozik.

Az időzítő program beállítása

Az időzítő 2 programot tartalmaz, egyet a hét napjaira, egyet a hétvégére. Ne feledje, hogy a pénteki napot a hétvége részének tekintik, a fények egy kicsit tovább éghetnek.

Minden időzítőnek van be- és kikapcsolási pillanata. A pillanat lehet:

  • Idő: Pontosan meghatározott idő
  • Hajnal: Váltás a hajnal számított ideje alapján
  • Alkonyat: Váltás az alkonyat számított ideje alapján

Alkonyatkor és hajnalban 59 perc korrekciós értéket adhat meg előtte vagy utána.

Példák:

Ha egész éjjel be akarja kapcsolni a lámpát, válassza a bekapcsolást (szürkület + 10 perc), a kikapcsolást (hajnal - 10 perc)

Az esti lámpa bekapcsolásához válassza a bekapcsolás alkonyatkor, kikapcsolás időpontját: 22:30.

Lehetőségek

Az opciók képernyőn időtúllépés állítható be a képernyő váltásához.

Amikor a képernyő ki van kapcsolva, a forgó jeladó gomb megnyomásával visszatér az időzítő fő képernyőjére.

Ajánlott: