Cuprins:

Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth: 8 pași
Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth: 8 pași

Video: Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth: 8 pași

Video: Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth: 8 pași
Video: Smart Light Wireless Fast Charger Bluetooth Speaker for iPhone Samsung Mobile Phone Dock Station 2024, Noiembrie
Anonim
Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth
Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth
Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth
Ceas cu alarmă Sunrise cu afișaj LCD și aplicație Bluetooth

Iarna poate fi tristă. Te trezești, este întuneric și trebuie să te ridici din pat. Ultimul lucru pe care vrei să-l auzi este sunetul enervant al ceasului cu alarmă. Dacă tu, ca și mine, ai probleme să te trezești dimineața, acest ceas cu alarmă este exact ceea ce ai nevoie.

În acest tutorial, vom construi un Sunrise Alarm Clock. Este un ceas cu alarmă ca oricare altul, în care poți seta ora și minutul în care vrei să te trezești, dar cu avantajul de a folosi lumina pentru a-ți lumina dormitorul pe o perioadă de timp, cum ar fi un răsărit de soare pentru a te trezi în loc de o enervantă buzzer!

De asemenea, vom folosi un modul bluetooth pentru a crea o aplicație care vă permite să setați alarma prin telefon pe ceas. Afișajul LCD va afișa ora, data și ziua săptămânii. Lămpile de răsărit există pe piață, dar pot fi costisitoare (o căutare rapidă pe Google returnează produse din gama de 100 EUR), fragile și destul de clinice. De aceea, am decis să-mi fac propriul proiect pentru școala mea Arduino. Toate piesele vor fi listate în pasul următor. Codul poate fi descărcat de pe Github repo sunrise-alarm-clock. Sa incepem:)

toate codurile pot fi găsite pe:

Pasul 1: Adunarea pieselor

Adunarea pieselor
Adunarea pieselor
Adunarea pieselor
Adunarea pieselor
Adunarea pieselor
Adunarea pieselor

Vom folosi un ceas ca intrare și un LED ultra-luminos ca ieșire pentru a ne simula răsăritul.

Pentru a construi circuitul vom avea nevoie de:

- Arduino Uno- clockmodule RTC DS3231 - un MOSFET pentru a controla luminozitatea luminii - un LED super-strălucitor (am cumpărat 2, unul cald, unul rece) - baterie de 9V pentru alimentarea LED-ului - o placă de măsurare- un afișaj LCD (16: 2) - Adaptor Bluetooth hc-05, astfel încât să putem folosi o aplicație pentru a seta alarma.

Tot ce aveți nevoie poate fi cumpărat de pe www.martoparts.nl

Pasul 2: Asamblarea circuitului

Asamblarea circuitului
Asamblarea circuitului
Asamblarea circuitului
Asamblarea circuitului

Puteți face referire la schița circuitului meu, din nefericire, nu am găsit RTC DS3231 în program, așa că am avut de-a face cu acesta. Conexiunile sunt un pic diferite în real, iată conexiunile. (modulul bluetooth nu este în schiță, dar vă voi explica cum funcționează mai jos îl face destul de complicat)

RTC DS3231GND merge la GND pe arduino

VCC merge la 5v

SDA merge la arduino

SCL merge la arduino Nu vom folosi SQW și 32KMOSFET

Pinul de poartă merge la pinul 9 de pe Arduino Uno, deoarece este PWM Pinul de scurgere merge pe partea negativă a LED-ului Pinul sursă merge la GND pe Arduino LCD-DisplayGND merge la GND pe arduino

VCC merge la 5VSDA merge la A4 pe arduino SKL merge la A5 pe arduinoLED- merge la mosfet + merge la bateria de 5v9v Puteți cumpăra o baterie de 9v în orice magazin local, conectați-l la arduino cu o bandă de conector.

Modulul Bluetooth hc-055V merge la 5V de la arduino

GND merge la GND pe arduino

Acum există încă 2 intrări, dar aici vine partea dificilă, trebuie să conectăm intrările opuse celor 2 de pe arduinoTX de la hc-05 merge la RX pe arduinoRX de la hc-05 merge la TX pe arduino

Important: Asigurați-vă că deconectați TX & RX de pe HC-05 atunci când încărcați codul pe arduino sau veți primi o eroare spunând „ceva nu a funcționat la încărcarea codului” în compilator.

Pasul 3: Setarea ecranului LCD și a ceasului

Setarea afișajului LCD și a ceasului
Setarea afișajului LCD și a ceasului
Setarea afișajului LCD și a ceasului
Setarea afișajului LCD și a ceasului

Biblioteca utilizată pentru afișajul LCD este cu cristale lichide și poate fi găsită la: https://github.com/fdebrabander/Arduino-LiquidCrys… Descărcați fișierul zip, salvați-l și plasați-l în folderul / bibliotecile Arduino

Biblioteca pe care o folosesc pentru a rula ceasul poate fi găsită la Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 și asigurați-vă că sunteți pe pagina DS3231. Descărcați fișierul zip, salvați-l și plasați-l în folderul bibliotecilor Arduino.

Timp

Includeți biblioteca DS3231 sau DS1307 în codul dvs. arduino

Descomentați aceste 3 linii de cod pentru a seta ora:

// rtc.setDOW (LUNI); // Setați ziua din săptămână la DUMINICĂ // rtc.setTime (23, 57, 0); // Setați ora la 12:00:00 (format 24hr) // rtc.setDate (14, 1, 2019); // Setați data la 1 ianuarie 2014

Ecran LCD

Includeți biblioteca liqduicrystal_i2c în codul dvs. arduino

Pentru a imprima pe ecranul LCD utilizați

lcd.setCursor (col, rând) // poziția textului imprimat lcd.print (~) // text tipărit

Pasul 4: Codificare

Codificare
Codificare

Descărcați codul de pe: github:

Descomentați aceste 3 linii pentru a seta ceasul pe ecranul LCD:

// rtc.setDOW (LUNI); // Setați ziua din săptămână la DUMINICĂ // rtc.setTime (23, 57, 0); // Setați ora la 12:00:00 (format 24hr) // rtc.setDate (14, 1, 2019); // Setați data la 1 ianuarie 2014

Utilizați lcd.setCuros (col, rând); pentru a seta poziția textului afișat

lcd.setCursor (0, 2);

și print () pentru a imprima ceva pe ecran

lcd.print (rtc.getDateStr ());

Schimbați aceste variabile dacă doriți

int fadeTime = 1; // Cât timp se va estompa lumina până la maxint setHour = 02; // Setează orele de trezire (ora militară) int setMin = 49; // Setați minutul pentru a vă trezi int uled = 9; // Setați identificarea cu PWM

Codul modulului Bluetooth

String firstHalf = getValue (intrare, ':', 0); // verificați prima intrare până la ":"

String secondHalf = getValue (intrare, ':', 1); // verificați a doua intrare după „:”

// utilizați acest cod dacă nu utilizați modulul bluetooth

// // if (t.hour == setHour && t.min == setMin) // Verificați dacă este timpul să vă treziți! // { // start(); //}

// verificați primele 2 cifre de intrare, apoi verificați a doua 2 cifre de intrare

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

// logică pentru a separa șirurile

String getValue (Date șir, separator de caractere, index int) {int găsit = 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; }} returnare găsită> index? data.substring (strIndex [0], strIndex [1]): ""; }

Pasul 5: Timp pentru testare

Compilați codul și testați dacă componentele funcționează!

Pasul 6: Configurarea aplicației Bluetooth

Configurarea aplicației Bluetooth
Configurarea aplicației Bluetooth
Configurarea aplicației Bluetooth
Configurarea aplicației Bluetooth
Configurarea aplicației Bluetooth
Configurarea aplicației Bluetooth

Deoarece mi s-a părut enervant să sap în cod de fiecare dată când am vrut să setez o alarmă, am vrut să fac o aplicație care să seteze alarma, ceea ce este mult mai ușor.

Accesați https://ai2.appinventor.mit.edu aici putem crea o aplicație simplă care ne permite să setăm alarma, am inclus configurarea simplă a designului (puteți oricând să o modificați mai târziu) și codul utilizat pentru conexiune bluetooth. Puteți apoi să publicați aplicația și să vă conectați cu ea pe telefon folosind un cod QR sau descărcând direct aplicația de pe computer, apoi portând-o prin cablu pe telefon. (captură de ecran)

Pasul 7: Construirea cazului

Construind cazul
Construind cazul
Construind cazul
Construind cazul
Construind cazul
Construind cazul

Puteți oricând să construiți o carcasă diferită în jurul ceasului dvs. arduino. Am folosit lemn și plexiglas mat pentru a-mi construi propria carcasă cu ceas deșteptător. Am ales plexiglasul mat, astfel încât să puteți vedea lumina strălucind clar prin carcasă, dar nu puteți vedea interiorul ceasului.

Pasul 8: Finalizat

Terminat!
Terminat!
Terminat!
Terminat!
Terminat!
Terminat!

Acum că ați încărcat codul pe arduino, construiți carcasa și ați verificat dacă v-ați asamblat corect ceasul, puteți seta o alarmă în aplicația Bluetooth și puteți începe să vă treziți mai natural!:)

Recomandat: