Kazalo:
- 1. korak: Zbiranje delov
- 2. korak: Sestavljanje vezja
- 3. korak: Nastavitev LCD zaslona in ure
- 4. korak: Kodiranje
- 5. korak: Čas za testiranje
- 6. korak: Nastavitev aplikacije Bluetooth
- 7. korak: Izdelava primera
- 8. korak: Končano
Video: Budilka Sunrise z LCD zaslonom in aplikacijo Bluetooth: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Zima je lahko žalostna. Zbudiš se, temno je in moraš vstati iz postelje. Zadnja stvar, ki jo želite slišati, je nadležen zvok budilke. Če imate, tako kot jaz, težave z zbujanjem zjutraj, je ta budilka tisto, kar potrebujete.
V tej vadnici bomo izdelali budilko Sunrise. To je budilka, tako kot katera koli druga, saj lahko nastavite uro in minuto, v kateri se želite zbuditi, vendar s prednostjo uporabe svetlobe za popestritev vaše spalnice v daljšem časovnem obdobju, kot da vas zbudi sončni vzhod namesto nadležnega brenčalo!
Za izdelavo aplikacije bomo uporabili tudi modul Bluetooth, ki vam omogoča, da alarm nastavite prek telefona na uro. Na LCD-prikazovalniku bodo prikazani čas, datum in dan v tednu. Svetilke Sunrise obstajajo na trgu, vendar so lahko drage (hitro iskanje v Googlu vrne izdelke v razponu 100 evrov), krhke in precej klinično videti. Zato sem se odločil, da bom za svoj šolski projekt Arduino naredil svojega. Vsi deli bodo navedeni v naslednjem koraku. Kodo lahko prenesete z moje budilke Github repo sončni vzhod. Začnimo:)
vso kodo najdete na:
1. korak: Zbiranje delov
Za vhod bomo uporabili uro in ultra svetle LED diode za simulacijo sončnega vzhoda.
Za izdelavo vezja potrebujemo:
- Arduino Uno -clockmodule RTC DS3231 - MOSFET za nadzor svetlosti svetlobe - super svetla LED (kupil sem 2, eno toplo, eno hladno) - 9V baterija za napajanje LED - plošča - LCD zaslon (16: 2)- Bluetooth adapter hc-05, tako da lahko z aplikacijo nastavimo alarm.
Vse, kar potrebujete, lahko kupite na www.martoparts.nl
2. korak: Sestavljanje vezja
Lahko se sklicujete na skico mojega vezja, na žalost RTC DS3231 v programu nisem našel, zato sem moral opraviti s tem. Povezave so v resnici nekoliko drugačne, tukaj so povezave. (modula bluetooth ni na skici, vendar bom spodaj razložil, kako deluje, ker je precej težavno)
RTC DS3231GND gre na GND na arduinu
VCC gre na 5v
SDA gre v arduino
SCL gre na arduino Ne bomo uporabljali SQW in 32KMOSFET
Vrata za vrata gredo na pin ~ 9 na Arduino Uno, ker je to PWMDrain pin gre na negativno stran LED zatiča Vir gre na GND na ArduinoLCD-DisplayGND gre na GND na arduinu
VCC gre na 5VSDA gre na A4 na arduinoSKL gre na A5 na arduinoLED- gre na mosfet+ gre na baterijo 5v9v 9V baterijo lahko kupite v kateri koli lokalni trgovini, priključite jo v arduino s priključnim trakom.
Modul Bluetooth hc-055V prehaja na 5V iz arduina
GND gre na GND na arduinu
Zdaj sta na voljo še 2 vhoda, toda tu pride težaven del, moramo povezati nasprotne vhode teh 2 na arduinoTX iz hc-05 gre na RX na arduinoRX iz hc-05 gre na TX na arduino
Pomembno: Ko nalagate kodo na svoj arduino, prekinite povezavo TX & RX s HC-05, sicer boste v prevajalniku prejeli napako, ki pravi: "pri nalaganju kode je šlo kaj narobe".
3. korak: Nastavitev LCD zaslona in ure
Knjižnica, ki se uporablja za LCD zaslon, je tekoči kristal in jo najdete na: https://github.com/fdebrabander/Arduino-LiquidCrys… Prenesite datoteko zip, jo shranite in postavite v mapo Arduino/knjižnice
Knjižnico, ki jo uporabljam za izvajanje ure, najdete na spletnem mestu Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 in se prepričajte, da ste na strani DS3231. Prenesite datoteko zip, jo shranite in postavite v mapo knjižnic Arduino.
Čas
V kodo arduino vključite knjižnico DS3231 ali DS1307
Odkomentirajte te 3 vrstice kode, da nastavite čas:
// rtc.setDOW (PONEDELJEK); // Dan v tednu nastavimo na NEDELJO // rtc.setTime (23, 57, 0); // Nastavite čas na 12:00:00 (24 -urni format) // rtc.setDate (14, 1, 2019); // Nastavite datum na 1. januar 2014
LCD zaslon
V kodo arduino vključite knjižnico liqduicrystal_i2c
Za tiskanje na LCD zaslonu uporabite
lcd.setCursor (stolpec, vrstica) // položaj natisnjenega besedila lcd.print (~) // natisnjeno besedilo
4. korak: Kodiranje
Prenesite kodo na: github:
Če želite nastaviti uro na LCD zaslonu, razkomentirajte te 3 vrstice:
// rtc.setDOW (PONEDELJEK); // Dan za teden nastavimo na NEDELJO // rtc.setTime (23, 57, 0); // Nastavite čas na 12:00:00 (24 -urni format) // rtc.setDate (14, 1, 2019); // Nastavite datum na 1. januar 2014
Uporabite lcd.setCuros (stolpec, vrstica); za nastavitev položaja besedila na zaslonu
lcd.setCursor (0, 2);
in print (), da natisnete nekaj na zaslonu
lcd.print (rtc.getDateStr ());
Če želite, spremenite te spremenljivke
int fadeTime = 1; // Kako dolgo bo svetloba zbledela do maxint setHour = 02; // Nastavitev ur za bujenje (vojaški čas) int setMin = 49; // Nastavitev minute za prebujanje int uled = 9; // Nastavite pinout s PWM
Koda modula Bluetooth
Niz firstHalf = getValue (vnos, ':', 0); // preveri prvi vnos do ":"
Niz secondHalf = getValue (vnos, ':', 1); // preverite drugi vnos za ":"
// uporabite to kodo, če ne uporabljate modula bluetooth
// // if (t.hour == setHour && t.min == setMin) // Preverite, ali je čas, da se zbudite! // {// start (); //}
// preverimo prve 2 -mestne vnose, nato preverimo 2 -mestne vnose
if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// logika za ločevanje nizov
Niz getValue (Podatkovni niz, ločilo znakov, 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) == ločilo || i == maxIndex) {najdeno ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} vrnitev najdena> indeks? data.substring (strIndex [0], strIndex [1]): ""; }
5. korak: Čas za testiranje
Sestavite kodo in preizkusite, ali komponente delujejo!
6. korak: Nastavitev aplikacije Bluetooth
Ker se mi je zdelo neprijetno kopati v kodo vsakič, ko sem hotel nastaviti alarm, sem želel narediti aplikacijo, ki bi nastavila alarm, kar je veliko lažje.
Pojdite na https://ai2.appinventor.mit.edu, kjer lahko naredimo preprosto aplikacijo, ki nam omogoča nastavitev alarma, vključil sem preprosto nastavitev oblikovanja (to lahko vedno prilagodite pozneje) in kodo, ki se uporablja za Bluetooth aplikacijo. Nato lahko objavite svojo aplikacijo in se z njo povežete v telefonu s pomočjo kode QR ali neposredno prenesete aplikacijo v računalnik, nato pa jo prenesete s kablom na telefonu. (posnetek zaslona)
7. korak: Izdelava primera
Okoli arduino ure lahko vedno sestavite drugačen kovček. Za izdelavo lastnega ohišja budilke sem uporabil les in mat pleksi steklo. Izbral sem mat pleksi steklo, tako da lahko vidite svetlobo, ki jasno sije skozi ohišje, vendar ne vidite notranjosti ure.
8. korak: Končano
Zdaj, ko ste kodo naložili v svoj arduino, izdelali ohišje in preverili, ali ste pravilno sestavili uro, lahko v aplikaciji bluetooth nastavite alarm in se začnete prebujati bolj naravno!:)
Priporočena:
Macintosh z zaslonom na dotik - Klasični Mac z zaslonom IPad Mini: 5 korakov (s slikami)
Macintosh z zaslonom na dotik | Klasični Mac z zaslonom IPad Mini: To je moja posodobljena in prenovljena zasnova, kako zamenjati zaslon starega Macintosha z iPad mini. To je že šesti od teh, ki sem jih naredil v preteklih letih in sem zelo zadovoljen z razvojem in oblikovanjem tega! Leta 2013, ko sem naredil
Pametna budilka: pametna budilka iz Raspberry Pi: 10 korakov (s slikami)
Pametna budilka: pametna budilka iz Raspberry Pi: Ste si kdaj želeli pametno uro? Če je tako, je to rešitev za vas! Naredil sem pametno budilko, to je ura, ki jo lahko spremenite glede na spletno stran. Ko se alarm sproži, bo zaslišal zvočni signal in dve lučki bosta
Kako narediti uro v realnem času z zaslonom Arduino in TFT - Arduino Mega RTC s 3,5 -palčnim zaslonom TFT: 4 koraki
Kako narediti uro v realnem času z zaslonom Arduino in TFT | Arduino Mega RTC s 3,5-palčnim zaslonom TFT: Obiščite moj kanal Youtube. Uvod:- V tem prispevku bom naredil »uro v realnem času« s 3,5-palčnim TFT LCD na dotik, Arduino Mega 2560 in DS3231 modul RTC… .Preden začnete… preverite videoposnetek z mojega kanala YouTube .. Opomba:- Če uporabljate Arduin
LED budilka Sunrise: 5 korakov (s slikami)
LED budilka Sunrise: Imate težave zjutraj vstati? Sovražite oster prodorni zvok alarma? Bi raje sami naredili nekaj, kar bi verjetno lahko kupili za manj denarja in časa? Nato si oglejte to LED budilko Sunrise! Alarmi za sončni vzhod so zasnovani za
LED budilka Sunrise z nastavljivim alarmom za pesem: 7 korakov (s slikami)
LED budilka ob sončnem vzhodu s prilagodljivim alarmom za pesem: moja motivacija To zimo je imela moja punca zjutraj veliko težav zbuditi se in zdelo se je, da trpi zaradi sezonske afektivne motnje. Opažam celo, kako težko se je zbuditi pozimi, saj sonce še ni prišlo