Mündəricat:

LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat: 8 addım
LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat: 8 addım

Video: LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat: 8 addım

Video: LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat: 8 addım
Video: Turn ON and OFF LED using mobile App using Bluetooth on ESP32 board 2024, Iyul
Anonim
LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat
LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat
LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat
LCD Ekran və Bluetooth Tətbiqi ilə Gündoğumu Zəngli Saat

Qış kədərli ola bilər. Oyanırsan, qaranlıqdır və yataqdan qalxmalısan. Eşitmək istədiyiniz son şey zəngli saatınızın əsəbi səsidir. Mənim kimi səhər oyanmaqda çətinlik çəkirsinizsə, bu zəngli saat sizə lazım olan şeydir.

Bu dərslikdə Günəşin çıxması üçün bir Zəngli Saat quracağıq. Oyanmaq istədiyiniz saatı və dəqiqəni təyin edə biləcəyiniz digər saatlara bənzər bir zəngli saatdır, ancaq işığın faydası ilə bir müddət ərzində yataq otağınızı işıqlandırmaq üçün günəşin doğması kimi sizi oyandırmaq əvəzinə sizi narahat edir. səs -küy!

Telefonunuzla saata siqnalizasiya etməyinizə imkan verən bir tətbiq yaratmaq üçün bluetooth modulundan da istifadə edəcəyik. LCD displeydə həftənin vaxtı, tarixi və günü göstəriləcək. Sunrise lampaları bazarda mövcuddur, lakin onlar bahalı ola bilər (Google-da sürətli axtarış 100 avroluq məhsullar verir), kövrək və olduqca kliniki görünüşlüdür. Bu səbəbdən Arduino Məktəbi Layihəm üçün özüm hazırlamağa qərar verdim. Növbəti addımda bütün hissələr siyahıya alınacaq. Kodu Github repo sunrise-alarm-saatımdan yükləyə bilərsiniz. Başlayaq:)

bütün kodu burada tapa bilərsiniz:

Addım 1: hissələri toplayın

Parçaların toplanması
Parçaların toplanması
Parçaların toplanması
Parçaların toplanması
Parçaların toplanması
Parçaların toplanması

Günəşin doğuşunu simulyasiya etmək üçün girişimiz olaraq bir saat və çıxışımız kimi ultra parlaq bir LED istifadə edəcəyik.

Bir dövrə qurmaq üçün bizə lazım olacaq:

- Arduino Uno- saat modulu RTC DS3231 - işığın parlaqlığını idarə etmək üçün MOSFET - super parlaq LED (2, bir isti, bir soyuq aldım) - LED -i gücləndirmək üçün 9V batareya - çörək taxtası - LCD Ekran (16: 2)- Bluetooth adapteri hc-05, belə ki, həyəcanı qurmaq üçün tətbiqdən istifadə edə bilərik.

Ehtiyac duyduğunuz hər şeyi www.martoparts.nl saytında almaq olar

Addım 2: Dövrün montajı

Dövrə yığılması
Dövrə yığılması
Dövrə yığılması
Dövrə yığılması

Dövrümün eskizinə müraciət edə bilərsiniz, təəssüf ki, proqramda RTC DS3231 tapa bilmədim, buna görə də bununla məşğul oldum. Bağlantılar əslində bir az fərqlidir, burada bağlantılar var. (bluetooth modulu eskizdə yoxdur, amma aşağıda necə işlədiyini izah edəcəyəm ki, bu olduqca çətindir)

RTC DS3231GND, arduinoda GND -ə gedir

VCC 5v -ə keçir

SDA arduinoya gedir

SCL arduino -ya gedir SQW & 32KMOSFET istifadə etməyəcəyik

Qapı pin Arduino Uno ~ 9 pininə gedir, çünki PWMDrain pin LED-in mənfi tərəfinə gedir Mənbə pin Arduino-da GND-yə gedirLCD-EkranGND arduino-da GND-ə gedir

VCC 5VSDA-ya gedir arduino-da A4-ə gedirSKL arduino-da A5-ə gedirLED- mosfet-ə gedir 5v9v batareyaya gedir Hər hansı bir yerli mağazada 9v batareya ala bilərsiniz, arduino-ya bağlayıcı zolaqla qoşun.

Bluetooth modulu hc-055V, arduinodan 5V-ə keçir

GND arduinoda GND -yə gedir

İndi daha 2 giriş var, amma çətin hissə gəlir, hc-05-dən arduinoTX-dəki 2-nin əks girişlərini arduino-da RX-ə, hc-05-də arduino-da TX-ə gedir.

Vacibdir: Arduino-ya kod yükləyərkən TC & RX-in HC-05-dən SÖLÜNMƏSİNDƏN əmin olun və ya tərtibçidə "kodu yükləyərkən bir şey səhv oldu" deyən bir səhv alacaqsınız.

Addım 3: LCD Ekranı və Saatı Ayarlayın

LCD Ekranın və Saatın Qurulması
LCD Ekranın və Saatın Qurulması
LCD Ekranın və Saatın Qurulması
LCD Ekranın və Saatın Qurulması

LCD ekran üçün istifadə olunan kitabxana maye kristaldır və burada tapa bilərsiniz: https://github.com/fdebrabander/Arduino-LiquidCrys… Zip faylını yükləyin, qeyd edin və Arduino/libraries qovluğunuza yerləşdirin.

Saatı işlətmək üçün istifadə etdiyim kitabxananı Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 ünvanında tapa bilərsiniz və DS3231 səhifəsində olduğunuzdan əmin olun. Zip faylını yükləyin, qeyd edin və Arduino kitabxana qovluğuna yerləşdirin.

Zaman

Arduino kodunuza DS3231 və ya DS1307 kitabxanasını daxil edin

Vaxtı təyin etmək üçün bu 3 kod satırını ləğv edin:

// rtc.setDOW (Bazar ertəsi); // Həftənin Gününü Bazar günü olaraq təyin edin // rtc.setTime (23, 57, 0); // Vaxtı 12:00:00 (24 saat formatı) olaraq təyin edin // rtc.setDate (14, 1, 2019); // Tarixi 1 Yanvar 2014 -ə təyin edin

LCD Ekran

Arduino kodunuza liqduicrystal_i2c kitabxanasını daxil edin

LCD ekranda çap etmək üçün istifadə edin

lcd.setCursor (col, satır) // mətnin mövqeyi çap lcd.print (~) // mətn çap

Addım 4: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma

Kodu github -dan yükləyin:

LCD ekranınızda saatı təyin etmək üçün bu 3 sətri şərhdən çıxarın:

// rtc.setDOW (Bazar ertəsi); // Həftənin Gününü Bazar günü olaraq təyin edin // rtc.setTime (23, 57, 0); // Vaxtı 12:00:00 (24 saat formatı) olaraq təyin edin // rtc.setDate (14, 1, 2019); // 1 Yanvar 2014 tarixini təyin edin

Lcd.setCuros istifadə edin (col, satır); mətnin ekrandakı yerini təyin etmək

lcd.setCursor (0, 2);

və ekranda bir şey çap etmək üçün print ()

lcd.print (rtc.getDateStr ());

İstəyirsinizsə bu dəyişənləri dəyişdirin

int fadeTime = 1; // İşıq nə qədər maksimuma çatacaq setHour = 02; // Oyanacaq saatları təyin edin (hərbi vaxt) int setMin = 49; // int uled = 9 oyanmaq üçün dəqiqə təyin edin; // PWM ilə pinout qurun

Bluetooth modul kodu

String firstHalf = getValue (giriş, ':', 0); // ":" qədər ilk girişi yoxlayın

String secondHalf = getValue (giriş, ':', 1); // ":" işarəsindən sonra ikinci girişi yoxlayın

// bluetooth modulundan istifadə etmirsinizsə bu kodu istifadə edin

// // əgər (t.hour == setHour && t.min == setMin) // Oyanmağın vaxtı olub olmadığını yoxlayın! // { // başlamaq(); //}

// ilk 2 rəqəmi daxil edin, sonra ikinci 2 rəqəmi daxil edin

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

// sətirləri ayırmaq məntiqi

String getValue (String data, char separator, int index) {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) == ayırıcı || i == maxIndex) {tapılan ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} qayıtdı> indeks? data.substring (strIndex [0], strIndex [1]): ""; }

Addım 5: Test üçün vaxt

Kodunuzu tərtib edin və komponentlərin işlədiyini yoxlayın!

Addım 6: Bluetooth tətbiqinin qurulması

Bluetooth Tətbiq Quraşdırması
Bluetooth Tətbiq Quraşdırması
Bluetooth Tətbiq Quraşdırması
Bluetooth Tətbiq Quraşdırması
Bluetooth Tətbiq Quraşdırması
Bluetooth Tətbiq Quraşdırması

Hər dəfə həyəcan siqnalı qurmaq istədiyim zaman kodu daxil etməyi əsəbiləşdirirdim, həyəcan siqnalını quracaq bir tətbiq etmək istəyirdim ki, bu da daha asandır.

Http: //ai2.appinventor.mit.edu ünvanına gedin, həyəcan siqnalını qurmağımıza imkan verən sadə bir tətbiq edə bilərik, sadə dizayn quruluşunu (bunu hər zaman sonra düzəldə bilərsiniz) və istifadə olunan kodu daxil etdim. QR kodu istifadə edərək və ya proqramı birbaşa kompüterinizə yükləyərək telefonunuza kabel ilə köçürərək tətbiqinizi dərc edə və telefonunuza qoşa bilərsiniz. (ekran görüntüsü)

Addım 7: Davanın qurulması

Davanın qurulması
Davanın qurulması
Davanın qurulması
Davanın qurulması
Davanın qurulması
Davanın qurulması

Arduino saatınızın ətrafında həmişə fərqli bir qutu qura bilərsiniz. Öz zəngli saat qutumu qurmaq üçün taxta və mat pleksiglasdan istifadə etdim. Qutudan aydın şəkildə işıq saçan işığı görə biləcəyiniz üçün mat pleksiglas seçdim, ancaq saatın içini görə bilməzsiniz.

Addım 8: Bitdi

Bitdi!
Bitdi!
Bitdi!
Bitdi!
Bitdi!
Bitdi!

Kodu arduino -ya yüklədikdən sonra, korpusu düzəldin və saatınızı düzgün yığdığınızı yoxlayın, bluetooth tətbiqində bir həyəcan qura və daha təbii oyanmağa başlaya bilərsiniz!:)

Tövsiyə: