INHOUDSOPGAWE:

Sunrise -wekker met LCD -skerm en Bluetooth -app: 8 stappe
Sunrise -wekker met LCD -skerm en Bluetooth -app: 8 stappe

Video: Sunrise -wekker met LCD -skerm en Bluetooth -app: 8 stappe

Video: Sunrise -wekker met LCD -skerm en Bluetooth -app: 8 stappe
Video: 2016 Mercedes-Benz GLC Walk-Around Rockville Centre, Nassau, Long Island, New York, Queens, NY LR137 2024, Julie
Anonim
Sunrise -wekker met LCD -skerm en Bluetooth -app
Sunrise -wekker met LCD -skerm en Bluetooth -app
Sonopwekker met LCD -skerm en Bluetooth -app
Sonopwekker met LCD -skerm en Bluetooth -app

Winter kan hartseer wees. Jy word wakker, dit is donker en jy moet uit die bed kom. Die laaste ding wat u wil hoor, is die irriterende geluid van u wekker. As u, net soos ek, sukkel om wakker te word, is hierdie wekker net wat u nodig het.

In hierdie tutoriaal gaan ons 'n sonopwekker bou. Dit is 'n wekker soos enige ander deurdat u die uur en minuut kan instel wat u wil wakker word, maar met die voordeel om lig te gebruik om u slaapkamer oor 'n tydperk soos 'n sonsopkoms op te helder om u wakker te maak in plaas van 'n irriterende gonser!

Ons sal ook 'n Bluetooth -module gebruik om 'n app te skep waarmee u die alarm via u telefoon op die klok kan stel. Die LCD-skerm sal die tyd, datum en dag van die week aandui. Sonsopganglampe bestaan op die mark, maar dit kan duur wees ('n vinnige soektog op Google gee produkte in die reeks van € 100), broos en klinies uit. Daarom het ek besluit om my eie te maak vir my Arduino -skoolprojek. Al die dele word in die volgende stap gelys. Die kode kan afgelaai word vanaf my Github repo sunrise-alarm-clock. Laat ons begin:)

alle kode kan gevind word op:

Stap 1: Versamel die onderdele

Versamel die onderdele
Versamel die onderdele
Versamel die onderdele
Versamel die onderdele
Versamel die onderdele
Versamel die onderdele

Ons gebruik 'n horlosie as ons invoer en 'n ultra-helder LED as ons uitset om ons sonsopkoms te simuleer.

Om die stroombaan te bou, benodig ons:

- Arduino Uno- klokmodule RTC DS3231 - 'n MOSFET om die helderheid van die lig te beheer - 'n superhelder LED (ek het 2 gekoop, een warm, een koud) - 9V battery om die LED aan te dryf - 'n broodbord - 'n LCD -skerm (16: 2)- Bluetooth-adapter hc-05 sodat ons 'n app kan gebruik om die alarm in te stel.

Alles wat u nodig het, kan gekoop word op www.martoparts.nl

Stap 2: Monteer die stroombaan

Die samestelling van die kring
Die samestelling van die kring
Die samestelling van die kring
Die samestelling van die kring

U kan na die skets van my kring verwys, maar ek kon ongelukkig nie die RTC DS3231 in die program vind nie, so ek het hiermee te doen gehad. Verbindings is in werklikheid 'n bietjie anders, hier is die verbindings. (die Bluetooth -module is nie in die skets nie, maar ek sal verduidelik hoe dit hieronder werk, maar dit is nogal moeilik)

RTC DS3231GND gaan na GND op die arduino

VCC gaan na die 5v

SDA gaan na arduino

SCL gaan na arduino Ons sal nie SQW en 32KMOSFET gebruik nie

Hekpen gaan na pen ~ 9 op die Arduino Uno omdat die PWMDrain-pen na die negatiewe kant van die LED gaan. Bronpen gaan na GND op die ArduinoLCD-DisplayGND gaan na GND op die arduino

VCC gaan na 5VSDA gaan na A4 op die arduinoSKL gaan na A5 op die arduinoLED- gaan na mosfet+ gaan na die 5v9v-battery U kan 'n 9v-battery in enige plaaslike winkel koop, sluit die arduino aan met 'n aansluitstrook.

Bluetooth-module hc-055V gaan na 5V vanaf die arduino

GND gaan na GND op die arduino

Nou is daar nog 2 insette, maar hier kom die moeilike deel, ons moet die teenoorgestelde insette van die 2 op die arduino verbindTX van hc-05 gaan na RX op arduinoRX van hc-05 gaan na TX op arduino

Belangrik: maak seker dat u die TX & RX KOPPEL van die HC-05 wanneer u kode op u arduino oplaai, of u sal 'n foutmelding kry wat sê "iets het verkeerd gegaan met die oplaai van die kode" in die samesteller.

Stap 3: Stel die LCD -skerm en klok in

Stel die LCD -skerm en klok in
Stel die LCD -skerm en klok in
Stel die LCD -skerm en klok in
Stel die LCD -skerm en klok in

Die biblioteek wat vir die LCD-skerm gebruik word, is vloeibaar kristal en kan gevind word by: https://github.com/fdebrabander/Arduino-LiquidCrys… Laai die zip-lêer af, stoor dit en plaas dit in u Arduino's/biblioteke-lêergids

Die biblioteek wat ek gebruik om die klok te laat werk, kan gevind word by Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 en maak seker dat u op die DS3231-bladsy is. Laai die zip -lêer af, stoor dit en plaas dit in die biblioteekmap van u Arduino.

Tyd

Sluit die biblioteek DS3231 of DS1307 in u arduino -kode in

Los hierdie drie reëls kode om die tyd in te stel:

// rtc.setDOW (MAANDAG); // Stel Dag van die week op SONDAG // rtc.setTime (23, 57, 0); // Stel die tyd in op 12:00:00 (24 -uur -formaat) // rtc.setDate (14, 1, 2019); // Stel die datum op 1 Januarie 2014 in

LCD -skerm

Sluit die biblioteek liqduicrystal_i2c in u arduino -kode in

Gebruik om op die LCD -skerm te druk

lcd.setCursor (kol, ry) // posisie van teks gedruk lcd.print (~) // teks gedruk

Stap 4: Kodering

Kodering
Kodering

Laai die kode af op: github:

Los hierdie drie reëls op om die horlosie op u LCD -skerm te stel:

// rtc.setDOW (MAANDAG); // Stel Dag van die week op SONDAG // rtc.setTime (23, 57, 0); // Stel die tyd in op 12:00:00 (24 -uur -formaat) // rtc.setDate (14, 1, 2019); // Stel die datum op 1 Januarie 2014 in

Gebruik lcd.setCuros (kol, ry); om die posisie van die teks wat vertoon word, in te stel

lcd.setCursor (0, 2);

en druk () om iets op die skerm te druk

lcd.print (rtc.getDateStr ());

Verander hierdie veranderlikes as u wil

int fadeTime = 1; // Hoe lank die lig sal verdwyn tot die maksimum setHour = 02; // Stel ure in om wakker te word (militêre tyd) int setMin = 49; // Stel die minuut in om wakker te word = 9; // Stel pinout met PWM in

Bluetooth module kode

String firstHalf = getValue (input, ':', 0); // kyk die eerste invoer tot ":"

String secondHalf = getValue (input, ':', 1); // kyk die tweede invoer na ":"

// gebruik hierdie kode as u nie die Bluetooth -module gebruik nie

// // as (t.uur == setHour && t.min == setMin) // Kyk of dit tyd is om wakker te word! // {// begin (); //}

// kontroleer die eerste 2 syfers se insette, en kyk dan die tweede 2 syfers van die insette

as (t.uur == firstHalf.toInt () && t.min == secondHalf.toInt ()) {begin (); }}

// logika om snare te skei

String getValue (String data, char separator, int index) {int found = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;

for (int i = 0; i <= maxIndex && gevind <= index; i ++) {if (data.charAt (i) == skeider || i == maxIndex) {gevind ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? ek+1: i; }} opgawe gevind> indeks? data.substring (strIndex [0], strIndex [1]): ""; }

Stap 5: Tyd om te toets

Stel u kode saam en toets of die komponente werk!

Stap 6: Opstel van Bluetooth-app

Opstel van Bluetooth-app
Opstel van Bluetooth-app
Opstel van Bluetooth-app
Opstel van Bluetooth-app
Opstel van Bluetooth-app
Opstel van Bluetooth-app

Omdat ek dit irriterend gevind het om in die kode te kyk elke keer as ek 'n alarm wou stel, wou ek 'n app maak wat die alarm sou stel, wat baie makliker is.

Gaan na https://ai2.appinventor.mit.edu waar ons 'n eenvoudige app kan maak waarmee ons die alarm kan instel; ek het die eenvoudige ontwerpopstelling ingesluit (u kan dit altyd later aanpas) en die kode wat vir die U kan dan u app publiseer en dit op u telefoon verbind deur 'n QR -kode te gebruik of die app direk op u rekenaar af te laai en dit dan met 'n kabel op u telefoon oor te dra. (kiekie)

Stap 7: Bou die saak

Bou die saak
Bou die saak
Bou die saak
Bou die saak
Bou die saak
Bou die saak

U kan altyd 'n ander omhulsel rondom u arduino -klok bou. Ek het hout en matte plexiglas gebruik om my eie wekkerkas te bou. Ek het 'n matte plexiglas gekies, sodat u die lig duidelik deur die omhulsel kan sien, maar u kan nie die binnekant van die horlosie sien nie.

Stap 8: klaar

Klaar!
Klaar!
Klaar!
Klaar!
Klaar!
Klaar!

Noudat u die kode na u arduino opgelaai het, die kas gebou het en gekontroleer het of u u horlosie behoorlik bymekaargemaak het, kan u 'n alarm op die Bluetooth -app instel en natuurliker begin wakker word!:)

Aanbeveel: