Оглавление:

Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth: 8 шагов
Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth: 8 шагов

Видео: Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth: 8 шагов

Видео: Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth: 8 шагов
Видео: ОБЗОР ТРЕНДОВОГО НОЧНИКА SMART LIGHT SOUND MACHINE С БЫСТРОЙ ЗАРЯДКОЙ IPHONE 15W BLUETOOTH КАЛОНКА 2024, Ноябрь
Anonim
Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth
Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth
Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth
Будильник Sunrise с ЖК-дисплеем и приложением Bluetooth

Зима бывает грустной. Вы просыпаетесь, темно, и вам нужно встать с постели. Последнее, что вы хотите слышать, - это раздражающий звук будильника. Если вам, как и мне, сложно просыпаться по утрам, этот будильник - то, что вам нужно.

В этом уроке мы собираемся построить будильник с восходом солнца. Это будильник, как и любой другой, в котором вы можете установить час и минуту, когда хотите проснуться, но с преимуществом использования света, чтобы украсить вашу спальню в течение определенного периода времени, как восход солнца, чтобы разбудить вас, а не раздражать зуммер!

Мы также будем использовать модуль 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

Настройка приложения Bluetooth
Настройка приложения Bluetooth
Настройка приложения Bluetooth
Настройка приложения Bluetooth
Настройка приложения Bluetooth
Настройка приложения Bluetooth

Поскольку мне было неприятно копаться в коде каждый раз, когда я хотел установить будильник, я хотел сделать приложение, которое будет устанавливать будильник, что намного проще.

Перейдите по адресу https://ai2.appinventor.mit.edu, здесь мы можем создать простое приложение, которое позволяет нам устанавливать будильник, я включил простую настройку дизайна (вы всегда можете настроить это позже) и код, используемый для Затем вы можете опубликовать свое приложение и подключиться к нему на своем телефоне, используя QR-код или напрямую загрузив приложение на свой компьютер, а затем перенеся его с помощью кабеля на свой телефон. (Скриншот)

Шаг 7: создание кейса

Создание дела
Создание дела
Создание дела
Создание дела
Создание дела
Создание дела

Вы всегда можете построить другой корпус для своих часов Arduino. Я использовал дерево и матовое оргстекло, чтобы сделать корпус для будильника. Я выбрал матовое оргстекло, чтобы вы могли видеть свет, четко проникающий сквозь корпус, но не видеть внутреннюю часть часов.

Шаг 8: Готово

Законченный!
Законченный!
Законченный!
Законченный!
Законченный!
Законченный!

Теперь, когда вы загрузили код в свой Arduino, собрали корпус и проверили, правильно ли вы собрали часы, вы можете установить будильник в приложении Bluetooth и начать просыпаться более естественно!:)

Рекомендуемые: