Mundarija:

LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik: 8 qadam
LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik: 8 qadam

Video: LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik: 8 qadam

Video: LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik: 8 qadam
Video: Colgate PASTA TELEFON EKRANINI YAMADIMA Солгате паста телефон екранини ямадима 2024, Dekabr
Anonim
LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik
LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik
LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik
LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik

Qish achinarli bo'lishi mumkin. Siz uyg'onasiz, qorong'i va siz yotoqdan turishingiz kerak. Siz eshitmoqchi bo'lgan oxirgi narsa - budilnikning zerikarli ovozi. Agar siz ham men kabi ertalab uyg'onishda qiynalayotgan bo'lsangiz, bu budilnik sizga kerak bo'lgan narsadir.

Ushbu qo'llanmada biz quyosh chiqadigan budilnikni qurmoqchimiz. Bu uyg'otuvchi soat kabi, siz uyg'onishni xohlagan soat va daqiqani belgilashingiz mumkin, lekin yorug'likdan foydalanib, yotoqxonangizni bir muncha vaqt yoritish uchun, quyosh chiqqandek, sizni bezovta qilish o'rniga uyg'otadi. ovozli signal!

Shuningdek, biz bluetooth modulidan foydalanib, telefon orqali signalni soatga qo'yishga imkon beradigan dastur yaratamiz. LCD displeyda vaqt, sana va haftaning kuni ko'rsatiladi. Sunrise lampalari bozorda mavjud, lekin ular qimmat bo'lishi mumkin (Google-da tezkor qidiruv 100 evrolik mahsulotlarni qaytaradi), nozik va juda klinik ko'rinishga ega. Shuning uchun men Arduino maktabi loyihasini o'zim yaratishga qaror qildim. Keyingi bosqichda barcha qismlar ro'yxatga olinadi. Kodni Github repo quyosh chiqish-budilnikdan yuklab olish mumkin. Boshlaylik:)

barcha kodlarni quyidagi manzilda topish mumkin:

1 -qadam: qismlarni yig'ish

Qismlarni yig'ish
Qismlarni yig'ish
Qismlarni yig'ish
Qismlarni yig'ish
Qismlarni yig'ish
Qismlarni yig'ish

Biz quyosh chiqishimizni simulyatsiya qilish uchun soatni kirish va ultra yorqin LED sifatida ishlatamiz.

Devorni qurish uchun bizga kerak bo'ladi:

- Arduino Uno - RTC DS3231 soat moduli - yorug'lik yorqinligini boshqarish uchun MOSFET - super yorqin LED (men 2, bitta issiq, bitta sovuqni sotib oldim) - LEDni quvvatlantirish uchun 9V batareya - non paneli - LCD displey (16): 2)- Bluetooth adapteri hc-05, shuning uchun biz signalni o'rnatish uchun ilovadan foydalanishimiz mumkin.

Sizga kerak bo'lgan hamma narsani www.martoparts.nl saytidan sotib olishingiz mumkin

2 -qadam: O'chirish sxemasini yig'ish

Devrenni yig'ish
Devrenni yig'ish
Devrenni yig'ish
Devrenni yig'ish

Siz mening sxemamning eskiziga murojaat qilishingiz mumkin, afsuski, men dasturda RTC DS3231 ni topa olmadim, shuning uchun men bu bilan shug'ullanishga majbur bo'ldim. Ulanishlar biroz boshqacha, bu erda ulanishlar. (bluetooth moduli eskizda yo'q, lekin men quyida qanday ishlashini tushuntirib beraman, bu juda murakkab)

RTC DS3231GND arduino -da GND -ga o'tadi

VCC 5V ga o'tadi

SDA arduino -ga o'tadi

SCL arduino -ga o'tadi, biz SQW va 32KMOSFET -dan foydalanmaymiz

Darvoza pin Arduino Uno ~ 9 piniga o'tadi, chunki bu PWMDrain pin LEDning salbiy tomoniga o'tadi Manba pin Arduino-dagi GND-ga o'tadi

VCC 5VSDA-ga o'tadi arduino-da A4-ga o'tadiSKL arduino-da A5-ga o'tadiLED- mosfetga ketadi+ 5v9v batareyaga o'tadi Siz 9v batareyani har qanday mahalliy do'kondan sotib olishingiz mumkin, arduino-ni ulagichli tarmoqli bilan ulang.

Bluetooth moduli hc-055V arduino-dan 5V ga o'tadi

GND arduino -da GND -ga o'tadi

Endi yana 2 ta kirish bor, lekin bu erda qiyin tomoni bor, biz hc-05 dan arduinoTX-ga qarama-qarshi kirishni ulashimiz kerak arduinoRX-da hx-05 dan arduino-dagi TX-ga o'tadi.

Muhim: arduino-ga kod yuklayotganingizda TX & RX-ni HC-05-dan O'CHIRGANGA ishonch hosil qiling yoki kompilyatorda "kodni yuklashda xatolik yuz berdi" degan xato paydo bo'ladi.

3 -qadam: LCD displey va soatni sozlash

LCD displey va soatni sozlash
LCD displey va soatni sozlash
LCD displey va soatni sozlash
LCD displey va soatni sozlash

LCD displey uchun ishlatiladigan kutubxona suyuq kristall bo'lib, uni quyidagi manzilda topish mumkin: https://github.com/fdebrabander/Arduino-LiquidCrys… ZIP faylini yuklab oling, saqlang va Arduino/libraries papkasiga joylashtiring.

Men soatni ishlatish uchun foydalanadigan kutubxonani Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 saytida topishingiz mumkin va DS3231 sahifasida ekanligingizga ishonch hosil qiling. Zip faylini yuklab oling, saqlang va Arduino kutubxonalari papkasiga joylashtiring.

Vaqt

Arduino kodingizga DS3231 yoki DS1307 kutubxonasini kiriting

Vaqtni belgilash uchun ushbu 3 satr kodni bekor qiling:

// rtc.setDOW (dushanba); // Haftaning kunini yakshanba qilib belgilang // rtc.setTime (23, 57, 0); // Vaqtni 12:00:00 ga sozlang (24 soatlik format) // rtc.setDate (14, 1, 2019); // Sanani 2014 yil 1 yanvarga belgilang

LCD displey

Liqduicrystal_i2c kutubxonasini arduino kodingizga qo'shing

LCD displeyda chop etish uchun foydalaning

lcd.setCursor (ustun, satr) // bosilgan matn holati lcd.print (~) // bosilgan matn

4 -qadam: kodlash

Kodlash
Kodlash

Kodni yuklab oling: github:

LCD displeyda soatni sozlash uchun ushbu 3 qatorni bekor qiling:

// rtc.setDOW (dushanba); // Haftaning kunini yakshanba qilib belgilang // rtc.setTime (23, 57, 0); // Vaqtni 12:00:00 ga o'rnating (24 soatlik format) // rtc.setDate (14, 1, 2019); // Sanani 2014 yil 1 yanvarga belgilang

Lcd.setCuros -dan foydalaning (ustun, qator); ekrandagi matn o'rnini belgilash

lcd.setCursor (0, 2);

va displeyda biror narsani chop etish uchun ()

lcd.print (rtc.getDateStr ());

Agar xohlasangiz, bu o'zgaruvchilarni o'zgartiring

int fadeTime = 1; // Qachongacha yorug'lik maxint setHour = 02gacha pasayadi? // Uyg'onish uchun soatlarni belgilang (harbiy vaqt) int setMin = 49; // int uled = 9 ni uyg'otish uchun daqiqani o'rnating; // PWM yordamida pinout o'rnating

Bluetooth moduli kodi

String FirstHalf = getValue (kiritish, ':', 0); // ":" ga qadar birinchi kirishni tekshiring

String secondHalf = getValue (kiritish, ':', 1); // ":" dan keyin ikkinchi kirishni tekshiring

// bluetooth modulidan foydalanmasangiz, ushbu koddan foydalaning

// // if (t.hour == setHour && t.min == setMin) // Uyg'onish vaqti kelganligini tekshiring! // {// boshlash (); //}

// birinchi 2 raqamli kirishni tekshiring, keyin ikkinchi 2 raqamli kirishni tekshiring

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

// satrlarni ajratish mantig'i

String getValue (String ma'lumotlari, char ajratuvchi, int indeksi) {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) == ajratuvchi || i == maxIndex) {topilgan ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} qaytish topildi> indeks? data.substring (strIndex [0], strIndex [1]): ""; }

5 -qadam: Sinov vaqti

Kodni tuzing va komponentlar ishlayotganini tekshiring!

6-qadam: Bluetooth ilovasini sozlash

Bluetooth ilovasini sozlash
Bluetooth ilovasini sozlash
Bluetooth ilovasini sozlash
Bluetooth ilovasini sozlash
Bluetooth ilovasini sozlash
Bluetooth ilovasini sozlash

Chunki men signalni o'rnatishni xohlaganimda kodni o'rganishni bezovta qilardim.

Http: //ai2.appinventor.mit.edu saytiga o'ting, biz budilnikni o'rnatishga imkon beradigan oddiy dasturni yasashimiz mumkin, men oddiy dizayn sozlamalarini (har doim keyinroq o'zgartirishingiz mumkin) va kod uchun ishlatilgan kodni qo'shdim. bluetooth ulanishi. Siz keyin ilovangizni nashr qilishingiz va u bilan telefoningizga ulanishingiz mumkin, QR -kod yordamida yoki to'g'ridan -to'g'ri dasturni kompyuteringizga yuklab oling, so'ng uni telefoningizga kabel orqali o'tkazing. (skrinshot)

7 -qadam: ishni ochish

Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish

Siz har doim arduino soati atrofida boshqa korpus yasashingiz mumkin. Men o'zim budilnik qutisini yasash uchun yog'och va mat pleksiglasdan foydalanardim. Men mat pleksiglasni tanladim, shunda siz korpus orqali yorug'lik aniq ko'rinadi, lekin siz soatning ichki qismini ko'ra olmaysiz.

8 -qadam: Bajarildi

Bajarildi!
Bajarildi!
Bajarildi!
Bajarildi!
Bajarildi!
Bajarildi!

Endi siz kodni arduino -ga yukladingiz, korpusni tuzing va soatingizni to'g'ri yig'ilganligini tekshiring, bluetooth ilovasida budilnik o'rnatib, tabiiy ravishda uyg'onishni boshlashingiz mumkin!:)

Tavsiya: