Ночник в форме призмы. На основе ESP8266 и WS2812

How To Install WLED On ESP8266

The software I used to flash my ESP8266 is called NodeMCU PyFlasher. Thanks to marcelstoer for building it.

Checkout this NodeMCU PyFlasher releases section.

You can see that there is a if you are using MacOS and a if you are using Windows. Download and install whatever is appropriate for your computer and lets move on.

Now that we have a utility to flash our ESP8266, we need some firmware. Head over to the WLED Releases Section.

Ночник в форме призмы. На основе ESP8266 и WS2812

Make sure you get the version that says .

When picking what to download from the section, choose the filename that says . This version will work with the ESP8266 that I’ve linked above. I don’t know much about the others.

Next, connect your ESP8266 to your computer with a micro USB cable and open NodeMCU PyFlasher.

Ночник в форме призмы. На основе ESP8266 и WS2812

Select the USB device for .

Select the we downloaded earlier for .

Press and cross your fingers.

If all goes well, you should see a success message below after 30-60 seconds.

If you have trouble with the above steps, please verify that your micro USB cable is capable of transferring data. I also had an issue on a MacBook where I needed to disable Bluetooth before my USB device would show up under the list.

You should now have WLED installed on your ESP8266. Lets connect some LEDs and then get it configured!

Шаг 7. Установка библиотек

Ночник в форме призмы. На основе ESP8266 и WS2812Установка библиотек в Arduino IDE

После установки запустите Arduino IDE:

  • Кликните на меню Скетч (Sketch) > Подключить библиотеку (Include Library) > Управлять библиотеками (Manage Libraries…)
  • Найдите и установите последние версии следующих библиотек:
    • AdaFruit Gfx library
    • PxMatrix by Dominic Buchstaller
    • ArduinoJSON version 5.13.2 by Benoit Blanchon
    • WiFiManager by Tzapu
    • DoubleResetDetector by Stephen Denne aka Datacute

ВАЖНО:

Обратите внимание, что на момент написания этой статьи ArduinoJSON версии 6.x beta не работает с Morph Clock. Это приводит к ошибкам компиляции

Убедитесь, что вы указали версию 5.13.2, когда устанавливали/обновляли ArduinoJSON.

Шаг 7: Больше примеров

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

Первая пара примеров показывает изображение на экране. Один пример — фотография Марио, а другой — робот с инструктажем. Код для этих примеров можно найти здесь:

Http: //github.com/witnessmenow/LED-Matrix-Display …

Оба они были составлены в paint.net (установив размер изображения равным количеству пикселей, которое я хотел, например, 64 x 32), а затем преобразовав изображение с помощью этого конвертера: http://www.rinkydinkelectronics.com/t_imageconvert.., Последний пример является более динамичным, он использует мою библиотеку API YouTube для отображения количества ваших подписчиков YouTube на экране. Код для этого примера можно найти здесь:

Http: //github.com/witnessmenow/LED-Matrix-YouTube …

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

Если вы хотите увидеть больше вещей от меня:

Видео: проверьте мой канал на YouTube для получения дополнительной видео

Live Streams: я живу в прямом эфире, работаю над электронными проектами каждый понедельник на Twitch

И я говорю об электронике и других случайных вещах в твиттере — @witnessmenow

Всего наилучшего!

Брайан

Вторая премия в

Конкурс микроконтроллеров

WLED example wiring using a 5V LED strip

In the example below, you can see how you could wire a 5V LED strip such as the popular WS2812B to a LOLIN (previously WEMOS) D1 mini ESP8266 board. Let’s take a look at this circuit in detail:

  • The power supply feeds both the LOLIN D1 mini and the WS2812B. Do never connect a 5V power supply to 3.3V (labelled 3V3) on the board, or you will fry it.
  • The capacitor is added to the power supply close to the LED strip. Beware, the capacitor has a positive and negative wire. Incorrect wiring will cause the capacitor to explode.
  • The 3.3V pin on the LOLIN D1 mini is connected to the LV (low voltage) pin on the level shifter.
  • Opposite to the 3.3V pin, the HV (high voltage) pin can be connected to the 5V from the power supply.
  • Both grounds can be connected to the power supply’s ground wire.
  • The D4 pin is connected to the LV side of the level shifter, and the opposite pin is connected to the Din (data in) pin on the WS2812B LED strip.

Шаг 10. Загрузка кода

Мы почти на месте…

  1. Скачайте и распакуйте последнюю версию Morphing Clock (анимированных часов) с Github, либо резервную копию версии от 20 ноября 2018 г. с данного сайта
    • Если вы не знакомы с интерфейсом Github, то посмотрите изображение ниже
      Скачивание кода с github
    • Распакуйте загруженный zip архив и дважды кликните по файлу MorphingClock.ino
  2. Скомпилируйте и загрузите прошивку
    • Перед подключением NodeMCU к своему компьютеру вы дважды проверили, всё ли правильно разведено? :-)
    • Убедитесь, что выводы на NodeMCU не закорочены какими-либо металлическими объектами на вашем столе.
    • Когда вы подключите USB кабель, то услышите обычный звуковой сигнал о том, что Windows узнала USB устройство, которое было подключено.
    • Установите опции в Arduino IDE > Инструменты (Tools), как показано на скриншоте.
      • Номер COM порта может отличаться.
      • Я изменил размер флэш-памяти на 4M(1M SPIFFS), для вашего модуля ESP этот параметр может отличаться.

      Настройки платы в Arduino IDE

    • Кликните Загрузка (Upload). Это займет некоторое время (около 30 секунд), и будут предупреждения, но в конечном итоге код будет загружен в модуль NodeMCU.
      Прошивка ESP8266

Решение проблем:

Если загрузка закончилась неудачей из-за отсутствия подключения, убедитесь, что выбрали порт, к которому подключен модуль ESP, в Инструменты (Tools) > Порт (Port).
Если в Инструменты (Tools) > Порт (Port) нет активных опций
убедитесь, что установили драйвер CH340;
убедитесь, что используете кабель для передачи данных / синхронизации. Проверьте это, подключив к компьютеру свой телефон

Если вы сможете видеть файлы на компьютере со своего телефона, то кабель нормальный.

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

В журнале будет несколько предупреждений, но это нормально, они не останавливают компиляцию.
Если вы получили во время компиляции ошибку, связанную с JSON, используйте JSON библиотеку версии 5.13.2 вместо последней версии (6-beta).
Если компиляция завершилась успешно, загрузка тоже успешна, но часы не работают, откройте монитор последовательного порта в Arduino IDE, нажмите сброс (RESET) на модуле ESP. Если ошибки – это куча hex-чисел, попробуйте изменить размер флэш-памяти на 4M(1M SPIFFS) и загрузить снова.
Матрица работает, но ESP ничего не показывает как точку доступа. Я встречал это на меньших NodeMCU на базе ESP-12E и 1M SPIFF, используйте версию MorphClk для ESP-12E (резервная копия на RadioProg). К сожалению, я решил проблему, только уменьшив частоту обновления дисплея, поэтому дисплей будет не таким ярким по сравнению с оригинальной версией.

How To Connect LEDs To ESP8266

In this tutorial, we will not be using an external power supply to power our LEDs.

When the ESP8266 is powered via USB, the pin will output 5V. If you have a big enough USB block powering your ESP8266 via the USB port, you can get away with running a small amount of 5V LEDs.

I personally have used the pin on projects to run anywhere from 12 to 100 LEDs. I used a 2.4A charging block for both of these projects. I wouldn’t suggest running much more than I have. You’ll probably start to notice a degradation in LED output.

With all of that said, lets get some LEDs hooked up to an ESP8266.

Feel free to use jumper wires or solder directly to the pins if you are handy.

Disconnect power from the ESP8266 before you connect any wires to the pins.

Wire Color Summary Pin
Red 5V Power Vin
Black Ground GND
Green Digital out. The D4 pin tells the LEDs what to do. D4

After these pins are connected, plug your USB power back in and you should hopefully see some lights.

How to flash WLED on to an ESP8266 or ESP32

I believe that it is easier to first flash the ESP8266 or ESP32 with WLED, before attaching any of the components or soldering a single wire. This way, the board only connects to your computer, there’s nothing attached to it by fragile wires, and you don’t have to worry about powering any of the other components.

Advertisement

This is doubly true when using WLED, as there are no code adjustments to be made down the line. Not even the Wi-Fi network has to be entered using an access point the microcontroller creates and not in code. Once you have flashed it, there is no reason to ever connect it to a computer again.

To get your ESP8266/ESP32 flashed, simply connect it to your computer using the Micro-USB port or by using a programmer (adapter board) if using one of the ESP-XX modules from AI-Thinker.

ESPHome flasher can be used to flash WLED on to an ESP8266/ESP32

Once connected, the easiest way of flashing WLED is as it has a graphical interface. Download the matching binary file for your board from GitHub () and select the binary file in ESPHome flasher, along with the serial port. Flashing is then as easy as hitting the “Flash ESP” button. Once flashed, you can commence with the wiring.

Wiring

Ночник в форме призмы. На основе ESP8266 и WS2812

Here example of NodeMCU is shown, but you can use any ESP8266 board. But note you may have to recompile the code!
You power the board, power the WS2812 chain, and connect GPIO2 output of ESP to the data input of the firsh WS2812 in chain, that’s all.
Be sure you use appropriate power source; most of ESP8266 board have voltage stabilizer but «raw» ESP8266 require 3.3V while WS2812 strips require 5V or 12V. You can use different power sources for ESP and the strip, you connect grounds then. Also, be sure that there’s enough power for your LEDs and ESP; too weak power source can cause unintended side effects like random rebooting, wrong coloring etc.
500 mA is typically enough for ESP board. Each WS2812 LED eats up to 60 mA.

Methods¶

NeoPixelBus supports different methods to transmit the pixel data to the light strip depending
on the chipset, ESP platform and pin.

Each of these has their own advantages/disadvantages regarding stability and speed. By default
ESPHome will choose the best one that is available on the device. However, you can override this
by manually supplying the method option.

light
-platformneopixelbus
# ...
method
typeesp8266_uart
bus
asyncfalse

Use the configuration variable to select the method used. The additional configuration
settings vary by method:

  • bit_bang: The simplest method and available on all platforms. However, it can produce quite a bit of flickering,
    and so is not recommended for use. On ESP8266, supports pins GPIO0-GPIO15, on ESP32 pins GPIO0-GPIO31.

  • esp8266_dma: The recommended method for ESP8266s. Only available on pin GPIO3.

  • esp8266_uart: An alternative method for ESP8266s that uses the UART peripheral to send data.
    Available on pin GPIO1 for bus 0, and GPIO2 for bus 1. Additional options:

    • bus (Optional, int): The UART bus to use. If 0, the logger option must
      be set to 0 and logs over USB/serial won’t work.

    • async (Optional, boolean): Use an asynchronous transfer. Defaults to . If enabled,
      the logger must be disabled even if bus 1 is used.

  • esp32_i2s: The recommended method for ESP32. Available on all output pins. Additional options:

    bus (Optional): The I2S bus to use. The ESP32 has bus 0 or 1 available, but the ESP32-S2 only bus 0.
    One of 0, 1, dynamic.

  • esp32_rmt: An alternative method for ESP32 that uses the RMT peripheral to send data.
    Available on all output pins. Additional options:

    channel (Optional): The RMT channel to use. The ESP32 has channels 0-7, ESP32-S2 0-3 and ESP32-C3 0-1.
    Defaults to 6 on ESP32, and 1 on other ESP32 variants.

The following method is available only for two-wire chips (specify and ):

  • spi: Uses the hardware SPI interface to transmit the data. Available on both ESP platforms.
    Additional options:

    • bus (Optional, string): On ESP32s the SPI bus to be used can be selected. One of and .

    • speed (Optional, int): The frequency to send data with. Defaults to . One of
      , , , , , , .

    On ESP8266 only GPIO13 can be used for and only GPIO14 can be used for .

The key also accepts a short-hand syntax consisting of a single value for historic reasons. Usage of
this method is no longer recommended, but documented here for reference purposes. Possible values were:

Управление по MQTT

Соединение с брокером MQTT настраивается через web-интерфейс. Liana работает только как клиент MQTT.
Команды отправляются простым текстом. Ниже перечислены эти команды. Выражения в фигурных скобках {XXX} должны быть заменены на соответствующие значения
В конце команд, содержащих параметры, рекомендуется добавлять пробел или символы CR/LF.

  1. on — включить
  2. off — выключить
  3. palette={номер палитры} — выбрать палитру, номера начинаются с 0
  4. animation={номер эффекта} — выбрать анимацию, номера начинаются с 0
  5. duration={секунды} — устанавливает длительность текущего эффекта; после истечения времени возобновляется случайный перебор
  6. brightness={яркость} — устанавливается яркость (0..255)
  7. brightness up — увеличивает яркость
  8. brightness down — уменьшает яркость

Introducing WS2812B RGB LEDs

The WS2812B LEDs are addressable RGB LEDs that can be connected in series, and be controlled individually using just one digital pin of a microcontroller. These LEDs have an IC built right into the LED that make all of this possible.

You can solder several LED rings and sticks and they will behave as one piece. Each PCB has IN and OUT pins that make wiring very simple:

Ночник в форме призмы. На основе ESP8266 и WS2812

The following figure shows how our setup looks like after soldering the LEDs.

Ночник в форме призмы. На основе ESP8266 и WS2812

To wire the RGB LED strip to the ESP32 or ESP8266 is very simple. You need to apply 5V to the VCC pin, GND to GND and connect a GPIO to the Din (data) pin. We’ll connect the data pin to
GPIO 5.

Шаг 4. Подключение светодиодной матрицы

Затем подключите к светодиодной матрице вторые концы перемычек, которые вы только что подключили к модулю ESP.

Опять же, ниже приведена таблица с цветами проводов, которые я использовал, но ваши цвета могут отличаться

Важно то, что вы подключаете выводы ESP к матрице, как показано в таблице

Матрица НЕ симметрична, есть правая/левая стороны и верх/низ

Обратите внимание на белые стрелки

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

Ночник в форме призмы. На основе ESP8266 и WS2812Печатная плата светодиодной матрицы

Подключение левого разъема

Таблица 1. Левый разъем на плате светодиодной матрицы
NodeMCU Вывод матрицы Цвет перемычки
D0 STB коричневый
D1 A красный
D2 B оранжевый
D3 E желтый
D4 OE зеленый
3V    
G GND черный
D5 CLK синий
D6 D фиолетовый
D7 R0 серый
D8 C белый
RX    
TX    
G GND черный
3V    

Подключение левого разъема (фото с внешней стороны платы) (обратите внимание, некоторые провода будут вставлены позже)Подключение левого разъема (фото с внутренней стороны платы) (обратите внимание, некоторые провода будут вставлены позже)

Подключение правого разъема

Теперь необходимо установить несколько перемычек, соединяющих левый разъем на светодиодной матрице с правым разъемом.

Таблица 2. Правый разъем на плате светодиодной матрицы
Вход матрицы Выход матрицы Цвет перемычки
B0 G1 фиолетовый
R1 R0 желтый
B1 B0 серый
G0 R1 зеленый
G1 G0 синий

Ночник в форме призмы. На основе ESP8266 и WS2812Подключение правого разъема

Гирлянда на ESP8266 и WS2812

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

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

Новая гирлянда сделана на базе адресуемых RGB-светодиодов WS2812, управляемых с помощью контроллера ESP8266. Все светодиоды WS2812 в гирлянде могут управляться абсолютно независимо и светить любым из 16777216 цветов. Питается гирлянда от безопасных 5 вольт, от любой 2-амперной зарядки для смартфона.

|Ночник в форме призмы. На основе ESP8266 и WS2812|Ночник в форме призмы. На основе ESP8266 и WS2812|
|Ночник в форме призмы. На основе ESP8266 и WS2812|Ночник в форме призмы. На основе ESP8266 и WS2812|

Прошивку использовал готовую — McLighting v2 (https://github.com/toblum/McLighting) Подробный мануал по прошивке ESP8266 из среды Arduino и первому запуску расписан здесь.

В прошивке имеется порядка 50 разных эффектов, есть web-интерфейс, а также HTTP REST-API, WebSocket-API, MQTT-API.Ночник в форме призмы. На основе ESP8266 и WS2812

Для интеграции с MajorDoMo я использовал HTTP REST-API.

Примеры запросов управления.

  • Выключить:
  • Включить заданный цвет:
  • Изменить яркость:
  • Сменить режим:

Набросал элементы управления в меню, также добавил включение и выключение в Telegram, в шаблоны поведения для реакции на фразы «ёлочка гори» и «ёлочка потухни».

|||

Кроме того, повесил функционал (вкл/выкл/смена режима) на беспроводную кнопку Xiaomi, которая всегда валяется под руками.

Бюджет — сама лента на 50 диодов 700 р., ESP8266 200 р., корпус 50 р. или что-то подручное, блок питания — зарядка от телефона на 2А, не знаю сколько они стоят, пусть 300 р. Прошивка бесплатная. Итого 1250 р.

С наступающим!

Ночник в форме призмы. На основе ESP8266 и WS2812

Обсуждение (49)

Смотрите так же:

06.04.2020 Получение данных о COVID с карты Яндекс

12.07.2019 MajorDoMo и Яндекс Алиса. Алиса, включи канал Карусель.

20.06.2019 MajorDoMo и Яндекс Алиса. Алиса, измени цвет бра на красный.

18.06.2019 MajorDoMo и Яндекс Алиса. Алиса, сделай ярче настольную лампу.

17.06.2019 MajorDoMo и Яндекс Алиса. Алиса, включи свет на кухне.

10.06.2019 MajorDoMo и Яндекс Алиса. Модуль Yandex Home.

06.06.2019 MajorDoMo и Яндекс Алиса. Объединение аккаунтов.

05.06.2019 MajorDoMo и Яндекс Алиса. Регистрация приватного навыка.

03.06.2019 Загрузка PHP-расширения PDO MySQL в Windows

01.06.2019 MajorDoMo и Яндекс Алиса. Публикация вебхуков.

29.05.2019 MajorDoMo и Яндекс Алиса. Общие сведения.

22.05.2019 Экспресс контроль состояния циклов в Linux

08.05.2019 Сценарий контроля состояния SSL сертификатов сайтов

26.02.2019 Экспорт графиков в PNG-файл в модуле Charts

26.01.2019 Мультисерийный кастомный график в модуле Charts

13.12.2018 График с цветовой индикацией выхода величины за пределы

12.11.2018 Кастомный график в модуле Charts

15.08.2018 Кронштейн NB F120 (North Bayou)

18.07.2018 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 3.

20.06.2018 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 2.

15.06.2018 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 1.

20.05.2018 Кросс-компиляция ядра для Banana Pi M2U

14.05.2018 Ссылки на ресурсы по MajorDoMo

02.03.2018 Знакомство и тестирование Banana Pi M2U

21.02.2018 Распаковка Banana Pi M2U

14.02.2018 Одноплатный ПК для MajorDoMo

14.08.2018 Заметки по железу

23.01.2018 Мой взгляд на вопрос голосового управления в MajorDoMo

17.01.2018 Обзор цен на устройства Xiaomi

20.12.2017 Блог им. skysilver

Getting Started

Again, I am going to assume you know nothing about this subject. I’ll try to explain everything from the beginning.

What Is WLED?

WLED is open source software. It was written by an awesome developer named Aircoookie.

WLED was written to run on ESP8266 and ESP32 microcontrollers to help with controlling “NeoPixel” (WS2812B, WS2811, SK6812, APA102) LEDs.

When installed on a microcontroller such as the ESP8266, WLED runs a web server that can be controlled by an iOS or Android app, API, MQTT, Blynk, Alexa and a quite a few other ways.

WLED is the new kid on the block when it comes to controlling LEDs but the popular opinion seems to be that it is the best and will continue getting better.

What Is An ESP8266?

Having no previous experience with microcontrollers, this is where I encountered the most confusion. I’ll do my best to explain what I’ve learned and wait for someone on the internet to tell me I’m wrong. I’ll continue to update this post as I am corrected by people on the internet.

When searching for “ESP8266” on Google, you will see terms like , , , and others. Here is my interpretation of these terms and what they are.

Name Description
ESP8266 The term ESP8266 means a lot of different things to a lot of different people. Most commonly, I have seen it mean “a development board containing the ESP8266 microcontroller”.
NodeMCU NodeMCU is the name of the firmware that originally ran on the ESP8266. More recently, it now supports the ESP32. The problem I’ve come across is that some companies have built boards using the ESP8266 and marketed them as “NodeMCU” boards.
ESP32 The ESP32 is the successor to the ESP8266. Because the ESP32 is newer, I’ve found more support and a bigger community for the ESP8266. From what I’ve seen touted, the main advantage of the ESP32 over the ESP8266 is Bluetooth. The ESP32 does cost more than the ESP8266.
ESP8266 SOC At it’s lowest level, the ESP8266 is an SOC (System on Chip). This is really just the chip. It does not include the antenna or anything else.
ESP8266 Module The ESP8266 Module is just the part of the development board that controls WiFi. You will find this attached to ESP8266 development boards. It generally consists of the SoC, SoC housing and board and possibly an antenna. Not necessary at all for this tutorial but here is a list of if you are interested.
ESP8266 Dev Board An ESP8266 dev board is what we want. It includes the ESP8266 Module/SOC and other things depending on the manufacturer. ESP8266 dev boards make things easier by including pinouts for GPIO pins and components that allow for easy programming. I chose this ESP8266 Module Development Board because I could easily use it with jumper wires and powered by USB.

Now that you understand all that, let’s move onto flashing the WLED software onto our ESP8266 board.

WeMos Mini

По сравнению с Wemos D1 микроконтроллер WeMos Mini имеет меньшие габариты. Плата обладает размерами в ширину 2,5 см, а в длину 3,5 см, в то время как полная версия Wemos D1 идентична Ардуино UNO.

Распиновка WeMos D1 mini

Схема платы и расположение выходов изображены на рисунке.

Технические характеристики WeMos Mini:

  • 11 цифровых контактов;
  • Наибольшее входное напряжение 3,2В;
  • 4 МБ памяти;
  • WiFi модуль;
  • Коннектор для внешней антенны.

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

Шилды для WeMos Mini

Существует большое количество шилдов, которые могут быть подключены WeMos D1 mini:

  • WeMos Dual Base и WeMos Tripler Base – удваивает и утраивает основу установки шилда;
  • WeMos DS18B20 – шилд с цифровым датчиком;
  • WeMos Battery – шилд для дополнительного питания от батарейки;
  • WeMos Relay – шилд, управлящий реле;
  • WeMos OLED – шилд, оснащенный экраном OLED;
  • WeMos 1-Button – модуль, оснащенный тактовой кнопкой;
  • WeMos Micro SD-Card – шилд для добавления карты памяти микро SD;
  • WeMos Motor – шилд для двигателей до 15В;
  • WeMos DHT D4, WeMos DHT I2C, WeMos SHT30 – модули, реализующие измерение давления, температуры и влажности (первый подключается через шину onewire, второй – через I2C);
  • WeMos WS2812B RGB – шилд, реализующий управление светодиодом;
  • WeMos Matrix LED – шилд для индикации, базирующийся на матрице светодиодов;
  • WeMos Buzzer – шилд для звукового излучателя;
  • WeMos ProtoBoard – макетная плата;
  • WeMos DC Power – шилд питания.

Miscellaneous

Sorting: Sensors, Displays, Actuators

Name Description
HC-SR501   PIR sensor with adjustable sensitivity and on time delay (suitable as a button).
HC-SR602   PIR sensor (not suitable as a button but can be used with PIR sensor usermod).
TSOP38238 IR receiver compatible with most IR remotes.
SSD1305 I2C display, can be used with 4 Line Display usermod.
SSD1306 I2C & SPI display, can be used with 4 Line Display usermod.
5V relay Relay module. Some will require 5V to trigger so you will need level-shifted output (similar as for LEDs) for proper functionality or a circuit with transistor or MOSFET.
DS18B20 Recommended temperature sensor for use with WLED. Compatible with the Temperature usermod

Подключение проводов данных

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

Вы заметите на задней панели дисплея, что есть два разъема, к которому вы хотите подключить, тот, где стрелки от него удаляются

Некоторые контакты не нужны, в зависимости от того, какой дисплей у вас есть, это контакты C, D и E. Библиотека перечисляет инструкции для случаев, когда вам нужно подключить эти контакты в зависимости от частоты сканирования вашего дисплея:

Дисплей Pin ESP8266 Pin Заметка
С 15 (D8) Только для сканирования 1/8, 1/16, 1/32
D 12 (Д6) Только для 1/16, 1/32 сканирования
Е 0 (Д3) Только для сканирования 1/32

Хотя у меня дисплей 1/16, и мне нужно, чтобы E подключился. Вот как это выглядело без него:

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

Управление:

Управление часами только через Web, так как бессмысленно управлять кучей опций парой кнопок. Однако есть одна кнопка и датчик движения. Датчик движения
используется для отключения будильника, что логично, раз кто-то ходит возле часов, значит он проснулся. А действия кнопки зависят от количества кликов:

  • Показать дату в длинном формате, отключить будильник, отключить проверку матрицы.
  • Включить проверку матрицы.
  • Показать текущий IP, по которому можно подключится к часам.
  • Показать текущие значения освещённости.
  • Сбросить пароль на Web страничку.

Долгое нажатие — справка. Она контекстная, зависит от текущего режима.

Подключение Wemos к Arduino IDE

Инструкция по настройке IDE для работы с WeMos

Чтобы начать работать с Wemos D1, нужно установить драйвер CH340 и Arduino IDE. Найти драйвер можно на официальной странице https://www.wemos.cc/downloads.

Чтобы начать работу, нужно выбрать Файл – Настройки, ввести в строку «дополнительные ссылки для менеджера плат» ссылку http://arduino.esp8266.com/stable/package_esp8266com_index.json и нажать ОК.

Затем в Инструменты – Плата – менеджер плат найти esp8266 by ESP8266 Community, установить и закрыть окно.

В меню Инструменты будет добавлен микроконтроллер WeMos D1.

Перед тем, как загрузить программу, нужно установить режимы работы микроконтроллера – загрузка кода (Upload Using), задать нужную частоту (CPU frequency), выбрать размер флеш памяти (Flash Size), задать скорость передачи (Upload Speed) и выбрать нужный порт.

Для подключения версии WeMos Mini выполняются такие же шаги, как и для WeMos D1.

Можно дополнительно скачать и установить примеры кодов для микроконтроллера. Для этого скачанный файл с кодами нужно распаковать по адресу \arduino\examples\. Нужно перезагрузить Arduino IDE, и в Файл – Примеры появятся новые коды, которые можно использовать в своих проектах. Чтобы проверить, правильно ли все подключено, можно запустить скетч для мигания светодиодом.

Сборка:

Для сборки проекта понадобится следующее:

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

Возможно понадобится правка файла platformio.ini под Вашу систему.

Если Ваша схема отличается или хочется что-то подкрутить под себя, то это делается в файле include/defines.h Настройки по умолчанию, которые затем меняются в настройках
находятся в include/settings_init.h

Компиляция и загрузка в микроконтроллер нажатием на стрелочку «PlatformIO:Upload» в нижней статусной строке.

При первом запуске появится WiFi точка доступа «ClockAP». После подключения телефоном должна открыться страничка настроек. Если нет, то зайти броузером на 192.168.4.1.
Затем выбрать свою WiFi сеть и ввести пароль. Часы должны подключится к WiFi. Посмотреть адрес, который получили часы можно сделав три клика по кнопке.
Для удобства можно добавить этот IP как статический в настройках роутера. Если параметры WiFi изменились, то один клик кнопки запускает первичную настройку WiFi по новой.

После сборки, обновлять прошивку можно по wifi через web. PlatformIO при сборке формирует файл прошивки, например у меня это: Documents/PlatformIO/Projects/Clock/.pio/build/esp01_1m/firmware.bin и файл файловой системы Documents/PlatformIO/Projects/Clock/.pio/build/esp01_1m/littlefs.bin

MSGEQ7

More than a year ago I have built a project, and also wrote a post, where an arduino gets a microphone signal as input and delivers the low, mid and high frequencies values. These values come out as PWM outputs and light an RGB led strip. While working on that project I had some hard time defining and applying digital filters using the arduino. It seems that the arduino was not fast enough to run a well-defined digital filter (FIR) and I had to choose between getting a delay in the outputs or compromise with a lower-quality filter. After a while I heard about the MSGEQ7 chip which basically does a similar thing but using analog filters on analog signals, which means no delay is expected. So how does it works? According to its data sheet this is the block diagram: Ночник в форме призмы. На основе ESP8266 и WS2812

The audio signal goes through 7 band-pass filters and into a multiplexer. By using a strobe from the micro-controller we select which of the filtered-signal’s values will be output from the chip. It is as simple as that.
As I am not so familiar with the ESP8266, I started by connecting the MSGEQ7 to an arduino following this instructable. I had to modify the code a bit since I was using the WS2812 leds. The overall circuit looks like that:

Ночник в форме призмы. На основе ESP8266 и WS2812

A few notes about the MSGEQ7 connections:

  • Pin8 controls the clock oscillator which produce the band-pass filters, therefore it should have on its input the precise values of 200KOhm resistor and 33pF capacitor.
  • Two more capacitors are connected between VCC and GND and from pin 6 to GND.
  • The «audio in» plug usually has at least 3 pins: Left, Right and Ground. It is enough to connect only the ground and one of the channels.
  • Pin 5 should get the audio signal. The MSGEQ7 amplifies the signal in 20dB (x100), so a good value of AC voltage at the entrance would be around 30-50mV, then the highest output values will be 3-5V. The potentiometer and a resistor connected to ground are exactly for that reason — Then you are not depended on the external music player volume. The 10nF capacitor should filter the DC offset. EDIT: Later, I found out a 68nF would do a better job.
  • On the arduino: Pin2 — Strobe, Pin3 — Reset, Pin4 — Led Strip, A0 — Analog in.

My arduino code for this sketch can be found here. Notice those lines in the code:

The arduino A/D sampling the signal in 10-bits of information but the output should be in terms of 8-bits. Moreover, the chip produces noise also when there’s no signal at all, therefore values below the noise level should be nullified. These code lines make sure the 10-bit value will be over the noise level and mapped into an 8-bit value. The code was working as it should and now I was ready to continue to the integration.

Шаг 5. Подключение питания

Ночник в форме призмы. На основе ESP8266 и WS2812Подключение питания к светодиодной матрице (я добавил дополнительный слой термоусадки, чтобы закрыть открытые металлические клеммы)
Ночник в форме призмы. На основе ESP8266 и WS2812Перед надеванием дополнительного слоя термоусадки я согнул клеммыНочник в форме призмы. На основе ESP8266 и WS2812Открытый металл я закрыл дополнительным слоем термоусадкиНочник в форме призмы. На основе ESP8266 и WS2812Подключение питания к светодиодной матрице

Кабель питания дисплея был разработан для винтовых клемм.

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

Очевидно, красный провод должен быть подключен к (+), а черный провод – к (-).

Подключите другой конец провода к дисплею, снова обратив внимание на полярность: красный провод идет к VCC, а черный – к GND. Если ваш кабель рассчитан на одновременное питание двух дисплеев, то не имеет значения, какой из кабелей вы подключаете к своему единственному дисплею

Однако ОЧЕНЬ ВАЖНО не перепутать красный (+) и черный (-)

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

Однако ОЧЕНЬ ВАЖНО не перепутать красный (+) и черный (-)

СНОВА проверьте полярность кабеля питания, убедитесь, что ПЛЮС и МИНУС НЕ ПЕРЕПУТАНЫ!

Всё, мы закончили с подключениями. Но пока ничего не включайте!

Заключение

Платы на базе esp8266 – лучший способ организовать работу с сетью в ваших DIY проектах. Вы можете использовать большое количество разнообразных модулей и готовых плат, но WeMos – один из самых удобных способов. Плата похожа на Arduino Uno, достаточно легко подключается к датчикам и прошивается через Arduino IDE.

Уменьшенный аналог WeMos mini вообще можно назвать уникальным устройством, т.к. в очень компактном корпусе вы получаете не только почти все удобства и возможности Arduino, но и полноценный WiFi модуль. Можно даже обойтись без монтажа – просто вставляя различные модули расширения (шилды) WeMos как в матрешке, одну в другу. А недорогая цена делает эту плату абсолютным фаворитом для тех, кто делает умные устройства с возможностью выхода в интернет.

Источник

Популярные статьи  Быстросъемная опорная стойка для верстака
Оцените статью
Денис Серебряков
Добавить комментарии

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Ночник в форме призмы. На основе ESP8266 и WS2812
Способ извлечения ферритовых трубочек из дросселей ДПМ и подобных