Sisällysluettelo:
- Vaihe 1: Osaluettelo ja työkalut
- Vaihe 2: Valmistele OLED -näyttö ja reaaliaikainen kello
- Vaihe 3: Valmistele kiertokooderi
- Vaihe 4: Kotelo
- Vaihe 5: Poista Arduino Power LED käytöstä (valinnainen)
- Vaihe 6: Virtalähde + SSD -rele
- Vaihe 7: Arduino Nano + virtalähde + puolijohderele
- Vaihe 8: Arduino Nano + reaaliaikainen kello
- Vaihe 9: Liitä OLED -näyttö
- Vaihe 10: Kiertokooderi
- Vaihe 11: Asennus koteloon
- Vaihe 12: Kytkeminen verkkovirtaan / valoon
- Vaihe 13: Kotelon viimeistely
- Vaihe 14: Arduinon ohjelmointi
- Vaihe 15: Kellonajan ja kytkentäaikojen asettaminen
Video: Arduino Dusk/Dawn Clock Timer: 15 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Yhteenveto:
Tämä Arduino -pohjainen ajastin voi kytkeä yhden 220 V: n valon hämärässä, aamunkoitteessa tai tiettynä aikana.
Johdanto:
Jotkut talon valot syttyvät automaattisesti hämärässä, joko ennalta asetettuun aikaan tai aamuun asti (koko yön).
Valojen sijainti ei salli valoanturin käyttöä. Normaalisti käytettävissä olevat kellonajastimet kytkeytyvät päälle tiettynä aikana. Kytkeminen päälle hämärän aikaan vaatii siksi ajastinohjelman asetuksen säännöllistä säätämistä.
Mukavana haasteena päätin rakentaa sen sijaan mukautetun Arduino -pohjaisen itsenäisen ajastimen. Se määrittää reaaliaikaisen kellon ja Dusk2Dawn -kirjaston määrittääkseen ajan, jolloin valot on kytkettävä päälle tai pois. Tämän ajastimen kotelo on 3D -painettu ja löytyy Thingiversesta. Tämän projektin Arduino -koodi löytyy GitHubista.
Tämän ajastimen luomisessa sain inspiraatiota monista Internetin malleista ja piireistä. Kiitän kaikkia osallistujia, joita ei ole nimenomaisesti mainittu.
Luettavuuden vuoksi osittaiset kaaviot esitetään vaiheissa tarpeen mukaan täydellisen piirikaavion sijasta.
Vaihtoehtoisia ratkaisuja:
Itsenäisen ajastimen sijaan on monia ratkaisuja, joissa älykäs kodin automaatiojärjestelmä ohjaa valoja. Tavoitteeni oli saada itsenäinen ratkaisu, joka ei riipu WIFI (tai muusta) yhteydestä.
Rajoitukset:
Tämän projektin mukana toimitettu koodi sisälsi kesäajan muutosten toteutuksen, joka perustuu eurooppalaiseen kesäaikaan.
Vaihe 1: Osaluettelo ja työkalut
Osat:
Osien kokonaiskustannukset (ilman 3D -tulostusta) noin 30 €.
- Arduino Nano V3 (yhteensopiva) ilman otsikoita
- Virtalähde 5V 0,6A (34 x 20 x 15 mm)
- Puolijohderele 5V - Aktiivinen matala - 2A 230VAC
- Reaaliaikainen kello DS3231 (pieni)
- 0,96”OLED -näyttö SPI 128*64 pikseliä
- Pyörivä anturi - EC11 - 20 mm
- Nuppi 6mm akseli 15mm * 17mm
- Leipälevyn painettu piirilevy,
- 4* M3x25mm ruuvit
- 3D -painettu kotelo
- Lämpökutistuvat letkut
- Johdot
- Ruuviliitin (nollajohtojen liittämiseen)
Tarvittavat työkalut:
- Juotin
- Juotoslanka
- Juotospoistopumppu
- Langanpoistimet
- Leikkurit
- 3D -tulostin (kotelon tulostamiseen)
- Pieniä työkaluja
VAROITUS
Tämä piiri toimii 230 V AC: llä ja jos et ole tottunut työskentelemään verkkojännitteellä tai sinulla ei ole riittävästi kokemusta 230 V AC -jännitteen kanssa työskentelystä, pysy kaukana tästä projektista
En ota vastuuta mistään menetyksistä tai vahingoista, jotka aiheutuvat suoraan tämän projektin seuraamisesta tai sen seurauksena
On aina suositeltavaa noudattaa asianmukaista varovaisuutta ja varotoimia, kun työskentelet verkkovirran kanssa
Vaihe 2: Valmistele OLED -näyttö ja reaaliaikainen kello
3D -painettu kotelo on suunniteltu pienikokoiseksi. Tämän seurauksena OLED -näytön ja reaaliaikaisen kellon otsikot on poistettava.
Kun valmistaudut seuraavaan vaiheeseen, poista jäännös juotosta rei'istä juottopumpulla.
Vaihe 3: Valmistele kiertokooderi
Pyörivässä anturissa on heikot liittimet. Vaurioiden välttämiseksi kiinnitä pala piirilevyä anturiin.
Kuvassa myös maadoitus (oikeassa yläkulmassa ja keskellä alhaalla) on jo valmistettu.
Huomautus: Varmista, että piirikortilla varustettu pyörivä anturi sopii koteloon koskematta Arduinoon. Painepiirilevyä voidaan joutua hioamaan tiukan istuvuuden saavuttamiseksi.
Vaihe 4: Kotelo
Tulosta kotelon kolme osaa 3D -tulostimella. Katso Thingiversen ohjeita.
Vaihe 5: Poista Arduino Power LED käytöstä (valinnainen)
Jotta ajastimessa ei palaisi vihreää hehkua, Arduinon virran merkkivalo voidaan poistaa käytöstä.
Huomaa, että tämä muutos on valinnainen.
Arduino Nanon muutos koostuu vastuksen poistamisesta virtajohdon vierestä (katso punainen ympyrä kuvassa).
Vaihe 6: Virtalähde + SSD -rele
Tässä vaiheessa virtalähde ja puolijohderele yhdistetään ja asennetaan kotelon alaosaan.
Virtalähteen ja releen väliset liitännät tehdään näiden komponenttien alareunaan. Releen ruuviliitintä käytetään yhteyden muodostamiseen Arduinoon.
Huomautus: Kun teet liitäntöjä, varmista, että puolijohdereleen kiinnitysreiät pidetään vapaina.
- Juotos liitäntäjohto puolijohdereleen A1 ja yhden virtalähteen AC -liitännän välillä
- Juotosjohto virtalähteen toiseen vaihtovirtaliitäntään (tämä liitetään nollaruuviliittimeen vaiheessa 7)
- Juotosjohto virtalähteen välillä -Vo releen DC-
- Juotosjohto virtalähteen liittämiseen +Vo DC -releeseen +
Huomautus: Virtalähteen ja releen johdot saatetaan joutua lyhentämään, jotta ne mahtuvat koteloon.
Vaihe 7: Arduino Nano + virtalähde + puolijohderele
Tässä vaiheessa Arduino Nano kytketään virtalähteeseen ja puolijohdereleeseen.
- Katkaise kaksi lankaa, joiden pituus on noin 70 mm. Irrota 30 mm eristys toiselta puolelta ja 4 mm toiselta puolelta.
- Juotos sivu 30 mm: n irrotetulla eristyksellä Arduino +5V: lle ja GND: lle, lanka tarttumalla läpi
- Leikkaa kaksi 20 mm: n pituista kutisteputkea ja asenna ne 25 mm: n kuoritun osan päälle. Tämä eristää johtimet liitäntään puolijohdereleen kiinnitysruuviliittimillä DC+ ja DC-.
- Huomaa, että GND: n ja +5 V: n johdot on ristattava, jotta ne voidaan kytkeä oikein releen ruuviliittimeen.
- Leikkaa noin 40 mm pitkä lanka ja irrota 4 mm: n eriste molemmista päistä. Juotos toinen puoli Arduinon takapuolen A2-liitäntään ja toinen puoli SSD-kiinnitysruuviliittimen CH1-liitäntään.
VAROITUS
Arduino saa virtansa suoraan vakaasta +5 V: n virtalähteestä Arduinon sisäisen tehonsäätimen sijaan. Siksi USB: n liittäminen ei ole turvallista, kun Arduino saa virtaa virtalähteestä.
Irrota aina 230VAC -verkko ennen Arduino -USB -liitännän käyttöä.
Vaihe 8: Arduino Nano + reaaliaikainen kello
Tässä vaiheessa reaaliaikainen kello kytketään Arduinoon, osittain käyttämällä edellisessä vaiheessa valmistettuja kaapeleita.
- Juotos Arduinon GND: stä tuleva johto (joka on myös kytketty releen DC- liittimeen) reaaliaikaisen kellon "-".
- Juotos Arduino+5V: sta tuleva johto (myös kytketty releen DC+: een) reaaliaikaisen kellon "+" -merkkiin.
- Leikkaa kaksi johtoa, joiden pituus on noin 40 mm, ja irrota 4 mm: n eriste molemmista päistä.
- Juotos lanka Arduino A4: n ja reaaliaikaisen kellon D (SDA) väliin.
- Juotosjohto Arduino A5: n ja reaaliaikaisen kellon C (SCL) väliin.
- Muotoile reaaliaikaisen kellon johdot varmistaaksesi, että ne eivät häiritse pyörivää anturia. Tätä varten johtojen on oltava kotelon alaosassa.
Vaihe 9: Liitä OLED -näyttö
Tässä vaiheessa OLED SPI -näyttö lisätään Arduinoon.
- Katkaise 2 65 mm pituista johtoa ja nauha 4 mm: n eriste molemmista päistä.
- Juotosjohdin OLED -näytön GND -liitäntään. Juotos tämä johto Arduino GND: stä tulevaan kutisteputken eristettyyn johtoon (katso vaihe 4) ja liitä molemmat johdot puolijohdereleen DC-kiinnitysruuviliittimeen.
- Juotosjohdin OLED -näytön VCC -liitäntään. Juotos tämä johto Arduino + 5V: sta tulevaan kutisteputken eristettyyn johtoon (katso vaihe 4) ja liitä molemmat johdot puolijohdereleen DC + -kiinnitysruuviliittimeen.
- Leikkaa 5 johtoa, joiden pituus on 65 mm, ja irrota 4 mm: n eriste molemmista päistä.
- Juotosjohto D0: n (CLK) yhdistämiseksi Arduino D10: een
- Juotosjohto D1: n (MOSI / DATA) yhdistämiseksi Arduino D9: een
- Juotosjohto liittääksesi RES (RT) Arduino D8: een
- Juotosjohto DC: n liittämiseksi Arduino D11: een
- Juotosjohto CS: n liittämiseksi Arduino D12: een
Huomautus: Näyttöjohtojen järjestys ei ole looginen. Tämä on seurausta siitä, että ensin käytetään Adafruit -esimerkkiä ja sitten vaihdetaan yhteyksiä, koska D13: n käyttäminen johtaa punaiseen LED -valoon Arduinossa koko ajan.
Vaihtoehto
SPI -yhteyksille voidaan käyttää”normaalia” järjestystä. Tätä varten Arduino -ohjelman digitaalisen ulostulon määritelmä tiedostossa oledcontrol.cpp on säädettävä vastaavasti:
// Ohjelmiston SPI: n käyttö
// nastamääritelmät
#define CS_PIN 12
#define RST_PIN 8
#define DC_PIN 11
#define MOSI_PIN 9
#define CLK_PIN 10
Vaihe 10: Kiertokooderi
Kaavio esittää Arduinon liitännät pyörivään anturiin (anturi ylhäältä katsottuna).
- Leikkaa 4 45 mm: n johtoa ja nauha 4 mm: n eriste molemmista päistä.
- Liitä Arduino GND lähettimen oikeaan ylä- ja alakeskiliittimeen
- Liitä Arduino D2 anturin vasempaan alakulmaan
- Liitä Arduino D3 anturin oikeaan alakulmaan
- Liitä Arduino D4 anturin vasempaan yläkulmaan
Vaihe 11: Asennus koteloon
Asenna kaikki elektroniikka kotelon alaosaan:
- Liu'uta Arduino pystyasennossa
- Liu'uta reaaliaikainen kello alaosastossa
- Liu'uta virtalähdettä ja reletä yläosassa, varmista, että rele on kiinnikkeillään.
Vaihe 12: Kytkeminen verkkovirtaan / valoon
VAROITUS
Varmista, että olet varovainen ja varovainen työskennellessäsi verkkovirran kanssa ja varmista, että verkkovirta on irrotettu
En ota vastuuta mistään menetyksistä tai vahingoista, jotka aiheutuvat suoraan tämän projektin seuraamisesta tai sen seurauksena
- Liitä AC -verkkovaihe releen A1 (vasen) ruuviliittimeen.
- Kytke vaihdettavan valon vaihe releen B1 (oikea) ruuviliittimeen.
- Liitä verkkovirran nollajohto, kevyt nollajohto ja virtalähteen nollajohto erillisellä ruuviliittimellä.
- Vedonpoistoa varten kiinnitä nippuside jokaisen virtakaapelin ympärille.
Vaihe 13: Kotelon viimeistely
Tässä vaiheessa asennus koteloon on valmis
- Liu'uta OLED -näyttö kotelon keskiosassa olevan näytön kiinnitysreiän läpi.
- Liu'uta pyörivä anturi keskiosan reiän läpi ja varmista, että pyörimisen estoviivat ovat ylöspäin. Asenna pyörivä anturi mukana toimitetulla aluslevyllä ja mutterilla.
- Asenna kotelon yläosa ja sulje kotelo kiinnittämällä neljä M3x25mm ruuvia alhaalta.
Vaihe 14: Arduinon ohjelmointi
VAROITUS
Arduino saa virtansa suoraan vakaasta +5 V: n virtalähteestä Arduinon sisäisen tehonsäätimen sijaan. Siksi USB: n liittäminen ei ole turvallista, kun Arduino saa virtaa virtalähteestä.
Irrota aina 230VAC -verkko ennen Arduino -USB -liitännän käyttöä.
Hae Arduino -ajastinohjelma GitHubista.
Tämä ohjelma käyttää Arduino IDE: tä, joka on saatavana täältä.
Ohjelma käyttää seuraavia lisäkirjastoja:
SSD1303 Ascii
Arduino Wire -kirjasto
Huomaa, että myös dusk2dawn -kirjastoa käytetään, mutta se sisältyy koodiin sen käyttöliittymän muutoksen vuoksi.
Oikean hämärän / aamunkoiton laskemisen varmistamiseksi pituus- ja leveysaste sekä aikavyöhyke on asetettava.
Kuten dusk2dawn -esimerkissä on kuvattu, helppo tapa löytää pituus- ja leveysaste mille tahansa sijainnille on löytää paikka Google Mapsista, napsauttaa hiiren kakkospainikkeella paikkaa kartalla ja valita "Mitä täällä on?". Näet alareunassa kortin, jossa on koordinaatit.
Pituus- ja leveyspiirit on koodattu ohjelmassa Dusk2Dawn.cpp -rivillä 19 ja 20:
/* Sijaintisi leveys- ja pituusaste on määritettävä täällä.
* * VIHJE: Helppo tapa löytää pituus- ja leveysaste mille tahansa sijainnille on * löytää paikka Google Mapsista, napsauttaa paikkaa hiiren kakkospainikkeella ja * valita "Mitä täällä on?". Näet alareunassa kortin, jossa on * -koordinaatit. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrecht
Aikavyöhyke on myös kovakoodattu Dusk2Dawn.cpp -rivillä 24. Oletusarvoisesti se on Alankomaat (GMT + 1):
/* Anna aikavyöhykkeesi (siirtymä GMT: hen) tähän.
*/ #määritä TIMEZONE 1
Kun ohjelmoit Arduinoa ensimmäistä kertaa, EEPROM -muisti on alustettava. Muuta tätä varten timer.cpp -rivi 11 suorittamaan EEPROM -alustus:
// vaihda tosi ensimmäistä ohjelmointia varten
#define INITIALIZE_EEPROM_MEMORY epätosi
Lataa ohjelma Arduinolle ja käynnistä Arduino.
Poista EEPROM -alustus käytöstä ja lataa ohjelma uudelleen Arduinolle. Ajastin muistaa nyt kytkentäajan asetukset uudelleenkäynnistyksen yhteydessä.
Vaihe 15: Kellonajan ja kytkentäaikojen asettaminen
Käyttäjien vuorovaikutuksen käsitteet:
- Lyhyt painallus vahvistaa valinnat. Lisäksi ajastimen päänäytössä lyhyt painallus kytkee valon päälle tai pois päältä.
- Pitkän painalluksen avulla pääset valikkoon ajastimen päänäytöstä. Missä tahansa valikossa pitkä painallus palaa ajastimen päänäyttöön.
- ">" Valintakurssi. Tämä kohdistin osoittaa valitun vaihtoehdon valikossa.
Ajastimen päänäyttö
Ajastimen päänäyttö näyttää:
Viikonpäivä Su
Nykyinen aika 16:00
Ajastimen nykyinen tila ja seuraava kytkentäaika Ajastin POIS 17:12 asti
Aamun ja hämärän aika Auringonnousu 08:05 Hämärä 17:10
Oikean ajan asettaminen
Siirry valikkoon painamalla pitkään. Seuraavat vaihtoehdot näkyvät:
TakaisinAikaAikaViikon päiväohjelmaViikonloppuohjelmaValinnat
Valitse Aseta aika asettaaksesi reaaliaikaisen kellon päivämäärän ja ajan. Anna oikeat arvot:
VuosiKuukausiPäiväAika
Ajastin määrittää automaattisesti viikonpäivän. Kesäajan vaihtaminen tapahtuu myös automaattisesti. Kesäaika on käytössä vain Euroopan aikavyöhykkeellä.
Ajastinohjelman asettaminen
Ajastimessa on 2 ohjelmaa, yksi viikonpäiville ja toinen viikonlopulle. Huomaa, että perjantaita pidetään viikonlopun osana, valot voivat palaa hieman pidempään.
Jokaisessa ajastimessa on käynnistys- ja sammutusmomentti. Hetki voi olla joko:
- Aika: Tarkka määrätty aika
- Aamunkoitto: Vaihda lasketun koittoajan perusteella
- Hämärä: Vaihda lasketun hämäräajan perusteella
Hämärässä ja aamunkoitteessa on mahdollista syöttää korjausarvo 59 minuuttia ennen tai jälkeen.
Esimerkkejä:
Jos haluat kytkeä valon päälle koko yön, valitse kytke päälle (hämärä + 10 min), sammuta kello (aamunkoitto - 10 min)
Jos haluat kytkeä valon päälle illalla, valitse kytke päälle hämärässä ja sammuta aikaan: 22:30.
Asetukset
Asetusnäytössä voidaan asettaa aikakatkaisu näytön vaihtamiseksi.
Kun näyttö on kytketty pois päältä, kiertokooderin nupin painaminen palaa ajastimen päänäyttöön.
Suositeltava:
Budjetti Arduino RGB Word Clock!: 7 vaihetta (kuvilla)
Budjetti Arduino RGB Word Clock!: Hei kaikille, tässä on oppaani siitä, miten voit tehdä oman yksinkertaisen & halpa sana kello! Työkalut, joita tarvitset tähän projektiin Juotin & Juotoslangat (mieluiten vähintään 3 eri väriä) 3D -tulostin (tai pääsy yhteen, voit myös
Arduino Outlet Timer: 3 vaihetta
Arduino Outlet Timer: Lähtöajastimet ovat loistava työkalu pitää laitteet liian pitkään, mutta niistä puuttuu toisinaan tarvittava mukautus. Joissakin laitteissa ei ole kytkimiä ollenkaan, ja kotitekoisen automaattisen ajastimen tekeminen voi olla todella kätevää. Sillä
Arduino Hang Guardian - Arduino Watchdog Timer -opetusohjelma: 6 vaihetta
Arduino Hang Guardian - Arduino Watchdog Timer -opetusohjelma: Hei kaikki, se tapahtuu meille kaikille. Rakennat projektin, liität innokkaasti kaikki anturit, ja yhtäkkiä Arduino jumittuu eikä tuloja käsitellä. "Mitä tapahtuu?", Kysyt ja alat kaivaa koodiasi läpi vain
Arduino RGB Matrix Word Clock: 6 vaihetta
Arduino RGB Matrix Word Clock: Unohda numerot, RGB LED Word Clock näyttää ajan tekstinä! Kahden käden tai digitaalisen näytön sijasta Word -kello näyttää nykyisen ajan sanoina kirkkaassa LED -valossa käyttämällä tavallista 8x8 LED -matriisia. Jos kellonaika olisi esimerkiksi 10:50
Arduino Word Clock Mini: 20 vaihetta (kuvilla)
Arduino Word Clock Mini: Arduino Word Clock Mini- Anniversary Clock Suhteellisen helppo rakentaa Word Clock käyttämällä Arduino Nano -laitetta ja neljää MAX7219 32 mm: n pistematriisinäyttömoduulia Tyyli-, kuvakehys- tai Perspex-kuutio erilaisilla perusvaihtoehdoilla. Tekniset tiedot Mini Arduino Word Clo