Sadržaj:

Budilica Sunrise s LCD zaslonom i aplikacijom Bluetooth: 8 koraka
Budilica Sunrise s LCD zaslonom i aplikacijom Bluetooth: 8 koraka

Video: Budilica Sunrise s LCD zaslonom i aplikacijom Bluetooth: 8 koraka

Video: Budilica Sunrise s LCD zaslonom i aplikacijom Bluetooth: 8 koraka
Video: Lexon - Flip+ | Digital Alarm Clock 2024, Srpanj
Anonim
Budilica Sunrise s LCD zaslonom i aplikacijom Bluetooth
Budilica Sunrise s LCD zaslonom i aplikacijom Bluetooth
Budilica Sunrise s LCD zaslonom i aplikacijom Bluetooth
Budilica Sunrise s LCD zaslonom 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 budilice. Ako i vi, poput mene, imate problema s jutarnjim buđenjem, ova budilica je upravo ono što vam treba.

U ovom ćemo vodiču izgraditi budilicu Sunrise. To je budilica kao i svaki drugi po tome što možete postaviti sat i minutu u kojoj se želite probuditi, ali uz dobrobit korištenja svjetla za osvjetljavanje vaše spavaće sobe kroz neko vrijeme poput izlaska sunca da vas probudi umjesto dosadnog zujalica!

Također ćemo koristiti bluetooth modul za izradu aplikacije koja vam omogućuje da postavite alarm putem telefona na sat. LCD zaslon prikazuje vrijeme, datum i dan u tjednu. Svjetiljke Sunrise postoje na tržištu, ali mogu biti skupe (brzo pretraživanje na Googleu vraća proizvode u rasponu od 100 eura), krhke i prilično kliničkog izgleda. Zato sam odlučio napraviti svoj za svoj školski projekt Arduino. Svi dijelovi bit će navedeni u sljedećem koraku. Kôd se može preuzeti s moje Github repo-budilice. Započnimo:)

sav kôd možete pronaći na:

Korak 1: Okupljanje dijelova

Okupljanje dijelova
Okupljanje dijelova
Okupljanje dijelova
Okupljanje dijelova
Okupljanje dijelova
Okupljanje dijelova

Za ulaz ćemo koristiti sat, a kao izlaz ultrasvjetlu LED diodu za simulaciju izlaska sunca.

Za izgradnju sklopa 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 zaslon (16: 2)- Bluetooth adapter hc-05 pa možemo upotrijebiti aplikaciju za postavljanje alarma.

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

Korak 2: Sastavljanje kruga

Sastavljanje kruga
Sastavljanje kruga
Sastavljanje kruga
Sastavljanje kruga

Možete se obratiti skici 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 dolje ću objasniti kako radi jer ga čini prilično nezgodnim)

RTC DS3231GND ide na GND na arduinu

VCC ide 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, priključite je na 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 lukavi dio, moramo spojiti suprotne ulaze ona 2 na arduinoTX-u s hc-05 ide na RX na arduinoRX sa hc-05 ide na TX na arduinu

Važno: Obavezno odspojite TX & RX od HC-05 kada učitavate kôd na svoj arduino ili ćete dobiti pogrešku govoreći "nešto je pošlo po zlu s učitavanjem koda" u prevoditelju.

Korak 3: Postavljanje LCD zaslona i sata

Postavljanje LCD zaslona i sata
Postavljanje LCD zaslona i sata
Postavljanje LCD zaslona i sata
Postavljanje LCD zaslona i sata

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

Knjižnica koju koristim za pokretanje sata može se pronaći na web 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 Arduino biblioteka.

Vrijeme

Uključite knjižnicu DS3231 ili DS1307 u svoj arduino kôd

Raskomentirajte ova 3 retka 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. siječnja 2014

LCD zaslon

Uključite knjižnicu liqduicrystal_i2c u svoj arduino kôd

Za ispis na LCD zaslonu koristite

lcd.setCursor (col, row) // položaj ispisanog teksta lcd.print (~) // ispisan tekst

Korak 4: Kodiranje

Kodiranje
Kodiranje

Preuzmite kôd na: github:

Dekomentirajte ova 3 retka za postavljanje sata na LCD zaslonu:

// 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. siječnja 2014

Upotrijebite lcd.setCuros (col, row); za postavljanje položaja prikazanog teksta

lcd.setCursor (0, 2);

i print () za ispis nečega na zaslonu

lcd.print (rtc.getDateStr ());

Promijenite ove varijable ako želite

int fadeTime = 1; // Koliko će dugo 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 s PWM -om

Kôd Bluetooth modula

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

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

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

// // if (t.hour == setHour && t.min == setMin) // Provjeri je li vrijeme za buđenje! // { // početak(); //}

// 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: Postavljanje aplikacije Bluetooth

Postavljanje aplikacije Bluetooth
Postavljanje aplikacije Bluetooth
Postavljanje aplikacije Bluetooth
Postavljanje aplikacije Bluetooth
Postavljanje aplikacije Bluetooth
Postavljanje aplikacije Bluetooth

Budući da mi je bilo neugodno kopati u 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ćuje 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 telefonu pomoću QR koda ili izravno preuzeti aplikaciju na računalo, a zatim je prenijeti pomoću kabela na telefonu. (snimak zaslona)

Korak 7: Izgradnja kućišta

Izgradnja slučaja
Izgradnja slučaja
Izgradnja slučaja
Izgradnja slučaja
Izgradnja slučaja
Izgradnja slučaja

Uvijek možete izgraditi drugačiju 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 kako svjetlo jasno sijeva kroz kućište, ali ne možete vidjeti unutrašnjost sata.

Korak 8: Završeno

Završeno!
Završeno!
Završeno!
Završeno!
Završeno!
Završeno!

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čeni: