Sadržaj:
- Korak 1: Prikupljanje dijelova
- Korak 2: Sastavljanje kruga
- Korak 3: Podešavanje LCD ekrana i sata
- Korak 4: Kodiranje
- Korak 5: Vrijeme je za testiranje
- Korak 6: Podešavanje Bluetooth aplikacije
- Korak 7: Izgradnja kućišta
- Korak 8: Završeno
Video: Budilica Sunrise sa LCD ekranom i aplikacijom Bluetooth: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
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
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
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
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
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
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
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
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:
Povezivanje sa LCD ekranom M4Uključak: 5 koraka
Povezivanje s LCD zaslonom M4Uključak: Ovaj vodič će nam omogućiti upravljanje LCD zaslonom putem Wi-Fi veze sa našeg pametnog telefona. Ako nemamo mali upravljački program, možemo koristiti arduino, ali ispod veze za razvoj Drivemall-a. Prednost preferirajući Drivemall umjesto klase
Bluetooth kontrolirano RGB svjetlo s Android aplikacijom: 4 koraka
Bluetooth kontrolirano RGB svjetlo s Android aplikacijom: Pozdrav proizvođači, danas ćemo naučiti napraviti Bluetooth RGB traku kojom se kontrolira s našeg pametnog telefona. Osnovna ideja ovog projekta je stvoriti pozadinsko/stolno svjetlo koje gledatelju dodaje osjećaj topline. Da, ovo svetlo
RGB LED kocka s Bluetooth aplikacijom + animacijomKreator: 14 koraka (sa slikama)
RGB LED kocka s Bluetooth aplikacijom + AnimationCreator: Ovo je uputstvo o tome kako izgraditi 6x6x6 RGB LED (uobičajene anode) kocku koju kontrolira Bluetooth aplikacija pomoću Arduino Nano. Cijela konstrukcija se lako prilagođava recimo kocki 4x4x4 ili 8x8x8. Ovaj projekat inspirisan je GreatScottom. Odlučio sam da
Arduino Bluetooth RC automobil s pogonom na četiri kotača koristeći UNO R3, HC-05 i L293D motorni štit s kodiranjem i Android aplikacijom: 8 koraka
Arduino Bluetooth RC automobil s pogonom na 4 kotača koristeći UNO R3, HC-05 i L293D motorni štit s kodiranjem i Android aplikacijom: Danas ću vam reći o tome kako napraviti arduino bluetooth RC automobil s pogonom na četiri kotača koristeći HC 05, L293 motorni štit, 4 DC motor, s kodiranjem i aplikacijom za android za upravljanje automobilom. Korištena komponenta: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293
Pixel Art LED okvir sa Bluetooth aplikacijom za kontrolu: 9 koraka
Pixel Art LED okvir s Bluetooth aplikacijom za kontrolu: Materijali 32x16 LED matrica- Adafruit 24,99 USDPIXEL Maker's Kit- Seeedstudio 59 USD (Napomena, ja sam tvorac PIXEL Maker's Kit-a) iOS Bluetooth aplikacija ili Android Bluetooth aplikacija- Besplatno 1/8 " akrilni materijal za lasersko rezanje 12x20 - 153 USD/16 " akril