Sadržaj:

Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth: 8 koraka
Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth: 8 koraka

Video: Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth: 8 koraka

Video: Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth: 8 koraka
Video: Задача нового пригородного поезда, похожего на космический корабль. 2024, Novembar
Anonim
Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth
Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth
Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth
Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth

Zima može biti tužna. Probudiš se, mrak je i moraš ustati iz kreveta. Zadnje što želite čuti je dosadan zvuk vašeg budilnika. Ako i vi, poput mene, imate problema s buđenjem ujutro, ovaj budilnik je upravo ono što vam treba.

U ovom vodiču ćemo izgraditi budilnik Sunrise. To je budilnik kao i svaki drugi po tome što možete postaviti sat i minutu u kojoj se želite probuditi, ali s prednošću da svjetlom osvijetlite svoju spavaću sobu u određenom vremenskom periodu poput izlaska sunca da vas probudi umjesto dosadnog zujalica!

Koristit ćemo i bluetooth modul za izradu aplikacije koja vam omogućava da postavite alarm putem telefona na sat. LCD ekran će prikazivati vrijeme, datum i dan u sedmici. Sunrise lampe postoje na tržištu, ali mogu biti skupe (brzo pretraživanje na Google-u vraća proizvode u rasponu od 100 €), krhke i prilično kliničkog izgleda. Zato sam odlučio napraviti svoj za svoj školski projekt Arduino. Svi dijelovi će biti navedeni u sljedećem koraku. Kôd se može preuzeti sa mog Github repo-budilnika. Počnimo:)

sav kod možete pronaći na:

Korak 1: Prikupljanje dijelova

Okupljanje delova
Okupljanje delova
Okupljanje delova
Okupljanje delova
Okupljanje delova
Okupljanje delova

Koristit ćemo sat kao ulaz i ultra-svijetlu LED kao izlaz za simulaciju izlaska sunca.

Za izgradnju kruga trebat će nam:

- Arduino Uno -satni modul RTC DS3231 - MOSFET za kontrolu jačine svjetla - super -svijetla LED (kupio sam 2, jednu toplu, jednu hladnu) - 9V baterija za napajanje LED -a - matična ploča - LCD ekran (16: 2)- Bluetooth adapter hc-05 tako da možemo koristiti aplikaciju za postavljanje alarma.

Sve što vam je potrebno možete kupiti na www.martoparts.nl

Korak 2: Sastavljanje kruga

Sklapanje kola
Sklapanje kola
Sklapanje kola
Sklapanje kola

Možete se pozvati na skicu za moje kolo, nažalost nisam mogao pronaći RTC DS3231 u programu pa sam morao raditi s ovim. Veze su u stvarnosti malo drugačije, evo veza. (bluetooth modul nije na skici, ali ću objasniti kako radi u nastavku jer ga čini prilično nezgodnim)

RTC DS3231GND ide na GND na arduinu

VCC prelazi na 5v

SDA ide na arduino

SCL ide na arduinoNećemo koristiti SQW i 32KMOSFET

Gate pin ide na pin ~ 9 na Arduino Uno jer je njegov PWMDrain pin ide na negativnu stranu LED izvora Pin ide na GND na ArduinoLCD-DisplayGND ide na GND na arduinu

VCC ide na 5VSDA ide na A4 na arduinoSKL ide na A5 na arduinoLED- ide na mosfet+ ide na bateriju 5v9v 9V bateriju možete kupiti u bilo kojoj lokalnoj trgovini, uključite je u arduino s priključnom trakom.

Bluetooth modul hc-055V ide na 5V iz arduina

GND ide u GND na arduinu

Sada postoje još 2 ulaza, ali ovdje dolazi lukav dio, moramo spojiti suprotne ulaze od ta 2 na arduinoTX-u sa hc-05 ide na RX na arduinoRX sa hc-05 ide na TX na arduinu

Važno: Obavezno odspojite TX & RX sa HC-05 kada učitavate kôd na svoj arduino ili ćete dobiti grešku govoreći "nešto nije u redu s postavljanjem koda" u kompajleru.

Korak 3: Podešavanje LCD ekrana i sata

Podešavanje LCD ekrana i sata
Podešavanje LCD ekrana i sata
Podešavanje LCD ekrana i sata
Podešavanje LCD ekrana i sata

Biblioteka koja se koristi za LCD ekran je tekući kristal i može se pronaći na: https://github.com/fdebrabander/Arduino-LiquidCrys… Preuzmite zip datoteku, spremite je i postavite u mapu Arduino/libraries

Biblioteka koju koristim za pokretanje sata može se pronaći na stranici Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 i provjerite jeste li na stranici DS3231. Preuzmite zip datoteku, spremite je i postavite u mapu biblioteka vašeg Arduina.

Vrijeme

Uključite biblioteku DS3231 ili DS1307 u svoj arduino kôd

Dekomentirajte ova 3 reda koda da biste postavili vrijeme:

// rtc.setDOW (PONEDJELJAK); // Postavi dan u tjednu na NEDJELJU // rtc.setTime (23, 57, 0); // Postavite vrijeme na 12:00:00 (24 -satni format) // rtc.setDate (14, 1, 2019); // Postavite datum na 1. januar 2014

LCD displej

Uključite biblioteku liqduicrystal_i2c u svoj arduino kôd

Za štampanje na LCD ekranu koristite

lcd.setCursor (col, row) // položaj teksta odštampanoglcd.print (~) // tekst štampan

Korak 4: Kodiranje

Kodiranje
Kodiranje

Preuzmite kôd na: github:

Dekomentirajte ova 3 retka za postavljanje sata na LCD ekranu:

// rtc.setDOW (PONEDJELJAK); // Postavi dan u tjednu na NEDJELJU // rtc.setTime (23, 57, 0); // Postavite vrijeme na 12:00:00 (24 -satni format) // rtc.setDate (14, 1, 2019); // Postavite datum na 1. januar 2014

Koristite lcd.setCuros (col, row); za postavljanje položaja teksta na ekranu

lcd.setCursor (0, 2);

i print () da biste odštampali nešto na ekranu

lcd.print (rtc.getDateStr ());

Promijenite ove varijable ako želite

int fadeTime = 1; // Koliko dugo će svjetlost nestajati do maxint setHour = 02; // Postavljanje sati za buđenje (vojno vrijeme) int setMin = 49; // Postavljanje minute za buđenje int uled = 9; // Postavite pinout pomoću PWM -a

Kôd Bluetooth modula

String firstHalf = getValue (input, ':', 0); // provjerava prvi ulaz do ":"

String secondHalf = getValue (input, ':', 1); // provjerava drugi ulaz nakon ":"

// koristite ovaj kôd ako ne koristite bluetooth modul

// // if (t.hour == setHour && t.min == setMin) // Provjerite je li vrijeme za buđenje! // {// start (); //}

// provjeravamo prve 2 znamenke ulaza, zatim provjeravamo druge 2 znamenke ulaza

if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}

// logika za odvajanje nizova

String getValue (Podaci o nizovima, separator znakova, int indeks) {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) == separator || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} povratak pronađen> indeks? data.substring (strIndex [0], strIndex [1]): ""; }

Korak 5: Vrijeme je za testiranje

Sastavite svoj kôd i testirajte rade li komponente!

Korak 6: Podešavanje Bluetooth aplikacije

Podešavanje Bluetooth aplikacije
Podešavanje Bluetooth aplikacije
Podešavanje Bluetooth aplikacije
Podešavanje Bluetooth aplikacije
Podešavanje Bluetooth aplikacije
Podešavanje Bluetooth aplikacije

Budući da mi je bilo neugodno kopati po kodu svaki put kad sam htio postaviti alarm, htio sam napraviti aplikaciju koja će postaviti alarm, što je mnogo lakše.

Idite na https://ai2.appinventor.mit.edu gdje možemo napraviti jednostavnu aplikaciju koja nam omogućava postavljanje alarma, uključio sam jednostavno postavljanje dizajna (ovo možete uvijek kasnije prilagoditi) i kôd koji se koristi za Bluetooth vezu. Zatim možete objaviti svoju aplikaciju i povezati se s njom na svom telefonu pomoću QR koda ili izravno preuzeti aplikaciju na računaru, a zatim je prenijeti kablom na telefonu. (snimak ekrana)

Korak 7: Izgradnja kućišta

Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta

Uvijek možete izgraditi različitu kutiju oko svog arduino sata. Koristio sam drvo i mat pleksiglas za izradu vlastitog kućišta budilice. Odabrao sam mat pleksiglas tako da možete vidjeti svjetlo koje jasno sija kroz kućište, ali ne možete vidjeti unutrašnjost sata.

Korak 8: Završeno

Gotovo!
Gotovo!
Gotovo!
Gotovo!
Gotovo!
Gotovo!

Sada kada ste učitali kôd na svoj arduino, sastavili kućište i provjerili jeste li pravilno sastavili sat, možete postaviti alarm u bluetooth aplikaciji i početi se prirodnije buditi!:)

Preporučuje se: