Sisällysluettelo:

Arduino Dusk/Dawn Clock Timer: 15 vaihetta
Arduino Dusk/Dawn Clock Timer: 15 vaihetta

Video: Arduino Dusk/Dawn Clock Timer: 15 vaihetta

Video: Arduino Dusk/Dawn Clock Timer: 15 vaihetta
Video: Arduino Tutorial!! DIY: How To Make a SUNRISE Alarm Clock (with arduino , rtc , super bright led) 2024, Marraskuu
Anonim
Arduino Dusk/Dawn Clock Timer
Arduino Dusk/Dawn Clock Timer

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

Osaluettelo ja työkalut
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

Valmistele OLED -näyttö ja reaaliaikainen kello
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

Valmistele kiertokooderi
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

Kotelo
Kotelo
Kotelo
Kotelo

Tulosta kotelon kolme osaa 3D -tulostimella. Katso Thingiversen ohjeita.

Vaihe 5: Poista Arduino Power LED käytöstä (valinnainen)

Poista Arduino Power LED käytöstä (valinnainen)
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

Virtalähde + puolijohderele
Virtalähde + puolijohderele

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

Arduino Nano + virtalähde + puolijohderele
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

Arduino Nano + reaaliaikainen kello
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ö

Liitä OLED -näyttö
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

Pyörivä kooderi
Pyörivä kooderi

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

Asennus koteloon
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

Kytkeminen verkkovirtaan / valoon
Kytkeminen verkkovirtaan / valoon
Kytkeminen verkkovirtaan / valoon
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

Kotelon viimeistely
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: