Sisällysluettelo:

Kirkas ohjattava auringonnousuvalo: 6 vaihetta
Kirkas ohjattava auringonnousuvalo: 6 vaihetta

Video: Kirkas ohjattava auringonnousuvalo: 6 vaihetta

Video: Kirkas ohjattava auringonnousuvalo: 6 vaihetta
Video: Minun tehtäväni on tarkkailla metsää ja täällä tapahtuu jotain outoa. 2024, Heinäkuu
Anonim
Kirkas ohjattava auringonnousulamppu
Kirkas ohjattava auringonnousulamppu
Kirkas ohjattava auringonnousulamppu
Kirkas ohjattava auringonnousulamppu

Oletko koskaan herännyt kello 7, tavallisena ajankohtana, jolloin sinun on herättävä töihin, ja löytänyt itsesi pimeyteen? Talvi on kauheaa aikaa, eikö? Sinun on herättävä keskellä yötä (muuten miksi on niin pimeää?), Repäise itsesi sängystä ja lähetä puolitajuntainen kehosi suihkuun.

Tämän hankkeen tarkoituksena on ratkaista yksi ongelmista - aamun pimeys.

Ympärillä on paljon halpoja auringonnousulamppuja, mutta ne ovat kaikki pienitehoisia ja vaaleita. Ne ovat enemmän kuin yölamppu, jonka on tarkoitus saada sinut nukkumaan paremmin. Ei ollenkaan mitä haluan.

Samaan aikaan vain kirkkaan valon sytyttäminen herättää sinut heti, mutta ei tarpeeksi varovasti. Haluan yhdistelmän molempia lähestymistapoja - syttyä pienellä kirkkaudella, saavuttaa hitaasti täydelle nopeudelle, sitten todellinen hälytys soi ja et ole enää niin uninen. Lisätään siihen vähän linnunlaulua, ja heräät taivaassa joka aamu!

Vaihe 1: Lamppujärjestelmä

Lampulaite
Lampulaite
Lampulaite
Lampulaite

Ensinnäkin tarvitsemme itse lampun. Minulla on melko suuri huone, jossa on valkoiset seinät ja katto, joten hain 7 GU10 -LED -lamppua, jotain 6W kutakin, yli 40 W puhdasta tehoa! Se riittää, jotta sinusta tuntuu, että on jo päivä. Sitä voidaan käyttää myös tavallisena huoneen valaistuksena päivän aikana.

Sillä ei ole väliä, miten kokoat sen, mitä lamppuja käytät ja mitkä pistorasiat. Kaikki mikä on tärkeää - näiden on oltava himmennettäviä lamppuja!

Minun tapauksessani minulla on puulauta, johon on kiinnitetty 7 GU10 -liitintä, jotka kaikki on kytketty yhteen. Laitan sen muovilaatikkoon myöhemmin.

Vaihe 2: Himmennysteoria

Himmennysteoria
Himmennysteoria

Teoriassa ei ole eroa teorian ja käytännön välillä. Käytännössä on.

Himmentimen ohjaaminen ESP32/Arduinosta ei näyttänyt olevan niin yksinkertaista kuin kuvittelin. Sain yhden RobotDyn AC Light Dimmer -moduuleista. Valmistaja ehdottaa tätä varten kirjastoa. Se ei toimi ESP32: ssa (ja sitä on todella vaikea mukauttaa, koska se käyttää paljon matalan tason ATMega-erityisiä rekisterin käyttöoikeuksia), eräänlainen toimii Arduino Nanolla, mikä antaa kauhean välkkymisen matalan ja keskikokoisen kirkkauden suhteen. Siksi käytin jonkin aikaa tutkiakseni, miten kaikki toimii, ja omaa tapaani.

Vähän teoriaa

Valittu himmenninmoduuli käyttää erittäin suosittua TRIAC: BTA16 -moduulia. Siitä on paljon artikkeleita. Yritän tiivistää sen tähän.

TRIAC on moduuli, joka voi lähettää positiivisen tai negatiivisen tulon ulostuloon tai estää sen. Oletuksena se estää kaiken. Jotta voimme avata sen, meidän pitäisi antaa sille korkea signaali porttitulolla 100 meille. Sitten se pysyy auki, kunnes virta laskee nollaan, mikä tapahtuu, kun tulojännite muuttaa merkkiä ja ylittää nollan jännitteen. Sitten seuraavalla jaksolla meidän pitäisi tehdä toinen 100 us pulssi ja niin edelleen. Valitsemalla pulssin antamisajankohdan hallitsemme kirkkautta: tee se heti alussa, ja se saavuttaa lähes 100% voimansiirron. Tee se myöhemmin, niin se himmenee. Katso yllä oleva kaavio ja selitä se.

Voidaksemme tuottaa pulsseja samassa syklin vaiheessa meidän on tiedettävä tarkasti, milloin se alkaa. Siksi himmenninmoduulissa on sisäänrakennettu Zero-Cross-ilmaisin. Se vain nostaa signaalin (jonka saamme laitteiston keskeytyksenä Arduinossa) joka kerta, kun jännite ylittää nollan.

Vaihe 3: Himmennysharjoitus

Himmennysharjoitus
Himmennysharjoitus

Joo, näin heräisit, jos lampussasi ei ole himmennystä ja se tuo 40 W: n tehoa unisiin silmiin.

Yleisiä ongelmia

Meidän on käsiteltävä useita ongelmia.

Vilkkuu.

Mikro -ohjaimen ajoituksen on oltava todella tarkka kytkemällä portin ulostulo päälle ja pois. Kirjasto RobotDyn ehdottaa, että ajastin keskeyttää 100 käyttötunnin välein ja muuttaa porttitasoa vain ajastimella. Se tarkoittaa, että se voi olla +/- 50 mikrosekuntia pois optimaalisesta arvosta. Se antaa hyvän tuloksen suurella kirkkaudella, mutta välkkyy paljon pienellä kirkkaudella. Myös jos mikro -ohjain tekee paljon asioita, se vähentää ajan tarkkuutta, joten ihannetapauksessa tulisi käyttää erillistä mikro -ohjainta himmentimelle.

Minimaalinen kirkkaus. LED-valoissa on sisäänrakennettu tehomuunnin, joka vain kieltäytyy toimimasta ilman tarpeeksi virtaa. Lamppuni näyttivät toimivan hyvin alkaen 10-11%.

Jopa tällä arvolla jotkut lamput kieltäytyivät syttymästä käynnistettäessä. Vaikka kirkkautta lisätään myöhemmin, ne pysyvät tummina. Siksi, kun siirrymme OFF -tilasta positiiviseen kirkkauteen, aloitamme 5 syklin lämpenemisajalla, jolloin annamme lampuille täyden tehon. Sitten jatkamme halutulla kirkkaudella. Se on melkein huomaamaton, mutta todella auttaa.

50/60 Hz verkkotaajuus. Sinun on tiedettävä, kuinka paljon odottaa ennen seuraavaa nollaa. Se on melko yksinkertaista - katsomme vain aikaeroa kahden viimeisen keskeytyksen välillä.

Kirkkauden asteittainen muutos. ESP32 on melko hidas, triviaalin HTTP- tai jopa WebSocket -pyynnön käsittely kestää 0,5 sekuntia, joten älä odota tasaista kirkkauden siirtymistä, se on toteutettava jollain tavalla himmentimen tasolla. Siksi kun se saa uuden kirkkauden sarjaportista, se vain asettaa tavoitteen ja lähestyy sitä sitten hitaasti ajan myötä.

Ratkaisu

Tässä on yksinkertainen Arduino -koodini himmentimelle. Se odottaa komentoa (yksi tavu uudella kirkkaudella) sarjatulosta, käsittelee Zero-Cross-keskeytyksiä, ohjaa TRIACia ja käsittelee kaikkia yllä olevia ongelmia.

Vaihe 4: Lampun ohjain (ESP32)

Lampun ohjain (ESP32)
Lampun ohjain (ESP32)
Lampun ohjain (ESP32)
Lampun ohjain (ESP32)

Tässä on kaikkien käytössä olevien komponenttien kytkentäkaavio. ESP32 -levy on hyvin erilainen kuin mitä käytän (Heltec), joten valitut nastat näyttävät hieman oudolta, mutta sen pitäisi silti toimia hyvin. Voit vapaasti käyttää erilaisia nastoja projektissasi.

Tässä on koodi, joka ohjaa kaikkea. Se on aika suoraviivaista.

Tärkeimmät ominaisuudet

Ohjattavissa Lamppu muodostaa yhteyden WiFi -verkkoon, käynnistää WebSocket -palvelimen portissa 81, odottaa komentoja.

Tällä hetkellä tuetaan vain kahta komentoa: "set_brightness" ja "update_settings", jotka ovat … melko itsekuvaavia.

Ajan saaminen NTP: stä. En halua monimutkaista asioita liikaa ja lisätä reaaliaikaista kelloa kaavaan. Meillä on Internet -yhteys, mikä tarkoittaa, että voimme saada reaaliajan joltakin NTP -palvelimelta ja seurata sitten nykyistä aikaa järjestelmän ajastimien avulla.

Auringonnousuhälytys Voit asettaa yhden hälytyksen. Mitä se itse asiassa tekee: alkaa pienimmällä kirkkaudella ja siirtyy vähitellen täyteen kirkkauteen 10 minuutin aikana. Sitten se pysyy päällä pari tuntia. Sitten se sammuu vähitellen 60 sekunnin aikana.

Kaikki yllä olevat parametrit ovat konfiguroitavissa.

Linnut laulavat. DFPlayer miniä käytetään musiikin toistamiseen. Siihen on paljon oppaita, mutta sinun tarvitsee vain kytkeä FAT32 -muotoon muotoiltu MicroSD -kortti yhdellä tiedostolla nimeltä 0001.mp3. Tässä tiedostossa voi olla mitä tahansa, minun tapauksessani se on 15 minuuttia lintujen laulua (se toistetaan), ja se tekee aamuni hämmästyttäväksi. ESP32 ja DFplayer - ne ovat valinnaisia, mutta auttavat vähentämään melua.

Asetusten tallentaminen EEPROMiin Kaikki asetukset kirjoitetaan EEPROMiin ja ladataan käynnistyksen yhteydessä. Sen avulla lamppua voidaan käyttää vähintään hälytystoiminnolla ilman ohjainta.

Tietojen näyttäminen OLED-näytölle Heltec ESP32 -laitteessa on sisäänrakennettu SSD1306 128X64 I2C -näyttö. Kaikki olennaiset tiedot esitetään siinä. Tiedän, että laatikko näyttää ruma, olen juuri 3D-tulostanut jotain ja leikannut reiät ja ikkunat poralla. Nopea, likainen, mutta se toimii!

Vaihe 5: Ohjauspaneeli

Ohjauspaneeli
Ohjauspaneeli
Ohjauspaneeli
Ohjauspaneeli

Se on projektin ydin. Raspberry Pi, jossa on alkuperäinen 7 tuuman näyttö, jossa on joitakin Kivyn käyttöliittymiä.

Tässä on koko lähdekoodi.

Ominaisuudet

Rakastan Kivyä, se on Python -kehys käyttöliittymille. Erittäin yksinkertainen, mutta joustava ja tehokas (käyttää paljon C -koodia sisällä korkean suorituskyvyn ja laitteiston kiihtyvyyden saavuttamiseksi).

Sää Näytä nykyinen lämpötila ja paine ulkona. Jos liität etäanturin - myös sisälämpötilan, se myös pyytää ja analysoi seuraavan 12 tunnin sääennusteen ja antaa neuvoja sateen todennäköisyydestä.

SunriseLamp -ohjain Toinen paneeli näyttää hälytyksen perustiedot ja voit säätää kirkkautta. Jos siirryt asetuksiin, voit määrittää minkä tahansa lampun parametrin, mukaan lukien hälytysaikataulu, suurin äänenvoimakkuus ja niin edelleen.

Näytönsäästäjä. Renders Game of Life ruudulla jonkin ajan käyttämättömyyden jälkeen.

Ennen oli enemmän, mutta muut asiat näyttivät hyödyttömiltä.

Asennus

Asensin kaiken manuaalisesti Raspbianiin ja voin nyt sanoa: älä toista virheitäni. Käytä KivyPieä, siinä on kaikki esiasennettu.

Tämän lisäksi seuraa vain koodivaraston asennusopasta.

Vaihe 6: Nauti

Henkilökohtaisesti olen tyytyväinen laitteeseen. Käytän sitä päävalaistuksena kotona päivän aikana, ja se antaa minun herätä aamulla, se on hämmästyttävää.

Tiedän, että ohjeet eivät ole kovin yksityiskohtaisia ja kuvaavia. Jos joku tekee saman ja on ongelmia - autan mielelläni!

Suositeltava: