Sisällysluettelo:

Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella: 8 vaihetta
Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella: 8 vaihetta

Video: Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella: 8 vaihetta

Video: Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella: 8 vaihetta
Video: 15 parasta Casio G Shock-kellon alle 500 dollaria | Parhaat G-Shock-kellot alle 500 dollaria 2024, Heinäkuu
Anonim
Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella
Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella
Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella
Auringonnousun herätyskello LCD -näytöllä ja Bluetooth -sovelluksella

Talvi voi olla surullista. Heräät, on pimeää ja sinun täytyy nousta sängystä. Viimeinen asia, jonka haluat kuulla, on herätyskellosi ärsyttävä ääni. Jos sinulla, kuten minulla, on vaikeuksia herätä aamulla, tämä herätyskello on juuri sitä mitä tarvitset.

Tässä opetusohjelmassa aiomme rakentaa auringonnousun herätyskellon. Se on herätyskello kuten kaikki muutkin, koska voit asettaa herätysajan ja -hetken, mutta sen avulla voit kirkastaa makuuhuoneesi valon avulla tietyn ajanjakson ajan kuin auringonnousu herättää sinut ärsyttävän sijasta summeri!

Luomme myös Bluetooth -moduulin avulla sovelluksen, jonka avulla voit asettaa hälytyksen puhelimen kautta kelloon. Nestekidenäytössä näkyy kellonaika, päivämäärä ja viikonpäivä. Sunrise-lamppuja on markkinoilla, mutta ne voivat olla kalliita (pikahaku Googlesta palauttaa 100 euron valikoiman tuotteita), hauraita ja melko kliinisen näköisiä. Siksi päätin tehdä oman Arduinon kouluprojektilleni. Kaikki osat luetellaan seuraavassa vaiheessa. Koodin voi ladata Github repo sunrise-herätyskellostani. Aloitetaanpa:)

kaikki koodit löytyvät osoitteesta:

Vaihe 1: Osien kokoaminen

Osien kerääminen
Osien kerääminen
Osien kerääminen
Osien kerääminen
Osien kerääminen
Osien kerääminen

Käytämme kelloa tuloissamme ja erittäin kirkas LED-tuotetta simuloimaan auringonnousua.

Piirin rakentamiseksi tarvitsemme:

- Arduino Uno clockmodule RTC DS3231 - MOSFET valon kirkkauden säätämiseen - erittäin kirkas LED (ostin 2, yksi lämmin, yksi kylmä) - 9 V: n akku LED -virtalähteeksi - leipälauta - LCD -näyttö (16: 2)- Bluetooth-sovitin hc-05, jotta voimme asettaa hälytyksen sovelluksen avulla.

Kaikki tarvitsemasi voi ostaa osoitteesta www.martoparts.nl

Vaihe 2: Piirin kokoaminen

Piirin kokoaminen
Piirin kokoaminen
Piirin kokoaminen
Piirin kokoaminen

Voit viitata piirin luonnokseen, valitettavasti en löytänyt RTC DS3231: tä ohjelmasta, joten minun täytyi tehdä tämä. Liitännät ovat todellisuudessa hieman erilaisia, tässä on liitännät. (bluetooth -moduuli ei ole luonnoksessa, mutta selitän kuinka se toimii alla, koska se on melko hankala)

RTC DS3231GND siirtyy arduinon GND: hen

VCC menee 5v

SDA menee arduinoon

SCL menee arduinoon Emme käytä SQW: tä ja 32KMOSFETia

Porttitappi menee nastaan ~ 9 Arduino Unossa, koska se on PWMDrain-tappi menee LED-lähdetapin negatiiviselle puolelle menee GND: lle ArduinollaLCD-näyttöGND menee GND: lle arduinolla

VCC menee 5VSDA menee A4 arduinoSKL menee A5 arduinoLED- menee mosfet+ menee 5v9v akku Voit ostaa 9v akku mistä tahansa paikallisesta kaupasta, kytke arduino liittimellä.

Bluetooth-moduuli hc-055V menee 5 V: iin Arduino-laitteesta

GND siirtyy GND: hen arduinolla

Nyt on 2 muuta tuloa, mutta tässä on hankala osa, meidän on liitettävä näiden 2 vastakkaiset tulot arduino-TX: ssä hc-05 menee RX: lle arduinoRX: stä hc-05: stä menee TX: lle arduino

Tärkeää: Varmista, että irrotat TX & RX -laitteen HC-05-laitteesta, kun lataat koodia arduinoosi, tai saat virheilmoituksen, jossa sanotaan "jotain meni pieleen koodin lataamisessa" kääntäjässä.

Vaihe 3: LCD -näytön ja kellon asettaminen

LCD -näytön ja kellon asettaminen
LCD -näytön ja kellon asettaminen
LCD -näytön ja kellon asettaminen
LCD -näytön ja kellon asettaminen

Nestekidenäytössä käytettävä kirjasto on nestekide, ja se löytyy osoitteesta: https://github.com/fdebrabander/Arduino-LiquidCrys… Lataa zip-tiedosto, tallenna se ja aseta se Arduinon/libraries-kansioon

Kirjasto, jota käytän kellon käyttämiseen, löytyy osoitteesta Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 ja varmista, että olet DS3231-sivulla. Lataa zip -tiedosto, tallenna se ja aseta se Arduinon kirjastojen kansioon.

Aika

Sisällytä kirjasto DS3231 tai DS1307 arduino -koodiin

Aseta aika poistamalla kommentit näistä 3 koodirivistä:

// rtc.setDOW (MAANANTAI); // Aseta viikonpäiväksi SUNNUNTA // rtc.setTime (23, 57, 0); // Aseta kellonaika 12:00:00 (24 tunnin muoto) // rtc.setDate (14, 1, 2019); // Aseta päivämääräksi 1. tammikuuta 2014

LCD -näyttö

Sisällytä kirjasto liqduicrystal_i2c arduino -koodiin

Tulosta nestekidenäytöllä

lcd.setCursor (sarake, rivi) // tekstin sijainti lcd.print (~) // teksti tulostettu

Vaihe 4: Koodaus

Koodaus
Koodaus

Lataa koodi: github:

Aseta kello nestekidenäytölle poistamalla nämä kolme riviä:

// rtc.setDOW (MAANANTAI); // Aseta viikonpäiväksi SUNNUNTA // rtc.setTime (23, 57, 0); // Aseta kellonaika 12:00:00 (24 tunnin muoto) // rtc.setDate (14, 1, 2019); // Aseta päivämääräksi 1. tammikuuta 2014

Käytä lcd.setCuros (sarake, rivi); asettaaksesi näytön sijainnin näytössä

lcd.setCursor (0, 2);

ja tulosta () tulostaaksesi jotain näytölle

lcd.print (rtc.getDateStr ());

Muuta näitä muuttujia, jos haluat

int fadeTime = 1; // Kuinka kauan valo haalistuu maxint setHour = 02; // Aseta herätysaika (sotilaallinen aika) int setMin = 49; // Aseta minuutti heräämään int uled = 9; // Aseta pinout PWM: llä

Bluetooth -moduulin koodi

Jono firstHalf = getValue (input, ':', 0); // tarkista ensimmäinen tulo, kunnes ":"

Merkkijono secondHalf = getValue (input, ':', 1); // tarkista toinen syöttö ":": n jälkeen

// käytä tätä koodia, jos et käytä bluetooth -moduulia

// // if (t.hour == setHour && t.min == setMin) // Tarkista, onko aika herätä! // { // alkaa(); //}

// tarkista 2 ensimmäisen numeron tulot ja tarkista sitten tulon 2 muuta numeroa

if (t.tunti == ensimmäinenPuoli -alk. () && t.min == toinen }}

// logiikka erillisille merkkijonoille

Merkkijono getValue (merkkijonotiedot, merkkien erotin, int -indeksi) {int found = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == erotin || i == maxIndex) {löytynyt ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} palautus löytyi> hakemisto? data.substring (strIndex [0], strIndex [1]): ""; }

Vaihe 5: Aika testata

Kokoa koodi ja testaa, toimivatko komponentit!

Vaihe 6: Bluetooth-sovelluksen käyttöönotto

Bluetooth-sovelluksen asennus
Bluetooth-sovelluksen asennus
Bluetooth-sovelluksen asennus
Bluetooth-sovelluksen asennus
Bluetooth-sovelluksen asennus
Bluetooth-sovelluksen asennus

Koska minusta oli ärsyttävää kaivaa koodi aina, kun halusin asettaa hälytyksen, halusin tehdä sovelluksen, joka asettaa hälytyksen, mikä on paljon helpompaa.

Siirry osoitteeseen https://ai2.appinventor.mit.edu, jossa voimme tehdä yksinkertaisen sovelluksen, jonka avulla voimme asettaa hälytyksen. Olen lisännyt yksinkertaisen suunnittelun (voit aina muokata tätä myöhemmin) ja koodin. Voit sitten julkaista sovelluksesi ja muodostaa yhteyden siihen puhelimellasi käyttämällä QR -koodia tai lataamalla sovelluksen suoraan tietokoneellesi ja siirtämällä sen sitten puhelimen kaapelilla. (kuvakaappaus)

Vaihe 7: Kotelon rakentaminen

Kotelon rakentaminen
Kotelon rakentaminen
Kotelon rakentaminen
Kotelon rakentaminen
Kotelon rakentaminen
Kotelon rakentaminen

Voit aina rakentaa erilaisen kotelon arduino -kellosi ympärille. Rakensin puuta ja mattaplexiglassia oman herätyskellokotelon rakentamiseen. Valitsin mattaplexiglassin, jotta näet valon kirkkaasti kotelon läpi, mutta et näe kellon sisäpuolta.

Vaihe 8: Valmis

Valmis!
Valmis!
Valmis!
Valmis!
Valmis!
Valmis!

Nyt kun olet ladannut koodin arduinoosi, rakentanut kotelon ja tarkistanut, oletko koonnut kellosi oikein, voit asettaa hälytyksen bluetooth -sovellukseen ja aloittaa heräämisen luonnollisemmin!:)

Suositeltava: