Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Dimri mund të jetë i trishtuar. Zgjoheni, është errësirë dhe duhet të dilni nga shtrati. Gjëja e fundit që dëshironi të dëgjoni është tingulli i bezdisshëm i alarmit tuaj. Nëse ju, si unë, keni probleme të zgjoheni në mëngjes, kjo orë me zile është vetëm ajo që ju nevojitet.
Në këtë tutorial, ne do të ndërtojmë një orë alarmi të lindjes së diellit. It'sshtë një orë me zile si çdo tjetër në atë që ju mund të caktoni orën dhe minutën që dëshironi të zgjoheni, por me përfitimin e përdorimit të dritës për të ndriçuar dhomën tuaj të gjumit gjatë një periudhe kohore si lindja e diellit për t'ju zgjuar në vend të një bezdisjeje zile!
Ne gjithashtu do të përdorim një modul bluetooth për të krijuar një aplikacion që ju lejon të vendosni alarmin përmes telefonit tuaj në orë. Ekrani LCD do të tregojë kohën, datën dhe ditën e javës. Llambat e diellit ekzistojnë në treg, por ato mund të jenë të shtrenjta (një kërkim i shpejtë në Google i kthen produktet në rangun prej 100 €), të brishta dhe mjaft klinike. Kjo është arsyeja pse vendosa të bëj timen për Projektin tim të Shkollës Arduino. Të gjitha pjesët do të renditen në hapin tjetër. Kodi mund të shkarkohet nga ora ime e alarmit të lindjes së diellit Github. Le të fillojmë:)
i gjithë kodi mund të gjendet në:
Hapi 1: Mbledhja e Pjesëve
Ne do të përdorim një orë si hyrje tonë dhe një LED ultra të ndritshëm si dalje për të simuluar lindjen tonë.
Për të ndërtuar qarkun do të na duhen:
- Arduino Uno- clockmodule RTC DS3231 - një MOSFET për të kontrolluar shkëlqimin e dritës - një LED super i ndritshëm (bleva 2, një të ngrohtë, një të ftohtë) - bateri 9V për të ndezur LED -in - një dërrasë buke- një ekran LCD (16: 2)- Përshtatës Bluetooth hc-05 kështu që ne mund të përdorim një aplikacion për të vendosur alarmin.
Çdo gjë që ju nevojitet mund të blihet në www.martoparts.nl
Hapi 2: Montimi i qarkut
Ju mund t'i referoheni skicës për qarkun tim, për fat të keq unë nuk e gjeta RTC DS3231 në program, kështu që unë kisha të bëja me këtë. Lidhjet janë paksa të ndryshme në të vërtetë, këtu janë lidhjet. (moduli bluetooth nuk është në skicë, por unë do të shpjegoj se si funksionon më poshtë, sepse është mjaft i ndërlikuar)
RTC DS3231GND shkon në GND në arduino
VCC shkon në 5v
SDA shkon në arduino
SCL shkon në arduinoNe nuk do të përdorim SQW & 32KMOSFET
Pina e portës shkon në pin ~ 9 në Arduino Uno sepse është PWM Pina e kullimit shkon në anën negative të LED Burimi shkon në GND në ArduinoLCD-DisplayGND shkon në GND në arduino
VCC shkon në 5VSDA shkon në A4 në arduinoSKL shkon në A5 në arduinoLED- shkon në mosfet+ shkon në baterinë 5v9v Mund të blini një bateri 9v në çdo dyqan lokal, futeni në arduino me një shirit lidhës.
Moduli Bluetooth hc-055V shkon në 5V nga arduino
GND shkon në GND në arduino
Tani ka 2 hyrje të tjera, por këtu vjen pjesa e ndërlikuar, ne duhet të lidhim hyrjet e kundërta të atyre 2 në arduinoTX nga hc-05 shkon në RX në arduinoRX nga hc-05 shkon në TX në arduino
E rëndësishme: Sigurohuni që të SHKCPUNONI TX & RX nga HC-05 kur ngarkoni kodin në arduino tuaj ose do të merrni një gabim duke thënë "diçka nuk shkoi mirë me ngarkimin e kodit" në përpiluesin.
Hapi 3: Vendosja e ekranit dhe orës LCD
Biblioteka e përdorur për ekranin LCD është kristal i lëngët dhe mund të gjendet në: https://github.com/fdebrabander/Arduino-LiquidCrys… Shkarkoni skedarin zip, ruajeni dhe vendoseni në dosjen tuaj Arduino/bibliotekat
Biblioteka që po përdor për të drejtuar orën mund të gjendet në Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 dhe sigurohuni që të jeni në faqen DS3231. Shkarkoni skedarin zip, ruajeni dhe vendoseni në dosjen e bibliotekave të Arduino -s tuaj.
Koha
Përfshini bibliotekën DS3231 ose DS1307 në kodin tuaj arduino
Mos komentoni këto 3 rreshta të kodit për të vendosur kohën:
// rtc.setDOW (E HDN); // Cakto ditën e javës në E DIEL // rtc.setTime (23, 57, 0); // Vendosni kohën në 12:00:00 (format 24 orë) // rtc.setDate (14, 1, 2019); // Vendosni datën më 1 janar 2014
Ekran LCD
Përfshini bibliotekën liqduicrystal_i2c në kodin tuaj arduino
Për të printuar në ekranin LCD përdorni
lcd.setCursor (kol, rresht) // pozicioni i tekstit i printuarlcd.print (~) // teksti i printuar
Hapi 4: Kodimi
Shkarkoni kodin në: github:
Mos i komentoni këto 3 rreshta për të vendosur orën në ekranin tuaj LCD:
// rtc.setDOW (E HDN); // Cakto ditën e javës në E DIEL // rtc.setTime (23, 57, 0); // Vendosni kohën në 12:00:00 (format 24 orë) // rtc.setDate (14, 1, 2019); // Vendosni datën më 1 janar 2014
Përdorni lcd.setCuros (kol, rresht); për të vendosur pozicionin e tekstit në ekran
lcd.setCursor (0, 2);
dhe print () për të printuar diçka në ekran
lcd.print (rtc.getDateStr ());
Ndryshoni këto ndryshore nëse dëshironi
int fadeTime = 1; // Sa kohë drita do të zbehet në maksimum setHour = 02; // Cakto orë për tu zgjuar (koha ushtarake) int setMin = 49; // Cakto minutën për zgjim int uled = 9; // Vendosni pinout me PWM
Kodi i modulit Bluetooth
String firstHalf = getValue (input, ':', 0); // kontrolloni hyrjen e parë deri në ":"
String secondHalf = getValue (input, ':', 1); // kontrolloni hyrjen e dytë pas ":"
// përdorni këtë kod nëse nuk përdorni modulin bluetooth
// // nëse (t.hour == setHour && t.min == setMin) // Kontrolloni nëse është koha për t'u zgjuar! // {// fillo (); //}
// kontrolloni hyrjet e para 2 shifrore, pastaj kontrolloni 2 shifrat e dyta të hyrjes
if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// logjika për të ndarë vargjet
String getValue (Të dhënat e vargut, ndarësi i karaktereve, indeksi int) {int gjetur = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;
për (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == ndarës || i == maxIndex) {gjetur ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} u gjet kthimi> indeksi? data.substring (strIndex [0], strIndex [1]): ""; }
Hapi 5: Koha për Testimin
Përpiloni kodin dhe testin tuaj nëse përbërësit punojnë!
Hapi 6: Konfigurimi i aplikacionit Bluetooth
Sepse më dukej e bezdisshme të gërmoja në kod sa herë që doja të vendosja një alarm, doja të bëja një aplikacion që do të vendoste alarmin, gjë që është shumë më e lehtë.
Shkoni te https://ai2.appinventor.mit.eduku mund të bëjmë një aplikacion të thjeshtë që na lejon të vendosim alarmin, unë kam përfshirë strukturën e thjeshtë të dizajnit (gjithmonë mund ta ndryshoni këtë më vonë) dhe kodin e përdorur për lidhje bluetooth. Pastaj mund të publikoni aplikacionin tuaj dhe të lidheni me të në telefonin tuaj duke përdorur një kod QR ose duke shkarkuar drejtpërdrejt aplikacionin në kompjuterin tuaj, pastaj duke e transferuar atë me kabllo në telefonin tuaj. (pamje nga ekrani)
Hapi 7: Ndërtimi i çështjes
Ju gjithmonë mund të krijoni një kuti të ndryshme rreth orës tuaj arduino. Kam përdorur dru dhe pleksiglas mat për të ndërtuar kutinë time të alarmit. Zgjodha pleksiglas mat, në mënyrë që të shihni dritën që shkëlqen qartë në kasë, por nuk mund të shihni pjesën e brendshme të orës.
Hapi 8: Përfundoi
Tani që e keni ngarkuar kodin në arduino tuaj, ndërtoni kutinë dhe kontrolloni nëse e keni montuar orën tuaj si duhet, mund të vendosni një alarm në aplikacionin bluetooth dhe të filloni të zgjoheni më natyrshëm!:)