Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Talvi voi olla surullista. Heräät, on pimeää ja sinun täytyy nousta sängystä. Viimeinen asia, jonka haluat kuulla, on herätyskellosi soiva ääni. Asun Lontoossa ja minulla on vaikea herätä aamulla. Lisäksi kaipaan heräämistä luonnonvaloon.
Tässä opetusohjelmassa aiomme rakentaa auringonnousun herätyskellon. Se on herätyskello, kuten mikä tahansa muu, koska voit asettaa herätyksen tunnit ja minuutit, mutta lisäetuna on se, että käytät valoa kirkastamaan makuuhuoneesi tietyn ajanjakson ajan kuin auringonnousu herättääksesi sinut luonnollisemmin.
Auringonnousuvaloja on markkinoilla, mutta ne voivat olla kalliita (nopea haku Amazonista palauttaa 100 £: n valikoiman tuotteita), hauraita ja melko kliinisen näköisiä. Teemme jotain paljon halvempaa ja paljon mukavampaa.
Kaikki osat luetellaan seuraavassa vaiheessa. Koodin voi ladata Github-repo-kulta-auringonnousukellostani. Kaikki tapauksen kaaviot ja rakennetiedostot ovat ladattavissa tästä opetusohjelmasta.
Mennään:)
Jos kohtaat ongelmia tai haluat sanoa hei, lähetä minulle viesti [email protected] tai seuraa minua Instagramissa @celinechappert.
Vaihe 1: Komponenttien kerääminen
Aluksi käytämme tuloa kellona ja ulostulomme erittäin kirkkaana LEDinä, joka simuloi auringonnousua.
Piirin rakentamiseksi tarvitsemme:
- kello. Aiomme käyttää RTC DS3231: tä (5 €)
- MOSFET valon kirkkauden säätämiseen (9 €)
- erittäin kirkas LED (1 £)
- 9 V: n akku LED -virran saamiseksi (3 €)
- leipälauta helppoa asennusta varten (£ 3)
- Arduino Uno (£ 20)
- painike (valinnainen - vain esittelyä varten)
Hinta yhteensä 41 €
Jos sinulla on jo Arduino, leipälauta ja 9 V: n akku kotona, koko projekti maksaa sinulle alle 15 puntaa.
Akryylikotelon valmistamiseen tarvitset:
- 2 arkkia 0,3 mm: n Perspex -akryylilevyjä, 1 arkki väriä kohti auringolle ja kotelolle.
- pääsy laserleikkuriin.
Olen onnekas, koska minulla oli pääsy koulun työpajaan, joten nämä kustannukset katettiin suurimmaksi osaksi. Ostin ylimääräisen akryylilevyn, koska suunnitteluni vaati oranssin sävyn auringolle, joka maksoi 14 puntaa/arkki (Perspex on kallista!).
Vaihe 2: Piirin kokoaminen
Voit viitata piirini mustavalkoiseen luonnokseen (anteeksi sotkuinen) ja kaavioon, jossa on Arduino (tehty Fritzingillä).
Pohjimmiltaan tässä on erittely siitä, mikä liittyy mihin:
Kello:
(-) muodostaa yhteyden GND: hen
NC tarkoittaa 'Not Connected' eikä muodosta yhteyttä mihinkään
C/SCL yhdistetään Arduinon nastaan A5
D/SDA muodostaa yhteyden Arduinon nastaan A4
(+) kytketään 5 V: iin Arduinossa
MOSFET
Porttitappi menee nastaan ~ 9 Arduino Unossa, koska se on PWM
Tyhjennystappi menee LEDin negatiiviselle puolelle
Lähdetappi menee Arduinon GND: hen
LED
Negatiivinen puoli on liitetty MOSFETin tyhjennystapaan
Positiivinen puoli on kytketty 5 V.
9V akku
(+)-(+) leipätaululla, sama kuin (-).
Arduino Uno
Muista kytkeä 5 V leipälevyn (+) ja GND (-). Muista liittää (-) leipälaudan toisella puolella (-) toisella puolella.
Seuraavaksi asetamme kellomme käyttämällä DS3231 -kirjastoa.
Vaihe 3: Kellon asentaminen ja asettaminen
Kirjasto, jota käytän tämän kellon käyttämiseen, löytyy osoitteesta Rinky-Dink Electronics (kuvakaappaukset yllä). Napsauta linkkiä ja varmista, että olet DS3231 -sivulla. Lataa zip -tiedosto, tallenna se ja aseta se Arduinon /kirjastojen kansioon.
Aseta nyt oikea kellonaika avaamalla Arduino ja siirtymällä kohtaan Esimerkit/DS3231/Arduino/DS3231_Serial_Easy.
Poista kommentit kolmesta koodirivistä (piirretty oranssina kuvakaappauksessa), tarkista oikea aika ja paikka näissä kolmessa sotilasmuodossa olevassa koodirivissä.
Paina Lataa.
Nyt voit poistaa nämä kolme riviä ja paina Lataa uudelleen.
Avaa sarjamonitori ja tarkista, että aikasi on oikea.
Kellomme on asetettu! Meillä on piiri, aloitetaan nyt koodaus. Jälleen repo on saatavilla Githubissa.
Vaihe 4: Koodaus
Lataa koodi ja varmista, että DS3231 -kirjasto on asennettu oikein.
Ensinnäkin haluamme määritellä asetuksemme.
fadeTime on kuinka kauan valo haalistuu nollasta suurimpaan kirkkauteensa minuuteissa. setHour/setMin vastaavat aikaa, johon haluamme herätä (huom. tämä lukee armeijan muotoa, joten vaaditaan 24 tunnin aika). Määritämme myös Arduinon nastan 9 lähtöksi.
Varmista asennuksessa (), että SerialBegin -numero (tässä 96000 baudia) vastaa Serial Monitorin numeroa.
Silmukassa () if -lause tarkistaa, onko aika herätä. Koodi toimii silmukassa ja tarkistaa joka kerta, vastaavatko kellon palauttamat tunti- ja minuutti -arvot setHour/setMin -muuttujiamme. Jos näin on, if -lause palauttaa aktiivisen () -funktion.
Aktiivinen () -toiminto koostuu kahdesta osasta. Ensin aloitamme valon häivyttämisen vähitellen: viive -toiminnot estävät LED -valon liian kirkastuvan liian aikaisin fadeTimen alkuvaiheessa. Sitten for -silmukka ohjaa nopeutta, jolla valo kirkastuu kirkkaammin häivytysajasta riippuen. Lopuksi sammutamme valon antamalla arvon 0 LED -valollemme analogWrite () -toiminnossa.
Yllä oleva video näyttää piirin toimivan yhdessä prototyyppiakryylikoteloista.
Vaihe 5: Kartonkiprototyyppi (valinnainen)
Ennen tätä projektia en ollut koskaan työskennellyt laserleikkurilla. Pahviprototyypin tekeminen antoi minulle mahdollisuuden tutustua koneeseen ja testata, kuinka hyvin esine näytti (koko, ulkonäkö jne.) Todellisessa tilassa. Kotelosuunnitelmat ladattavaksi.