Оглавление:
- Шаг 1: Сбор деталей
- Шаг 2: Сборка схемы
- Шаг 3. Настройка ЖК-дисплея и часов
- Шаг 4: кодирование
- Шаг 5: время для тестирования
- Шаг 6. Настройка приложения Bluetooth
- Шаг 7: создание кейса
- Шаг 8: Готово
Видео: Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Зима бывает грустной. Вы просыпаетесь, темно, и вам нужно встать с постели. Последнее, что вы хотите слышать, - это раздражающий звук будильника. Если вам, как и мне, сложно просыпаться по утрам, этот будильник - то, что вам нужно.
В этом уроке мы собираемся построить будильник с восходом солнца. Это будильник, как и любой другой, в котором вы можете установить час и минуту, когда хотите проснуться, но с преимуществом использования света, чтобы украсить вашу спальню в течение определенного периода времени, как восход солнца, чтобы разбудить вас, а не раздражать зуммер!
Мы также будем использовать модуль bluetooth для создания приложения, которое позволит вам установить будильник через телефон на часы. На ЖК-дисплее отображается время, дата и день недели. Лампы Sunrise существуют на рынке, но они могут быть дорогими (быстрый поиск в Google возвращает товары стоимостью в 100 евро), хрупкими и довольно клинически выглядящими. Вот почему я решил сделать свою собственную для своего школьного проекта Arduino. Все детали будут перечислены на следующем шаге. Код можно скачать из моего репозитория Github с восходом-будильником. Давай начнем:)
весь код можно найти на:
Шаг 1: Сбор деталей
Мы будем использовать часы в качестве входа и сверхъяркий светодиод в качестве выхода, чтобы имитировать восход солнца.
Для построения схемы нам потребуются:
- Arduino Uno - модуль часов RTC DS3231 - полевой МОП-транзистор для управления яркостью света - сверхъяркий светодиод (я купил 2, один теплый, один холодный) - батарея 9 В для питания светодиода - макет - ЖК-дисплей (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 переходит на отрицательную сторону светодиодного источника, вывод идет на GND на Arduino, LCD-DisplayGND переходит на 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. Настройка ЖК-дисплея и часов
Библиотека, используемая для ЖК-дисплея, является жидкокристаллической, и ее можно найти по адресу: 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.setCursor (col, row) // позиция напечатанного текста lcd.print (~) // напечатанный текст
Шаг 4: кодирование
Загрузите код на: github:
Раскомментируйте эти 3 строки, чтобы установить часы на ЖК-дисплее:
// rtc.setDOW (ПОНЕДЕЛЬНИК); // Установить день недели на ВОСКРЕСЕНЬЕ // rtc.setTime (23, 57, 0); // Устанавливаем время на 12:00:00 (24-часовой формат) // rtc.setDate (14, 1, 2019); // Устанавливаем дату на 1 января 2014 г.
Используйте lcd.setCuros (col, row); установить положение текста на дисплее
lcd.setCursor (0, 2);
и print (), чтобы распечатать что-нибудь на дисплее
lcd.print (rtc.getDateStr ());
Измените эти переменные, если хотите
int fadeTime = 1; // Как долго свет будет угасать до maxint setHour = 02; // Устанавливаем часы пробуждения (военное время) int setMin = 49; // Устанавливаем минуту для пробуждения int uled = 9; // Устанавливаем распиновку с ШИМ
Код модуля Bluetooth
Строка firstHalf = getValue (ввод, ':', 0); // проверяем первый ввод до ":"
Строка secondHalf = getValue (ввод, ':', 1); // проверяем второй ввод после ":"
// используйте этот код, если вы не используете модуль bluetooth
// // if (t.hour == setHour && t.min == setMin) // Проверяем, не пора ли просыпаться! // { // Начните(); //}
// проверяем первые 2 цифры ввода, затем проверяем вторые 2 цифры ввода
если (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// логика разделения строк
String 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) == separator || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? я + 1: я; }} вернуть найдено> индекс? data.substring (strIndex [0], strIndex [1]): ""; }
Шаг 5: время для тестирования
Скомпилируйте свой код и проверьте, работают ли компоненты!
Шаг 6. Настройка приложения Bluetooth
Поскольку мне было неприятно копаться в коде каждый раз, когда я хотел установить будильник, я хотел сделать приложение, которое будет устанавливать будильник, что намного проще.
Перейдите по адресу https://ai2.appinventor.mit.edu, здесь мы можем создать простое приложение, которое позволяет нам устанавливать будильник, я включил простую настройку дизайна (вы всегда можете настроить это позже) и код, используемый для Затем вы можете опубликовать свое приложение и подключиться к нему на своем телефоне, используя QR-код или напрямую загрузив приложение на свой компьютер, а затем перенеся его с помощью кабеля на свой телефон. (Скриншот)
Шаг 7: создание кейса
Вы всегда можете построить другой корпус для своих часов Arduino. Я использовал дерево и матовое оргстекло, чтобы сделать корпус для будильника. Я выбрал матовое оргстекло, чтобы вы могли видеть свет, четко проникающий сквозь корпус, но не видеть внутреннюю часть часов.
Шаг 8: Готово
Теперь, когда вы загрузили код в свой Arduino, собрали корпус и проверили, правильно ли вы собрали часы, вы можете установить будильник в приложении Bluetooth и начать просыпаться более естественно!:)
Рекомендуемые:
Умный будильник: умный будильник на Raspberry Pi: 10 шагов (с изображениями)
Умный будильник: умный будильник на Raspberry Pi: вы когда-нибудь хотели умные часы? Если да, то это решение для вас! Я сделал Smart Alarm Clock, это часы, в которых вы можете менять время будильника в соответствии с веб-сайтом. При срабатывании будильника раздастся звуковой сигнал (зуммер) и загорятся 2 лампочки
Автомобиль-робот с Bluetooth, камерой и приложением MIT Inventor2: 12 шагов (с изображениями)
Автомобиль-робот с Bluetooth, камерой и приложением MIT Inventor2: Вы когда-нибудь хотели построить свой собственный автомобиль-робот? Что ж … это твой шанс !! В этом руководстве я расскажу, как создать автомобиль-робот, управляемый через Bluetooth и приложение MIT Inventor2. Имейте в виду, что я новичок и это мой первый институт
Светодиодный куб RGB с приложением Bluetooth + AnimationCreator: 14 шагов (с изображениями)
Светодиодный куб RGB с приложением Bluetooth + AnimationCreator: это руководство по созданию куба 6x6x6 RGB LED (общие аноды), управляемого приложением Bluetooth с помощью Arduino Nano. Вся конструкция легко адаптируется, скажем, к кубу 4x4x4 или 8x8x8. Этот проект вдохновлен GreatScott. Я решил
Arduino 4 Wheel Drive Bluetooth RC Car с использованием UNO R3, HC-05 и L293D Motorshield с кодированием и приложением для Android: 8 шагов
Arduino 4 Wheel Drive Bluetooth RC Car с использованием UNO R3, HC-05 и L293D Motorshield с кодированием и приложением для Android: Сегодня я собираюсь рассказать вам о том, как сделать 4-колесный Bluetooth RC автомобиль Arduino с использованием моторного щита HC 05, L293, 4 Двигатель постоянного тока с кодировкой и приложением для Android для управления автомобилем. Используемый компонент: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293
Будильник Sunrise с Arduino: 9 шагов (с изображениями)
Будильник с восходом солнца с Arduino: Зима может быть грустной. Вы просыпаетесь, темно, и вам нужно встать с постели. Последнее, что вы хотите слышать, - это рев вашего будильника. Я живу в Лондоне, и мне трудно просыпаться по утрам. Кроме того, я скучаю по пробуждению