Оглавление:

NeoPixel Clock: 10 шагов (с изображениями)
NeoPixel Clock: 10 шагов (с изображениями)

Видео: NeoPixel Clock: 10 шагов (с изображениями)

Видео: NeoPixel Clock: 10 шагов (с изображениями)
Видео: Cветодиодное кольцо RGB на ws2812b NeoPixel, подключение к Arduino 2024, Июль
Anonim
Image
Image
Требуются электронные детали
Требуются электронные детали

*********************************************************************************************************

ЭТО ЗАПИСЬ В КОНКУРСЕ МИКРОКОНТРОЛЛЕРОВ, ПОЖАЛУЙСТА, ГОЛОСОВАТЬ ЗА МЕНЯ

********************************************************************************************************

Я построил бесконечное зеркало NeoPixel несколько лет назад, когда был в Таиланде, и его можно увидеть ЗДЕСЬ.

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

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

Эти часы были разработаны для излучения света с периферии на стену, к которой они прикреплены, с помощью индивидуально адресуемых светодиодов RGB WS2812B, расположенных с шагом 144 на метр. Это дало мне часы диаметром 200 мм, которые я мог сделать сам на своем 3D-принтере.

Он имеет потрясающий эффект, особенно ночью или в затемненной комнате, свет светит около 500 мм, создавая полное ослепление диаметром более метра. Узоры потрясающие.

Часы показывают часы (синий), минуты (зеленый) и секунды (красный). Также отображается дата на 8-значном 7-сегментном дисплее и день недели в виде списка.

Часы управляются смартфоном через Wi-Fi с помощью приложения Blynk и локального сервера Blynk, работающего на RPi 3.

Использование локального сервера для Blynk не является обязательным, и его настройка не входит в эту инструкцию. Blynk, размещенный в Интернете, можно использовать после создания учетной записи на www.blynk.cc и загрузки приложения.

На их веб-сайте есть масса информации об использовании Blynk, поэтому она не является частью этого руководства.

На более позднем этапе в этой инструкции есть QR-код для сканирования, и мое приложение будет у вас на телефоне.

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

Существует модуль часов реального времени с резервной батареей, обеспечивающий функции времени / даты для Arduino.

Прошивку на NodeMCU-E12 в часах можно обновлять по воздуху (OTA).

А теперь приступим…

Шаг 1. Необходимые инструменты

Хороший паяльник и припой

устройства для зачистки проводов

маленькие кусачки

маленькие плоскогубцы

маленькая пила для резки веро доски

острый нож для хобби

ножницы

бумажный клей

Шаг 2: Требуются электронные детали

Требуются электронные детали
Требуются электронные детали
Требуются электронные детали
Требуются электронные детали

1 x модуль NodeMCE-12E из ЗДЕСЬ

1 x модуль часов RTC ЗДЕСЬ

1 x 8-значный 7-сегментный модуль Max7219 здесь

1 разъем питания постоянного тока здесь

2 переключателя уровня (требуется, так как Arduino составляет 3,3 В, а 7-сегментный дисплей RTC - 5 В)

Здесь 68 светодиодов светодиодной ленты WS2812B 114 / mtr.

Блок питания постоянного тока 5В 10А здесь.

Резистор 10кОм 1 / 4Вт.

По мере необходимости соединительный провод.

Плата Vero примерно 77 мм x 56 мм для сборки всех модулей и подключения.

На самом деле я использовал переключатель уровня Adafruit для линий I2c модуля RTC, так как он должен был быть безопасным для I2c !!

Однако я думаю, что большинство двунаправленных логических переключателей уровня с 3,3 В на 5 В должны работать.

На разрезание светодиодной ленты расходуется один светодиод, поскольку требовались контактные площадки для пайки обоих концов 60-светодиодной ленты, а для 7-светодиодной ленты требовались контактные площадки.

Шаг 3: напечатанные детали

Печатные части
Печатные части
Печатные части
Печатные части
Печатные части
Печатные части

Есть три детали, напечатанные на 3D-принтере; основной корпус часов, передняя крышка и крышка батарейного отсека сзади.

Крышка аккумуляторного отсека может отсутствовать.

Под лицевой обложкой также есть напечатанная «Маска» с указанием дней недели. Я распечатал это на обычной бумаге. Я предоставил для этого файлы.dwg и.dxf.

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

Мой 3D-принтер (сопло 0,4 мм) имел следующие настройки с Slic3r:

высота первого слоя = 0,2 мм

высота слоев = 0,2 мм

температура кровати = 60 C

температура сопла = 210 C

вертикальные периметры = 2

горизонтальные оболочки = 3

заполнение = звезды прямолинейны под углом 45 градусов

без полей

нет вспомогательного материала

Настоятельно рекомендуется использовать метод выравнивания кровати.

Напечатанные на 3D-принтере файлы и рисунок маски здесь:

Шаг 4: Полный файл сборки

Ниже представлен файл IGS с полной сборкой для всех, кто желает модифицировать часы.

Шаг 5: Установка библиотек

УСТАНОВИТЕ ПЛАТЫ ESP

Вам понадобится IDE Arduino. Его установка не входит в данное руководство, но может быть загружена ЗДЕСЬ.

После установки Arduino IDE, если это еще не сделано, вам нужно будет скопировать / вставить текст ниже в текстовое поле в меню File> Preferences - Additional Boards Manager URLs:

arduino.esp8266.com/stable/package_esp8266com_index.json

Перезагрузите IDE.

После того, как вы это сделаете, перейдите в Инструменты> Доска> Менеджер плат. Дождитесь завершения обновления, и вы должны увидеть версию сообщества ESP8266 в списке установленных плат.

УСТАНОВИТЬ БИБЛИОТЕКИ

Установка всех библиотек в папку Documents / Arduino / Libraries как обычно, кроме тех, которые были установлены менеджером платы.

После установки библиотек перезапустите Arduino IDE, перейдите в Sketch> Include Library> Manage Libraries, дайте ему завершить обновление, вы должны увидеть свои новые библиотеки в списке.

RTClib - доступен здесь, аdafruit_NeoPixel - доступен здесь

HCMAX7219 отсюда

Блинк - здесь. ВНИМАТЕЛЬНО следуйте инструкциям по установке.

Все остальные «включения» в файле NeoPixelClock либо устанавливаются Board Manager, либо входят в пакет с установкой Arduino IDE.

Шаг 6: Установка прошивки

На этом этапе рекомендуется соединить все вместе на макетной плате для целей тестирования.

Перед подключением источника питания 5 В и / или кабеля USB внимательно проверьте всю проводку.

Перейдите в папку Sketch Documents> Arduino.

Создайте папку «NeopixelClock».

поместите в папку указанный ниже файл.ino.

Откройте IDE Arduino.

Настройте IDE для отображения номеров строк, перейдите в меню «Файл»> «Настройки» и установите флажок «Отображать номера строк», затем нажмите «ОК».

Подключите плату NodeMCU к USB-порту.

Перейдите в Инструменты> Плата и выберите NodeMCU 1.0 (модуль ESP-12E).

Перейдите в Инструменты> Порт и выберите порт, к которому подключена ваша плата.

УСТАНОВИТЬ ПРОШИВКУ OTA

Чтобы использовать обновление OTA, вам сначала нужно записать специальную прошивку на NodeMCU.

перейдите в Файл> Примеры> ArduinoOTA> BasicOTA.

программа загрузится в IDE, заполните часть для ssid с SSID вашего маршрутизатора. Вы можете увидеть это имя, если наведете указатель мыши на значок Wi-Fi на панели задач.

Введите пароль с вашим сетевым паролем (обычно пишется на нижней части беспроводного маршрутизатора.

Теперь загрузите на свою плату NodeMCU через USB.

По завершении нажмите кнопку сброса на плате NodeMCU.

УСТАНОВИТЕ ПРОШИВКУ NEOPIXELCLOCK

Перейдите в File> Sketchbook> NeoPixelClock и откройте файл NeoPixelClock.

Введите «auth», «ssid» и «pass» должны быть в строке 114.

Примечание; как получить токен полномочий объясняется на следующем шаге

Вы также можете установить свой местный часовой пояс в строке 121, это может быть любая 1/4 часа в диапазоне от -12 до +14 в соответствии с часовыми поясами по всему миру. Это также можно установить в приложении, если хотите. В настоящее время он установлен в Квинсленде, Австралия.

В строке номер 332 вы должны установить IP-адрес для вашего локального сервера, если вы его используете.

Заметка о порте локального сервера. Из-за недавнего обновления программного обеспечения Blynk порт теперь 8080, а не 8442.

Если вы используете новое обновленное программное обеспечение, измените это.

Или, если вы используете веб-сервер Blynk, прокомментируйте строку 332 и раскомментируйте строку 333.

Это все, что нужно отредактировать.

Теперь загрузите это на свою плату NodeMCU через USB.

После успешной загрузки отсоедините USB-кабель от платы.

В разделе «Инструменты»> «Порт» вы увидите новый порт (выглядит как IP-адрес), выберите его в качестве порта для связи с NodeMCU для будущих обновлений, которые вы можете сделать.

Если все прошло хорошо, часы должны запуститься, в противном случае нажмите кнопку сброса на модуле NodeMCU.

Примечание: я заметил, что иногда он не запускается с первого раза, я обнаружил, что отключение источника питания и повторное подключение работает в большинстве случаев. Я работаю над решением этой проблемы с загрузкой должным образом.

Шаг 7. Приложение для смартфона

Приложение для смартфона
Приложение для смартфона
Приложение для смартфона
Приложение для смартфона

Чтобы начать его использовать:

1. Загрузите приложение Blynk: https://j.mp/blynk_Android или https://j.mp/blynk_iOS, если оно еще не установлено.

2. Откройте приложение или войдите в систему, если вы новичок, вам нужно будет создать учетную запись.

ПРИМЕЧАНИЕ, это не то же самое, что онлайн-аккаунт.

3. Коснитесь значка QR в приложении вверху и наведите камеру на QR-код выше или откройте ссылку ниже -

tinyurl.com/yaqv2czw

4. Код авторизации должен быть отправлен на указанный вами адрес электронной почты, который вы должны указать в коде Arduino, где это указано на более позднем этапе. Если вы нажмете на значок ореха, вы сможете снова отправить электронное письмо, если это необходимо.

Как упоминалось ранее, вам следует создать учетную запись на сайте www. Blynk.cc. перед этим.

Простите за неясность, я не могу это проверить, так как у меня уже есть приложение, и я не использую веб-сервер.

Шаг 8: Сборка сборки платы Vero

Сборка платы Vero Board Assembly
Сборка платы Vero Board Assembly
Сборка платы Vero Board Assembly
Сборка платы Vero Board Assembly
Сборка платы Vero Board Assembly
Сборка платы Vero Board Assembly

Я решил поместить все платы и модули на кусок платы Vero.

Так все будет аккуратно и опрятно.

Схему можно увидеть в файле.pdf ниже.

Заголовки на плате были удалены после тестирования, я подключил все периферийные устройства непосредственно к плате Vero, так как не было достаточно места для заголовков и связанных разъемов.

Извините, я не сделал никаких фотографий обратной стороны платы, но разобраться в этом не должно быть сложно. Вы даже можете улучшить мой макет. Сохраняйте доску Vero такого же размера, иначе она не поместится на 3D-печатной основе.

С переключателями логического уровня LV (+ 3,3 В) переходит в 3,3 В на любом из контактов 3 В на модуле Arduino, HV (+ 5 В) подключается к контакту VIN на плате Arduino.

Все заземления поступают от любых / всех контактов GND Arduino и должны быть связаны вместе, чтобы избежать петель.

Для подключения используйте что-то вроде изолированного одножильного провода калибра 26, изоляция из ПТФЭ будет хорошей, поскольку она не плавится.

Тщательно проверьте всю проводку 2 или 3 раза.

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

Проверьте все подключения + 5 В на модуле RTC, контакты HV двух модулей сдвига уровня и контакт VIN + 5 В на модуле NodeMCU.

Хорошая идея также проверить всю другую проводку.

Шаг 9: Сборка часов

Сборка часов
Сборка часов
Сборка часов
Сборка часов
Сборка часов
Сборка часов

После того, как вы напечатали детали, удалите все блики, комки и неровности острым ножом.

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

Я думаю, это должно помочь лучше отражать свет, а также предотвратить утечку света через стены в соседние полости.

Сборка платы vero должна быть подключена:

к светодиодной ленте + 5в, Gnd и DIN от сборки платы vero.

к 7-сегментному дисплею с платы Vero.

к разъему постоянного тока от платы vero в сборе.

Провод к отдельной 7-контактной светодиодной ленте (DIN) от конца (номер 60) основной 60-ти контактной светодиодной ленты (DOUT).

Я припаял только выход данных (DOUT) с конца (светодиод номер 60) 60-контактной светодиодной ленты, + 5v и Gnd для 7-контактной светодиодной ленты, которую я подключил к сборке платы Vero.

Чтобы предотвратить короткое замыкание, я поместил небольшой кусок тонкой карты между началом и концом 60-сторонней светодиодной ленты, так как они были очень близко.

Отмерьте и отрежьте все провода до нужной длины, я добавил 5 или 6 мм, чтобы обеспечить небольшую свободу действий.

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

Я обнаружил, что полоски подходят хорошо и плотно, затем проталкиваются до дна полости.

Поместите плату Vero в углубление, есть стойки, чтобы она не доходила до дна на 2 мм.

Поместите 8-позиционный 7-сегментный дисплей в полость, там есть стойки для его установки.

Гнездо постоянного тока плотно входит в гнездо, припаяйте к нему провода на внутренней стороне бирки. Если хотите, удалите боковую бирку.

Все провода должны быть аккуратно уложены в предусмотренные выемки.

Наконец, проденьте разъем питания от источника питания через отверстие и вставьте его в разъем постоянного тока, а затем вставьте кабель в предусмотренную под ним канавку.

Тщательно проверьте всю проводку 2 или 3 раза (см. Схему подключения ниже).

Шаг 10: Установка передней крышки до конца

Базовый блок имеет несколько маленьких штифтов, выступающих на внешнем кольце, они должны совпадать с отверстиями в передней крышке.

Бумажная маска должна быть распечатана черным цветом, вырезана и приклеена к лицевой обложке чем-то вроде клея.

Отверстия будут пробиты в бумаге, когда она будет прижата передней крышкой к основанию.

Мы все готовы к работе, подключите его, часы должны запуститься автоматически, если это не так, как я узнал несколько раз, отключите питание и снова подключите.

Если у вас нет батареи в модуле RTC, вам нужно будет установить время и дату.

Сделайте это с помощью приложения, установите часовой пояс с помощью регулятора вверх / вниз, затем нажмите кнопку «УСТАНОВИТЬ ВРЕМЯ NTP».

Вы увидите в терминале приложения, если это удастся или нет, если не попробуете еще раз.

Когда на дисплее отображается ГОТОВО, можно нажать кнопку «Часы», и часы должны работать и отображать время, дату и день недели.

Шаблоны можно запускать, нажав кнопку Patterns, это можно прервать в любой момент, нажав кнопку Clock или кнопку Patterns еще раз.

Яркость светодиодных индикаторов часов и 7-сегментного дисплея можно регулировать по яркости с помощью соответствующих ползунков.

Все светодиоды можно выключить, нажав кнопку выключения часов.

Повесьте его на стену, и свет будет падать на стену, особенно красиво в затемненной комнате.

На любые вопросы я буду только рад попытаться ответить.

НАСЛАЖДАЙТЕСЬ и не забудьте проголосовать за меня.

************************************************* ************************************************ ***** ЭТО ЗАПИСЬ В КОНКУРСЕ МИКРОКОНТРОЛЛЕРОВ, ПОЖАЛУЙСТА, ГОЛОСОВАТЬ ЗА МЕНЯ ****************************** ************************************************ ***********************

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