Съдържание:
- Стъпка 1: Събиране на частите
- Стъпка 2: Сглобяване на веригата
- Стъпка 3: Настройка на LCD дисплея и часовника
- Стъпка 4: Кодиране
- Стъпка 5: Време за тестване
- Стъпка 6: Настройка на Bluetooth приложение
- Стъпка 7: Изграждане на случая
- Стъпка 8: Готово
Видео: Будилник Sunrise с LCD дисплей и приложение за Bluetooth: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Зимата може да бъде тъжна. Събуждате се, тъмно е и трябва да станете от леглото. Последното нещо, което искате да чуете, е досадният звук на будилника. Ако вие, като мен, имате проблеми със събуждането сутрин, този будилник е точно това, от което се нуждаете.
В този урок ще изградим будилник Sunrise. Това е будилник като всеки друг, тъй като можете да настроите часа и минутите, в които искате да се събудите, но с предимството да използвате светлина, за да осветите спалнята си за определен период от време, като изгрев, за да ви събуди, вместо досадно зумер!
Също така ще използваме Bluetooth модул, за да създадем приложение, което ви позволява да настроите алармата чрез телефона си върху часовника. LCD дисплеят ще показва часа, датата и деня от седмицата. Лампите Sunrise съществуват на пазара, но могат да бъдат скъпи (бързото търсене в Google връща продукти в диапазона от 100 евро), крехки и доста клинично изглеждащи. Ето защо реших да направя свой собствен за моя училищен проект Arduino. Всички части ще бъдат изброени в следващата стъпка. Кодът може да бъде изтеглен от моя Github repo изгрев-будилник. Нека да започнем:)
целият код може да бъде намерен на:
Стъпка 1: Събиране на частите
Ще използваме часовник като вход и ултра ярък светодиод като изход, за да симулираме изгрева си.
За да изградим веригата ще ни трябва:
- Arduino Uno - часовник модул RTC DS3231 - MOSFET за контрол на яркостта на светлината - супер ярък светодиод (купих 2, един топъл, един студен) - 9V батерия за захранване на светодиода - чертеж - LCD дисплей (16: 2)- Bluetooth адаптер hc-05, за да можем да използваме приложение за настройка на алармата.
Всичко, от което се нуждаете, може да бъде закупено на www.martoparts.nl
Стъпка 2: Сглобяване на веригата
Можете да се обърнете към скицата за моята схема, за съжаление не можах да намеря RTC DS3231 в програмата, така че трябваше да направя това. Връзките са малко по -различни в действителност, ето ги връзките. (Bluetooth модулът не е в скицата, но ще обясня как работи по -долу, защото го прави доста сложно)
RTC DS3231GND отива до GND на arduino
VCC преминава към 5v
SDA отива в arduino
SCL отива на arduino Няма да използваме SQW и 32KMOSFET
Щифтът на портата отива към щифт ~ 9 на Arduino Uno, защото той е PWMDrain щифт отива към отрицателната страна на LED Изходния извод отива към GND на ArduinoLCD-дисплея GND отива към GND на arduino
VCC отива на 5VSDA отива на A4 на arduinoSKL отива на A5 на arduinoLED- отива на mosfet+ отива на батерия 5v9v Можете да си купите 9v батерия във всеки местен магазин, включете в arduino с конектор.
Bluetooth модул hc-055V отива на 5V от arduino
GND отива до GND на arduino
Сега има още 2 входа, но тук идва сложната част, трябва да свържем противоположните входове на тези 2 на arduinoTX от hc-05 отива към RX на arduinoRX от hc-05 отива към TX на arduino
Важно: Уверете се, че ПРЕКРАТЯВАТЕ TX & RX от HC-05, когато качвате код на вашия arduino, или ще получите грешка, казвайки „нещо се обърка с качването на кода“в компилатора.
Стъпка 3: Настройка на LCD дисплея и часовника
Библиотеката, използвана за LCD дисплея, е течен кристал и може да бъде намерена на: https://github.com/fdebrabander/Arduino-LiquidCrys… Изтеглете zip файла, запазете го и го поставете в папката/библиотеките на Arduino
Библиотеката, която използвам за пускане на часовника, може да бъде намерена на Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 и се уверете, че сте на страницата DS3231. Изтеглете zip файла, запазете го и го поставете в папката на библиотеките на вашия Arduino.
Време
Включете библиотеката DS3231 или DS1307 във вашия код на arduino
Декомментирайте тези 3 реда код, за да зададете часа:
// rtc.setDOW (ПОНЕДЕЛНИК); // Задайте Ден от седмицата на НЕДЕЛЯ // rtc.setTime (23, 57, 0); // Задайте часа на 12:00:00 (формат 24 часа) // rtc.setDate (14, 1, 2019); // Задайте датата на 1 януари 2014 г.
ЛСД дисплей
Включете библиотеката liqduicrystal_i2c във вашия код на arduino
За отпечатване на LCD дисплея използвайте
lcd.setCursor (колона, ред) // позиция на отпечатания текст lcd.print (~) // текст отпечатан
Стъпка 4: Кодиране
Изтеглете кода на: github:
Декомментирайте тези 3 реда, за да настроите часовника на вашия LCD дисплей:
// rtc.setDOW (ПОНЕДЕЛНИК); // Задайте Ден от седмицата на НЕДЕЛЯ // rtc.setTime (23, 57, 0); // Задайте часа на 12:00:00 (24 -часов формат) // rtc.setDate (14, 1, 2019); // Задайте датата на 1 януари 2014 г.
Използвайте lcd.setCuros (колона, ред); за да зададете позицията на текста на дисплея
lcd.setCursor (0, 2);
и print (), за да отпечатате нещо на дисплея
lcd.print (rtc.getDateStr ());
Променете тези променливи, ако искате
int fadeTime = 1; // Колко дълго светлината ще избледнява до maxint setHour = 02; // Задаване на часове за събуждане (военно време) int setMin = 49; // Задайте минута за събуждане int uled = 9; // Задаване на извеждане с PWM
Код на Bluetooth модул
Низ firstHalf = getValue (вход, ':', 0); // проверявам първия вход до ":"
Низ secondHalf = getValue (вход, ':', 1); // проверете второто въвеждане след ":"
// използвайте този код, ако не използвате Bluetooth модула
// // if (t.hour == setHour && t.min == setMin) // Проверете дали е време за събуждане! // {// start (); //}
// проверяваме първите 2 цифри на входовете, след това проверяваме вторите 2 цифри на входа
if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// логика за разделяне на низове
Низ getValue (Данни за низ, разделител на символи, int индекс) {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) == разделител || i == maxIndex) {намерен ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} връщане намерено> индекс? data.substring (strIndex [0], strIndex [1]): ""; }
Стъпка 5: Време за тестване
Компилирайте вашия код и тествайте дали компонентите работят!
Стъпка 6: Настройка на Bluetooth приложение
Тъй като ми беше досадно да копая в кода всеки път, когато исках да задам аларма, исках да направя приложение, което да зададе алармата, което е много по -лесно.
Отидете на https://ai2.appinventor.mit.edu, където можем да направим просто приложение, което ни позволява да настроим алармата, аз включих простата настройка на дизайна (винаги можете да промените това по-късно) и кода, използван за Bluetooth връзка. След това можете да публикувате приложението си и да се свържете с него на телефона си, като използвате QR код или директно изтегляте приложението на компютъра си, след което го пренасяте с кабел на телефона си. (екранна снимка)
Стъпка 7: Изграждане на случая
Винаги можете да изградите различен калъф около вашия часовник arduino. Използвах дърво и матов плексиглас, за да конструирам свой собствен калъф за будилник. Избрах матов плексиглас, така че можете да видите светлината, която ясно проблясва през корпуса, но не можете да видите вътрешността на часовника.
Стъпка 8: Готово
Сега, след като сте качили кода на вашия arduino, изградете кутията и проверихте дали правилно сте сглобили часовника си, можете да настроите аларма в приложението bluetooth и да започнете да се събуждате по -естествено!:)
Препоръчано:
Нощен будилник с будилник MP3: 6 стъпки (със снимки)
Нощен алармен будилник с букви за MP3: За този проект исках да направя удобен и напълно функционален часовник за нощна аларма. Моите лични предпоставки за нощен будилник са: Четене при всяка светлина, без да заслепява през нощта MP3 мелодии за аларма Привличане
Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: 10 стъпки (със снимки)
Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: Искали ли сте някога интелигентен часовник? Ако е така, това е решението за вас! Направих Smart Alarm Clock, това е часовник, който можете да промените часа на алармата според уебсайта. Когато алармата изгасне, ще се чуе звук (зумер) и 2 светлини ще
7 фута 7 сегментен RGB дисплей с приложение BT: 22 стъпки (със снимки)
7 фута 7 сегментен RGB дисплей с BT приложение: Това е моята дългосрочна мечта да направя часовник от 6 фута (но тук има дисплей от 7 фута), но това е само мечта. Това е първата стъпка за направата на първата цифра, но докато работя, се чувствам без машини като лазерна резачка, много е трудно да се направи такава б
I2C / IIC LCD дисплей - Конвертиране на SPI LCD към I2C LCD дисплей: 5 стъпки
I2C / IIC LCD дисплей | Конвертирайте SPI LCD към I2C LCD дисплей: използването на spi lcd дисплей се нуждае от твърде много връзки, което е наистина трудно да се направи, затова намерих модул, който може да преобразува i2c lcd в spi lcd, така че нека започнем
LED будилник Sunrise: 5 стъпки (със снимки)
LED будилник за изгрев слънце: Проблем със ставането сутрин? Мразите суровия пронизващ звук на аларма? Бихте ли предпочели сами да направите нещо, което бихте могли да купите за по -малко пари и време? След това вижте този LED будилник Sunrise! Алармите за изгрев са проектирани да