Mundarija:
- 1 -qadam: qismlarni yig'ish
- 2 -qadam: O'chirish sxemasini yig'ish
- 3 -qadam: LCD displey va soatni sozlash
- 4 -qadam: kodlash
- 5 -qadam: Sinov vaqti
- 6-qadam: Bluetooth ilovasini sozlash
- 7 -qadam: ishni ochish
- 8 -qadam: Bajarildi
Video: LCD displey va Bluetooth ilovasi bilan quyosh chiqadigan budilnik: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
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
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
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 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
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
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
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
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:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
BT ilovasi bilan 7 oyoqli 7 segmentli RGB displey: 22 qadam (rasmlar bilan)
BT ilovasi bilan 7 oyoqli 7 segmentli RGB displey: Bu 6 futli soatni yasash mening uzoq yillik orzuim (lekin bu erda 7 futli displey), lekin bu faqat orzu. Bu birinchi raqamni yasashning birinchi qadami, lekin ishlayotganda men lazerni kesuvchi kabi mashinalarda ishlayapman
UCL-lloT-Ochiq-quyosh nuri quyosh botishi/quyosh botishi bilan: 6 qadam
UCL-lloT-Ochiq yorug'lik Quyosh botishi bilan/quyosh botishi bilan: Har kimga salom! Bir oz ishlashim bilan, ba'zi qismlar va kodlarni men to'pladim, bu sizga boshidan oxirigacha tashqi yorug'likni qanday ishlab chiqarishni ko'rsatib beradi. Bu fikr otamdan kelib chiqqan, u yozda qo'lda chiqib ketishi kerak edi
LED quyosh chiqadigan budilnik: 5 qadam (rasmlar bilan)
LED quyosh chiqadigan budilnik: ertalab turishda muammo bormi? Signalning qattiq teshuvchi ovozidan nafratlanasizmi? Kamroq pulga va vaqtga sotib olish mumkin bo'lgan narsani o'zingiz qilmoqchimisiz? Quyosh chiqishining LED yoritgichli soatini ko'ring! Quyosh chiqish signallari
Arduino bilan quyosh chiqadigan budilnik: 9 qadam (rasmlar bilan)
Arduino bilan quyosh chiqadigan budilnik: Qish qayg'uli bo'lishi mumkin. Siz uyg'onasiz, qorong'i va siz yotoqdan turishingiz kerak. Siz eshitmoqchi bo'lgan oxirgi narsa - budilnikning baland ovozi. Men Londonda yashayman va ertalab uyg'onishim qiyin. Bundan tashqari, men uyg'onishni sog'indim