Народный измеритель пульсации света

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

Для понимания принципа работы измерителя, читайте оригинальную статью, уважаемого ammo1.

Немного вступления

В оригинале, используется дисплей TFT 1.77, который стоит от 165рублей на текущий день, а я использовал oled 0.96 4 pin, что стоит аж 110 рублей. Вы сейчас посмеётесь, дескать 55 рублей, того не стоят, но это цены на али, в наших магазинах, может быть совсем другая разница.

Кроме того, я поменял NodeMCU из оригинала на WeMos d1 mini, т.к. wemos дешевле и компактнее, но сам мк esp8266 тот же. К сожалению, в отличие от NodeMCU, питать WeMos d1 mini 9 вольтовой батарейкой, не выйдет, потому что, максимальное напряжение 6В, об этом ниже.

Питание

На оригинальном WeMos d1 mini должен быть стабилизатор ME6211C33, но, похоже, на али, дешёвыми, продаются именно клоны, на которых установлен стабилизатор с маркировкой 4b2k, которой обозначается XC6204B332. Оригинальный wemos d1 mini можно питать напряжением до 6В, клоны так же придерживаются этого. У меня есть аккумуляторы 18650, извлечённые из мёртвой батарейки ноутбука, один из них и питает самоделку. Можно использовать пальчиковые батарейки, а ещё проще от внешней батареи(power bank), которая, я думаю, есть у многих. Прибор для измерения пульсация света, нужен далеко не всегда, и я не вижу особых проблем, попользоваться им с помощью внешнего питания, если уж совсем нет других вариантов.

Ближе к делу

А тут всё просто, подключаем oled дисплей, по i2c к мк это D2(sda) D1(scl), по умолчанию или другие пины, если хотите. Temt6000 подключается к единственному, аналоговому входу(A0 к S). Не вижу смысла рисовать, что и как подключается, потому что соединить 3.3 с VDD и V, а G с GND и G, не составляет никаких проблем.

Библиотеку я использовал GyverOLED, она есть в репозитории arduino ide. Сам "измеритель пульсаций" требует библиотеку GyverFilters, которая так же, есть в репозитории.

Я убрал всю графику и на экран выводятся только kp1, kp2, Emax, Emin, Eenv, что лично мне, хватает. В оригинальном скетче были переменные, которые никак не использовались, я их все удалил.

Сам скетч https://disk.yandex.ru/d/GaGxQ53fsn1T2w

Тестирование

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

Для себя я собрал прибор, сочетающий в себе: датчик температуры(htu21d); датчик света(bh1750); измеритель пульсаций(temt6000).

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

Народный измеритель пульсации света Самоделки, Arduino, Esp8266, Длиннопост

белый, максимальная(3/3) яркость

Народный измеритель пульсации света Самоделки, Arduino, Esp8266, Длиннопост

белый, минимальная(1/3) яркость

Народный измеритель пульсации света Самоделки, Arduino, Esp8266, Длиннопост

синий, максимальная яркость

Народный измеритель пульсации света Самоделки, Arduino, Esp8266, Длиннопост

зелёный, максимальная яркость

Народный измеритель пульсации света Самоделки, Arduino, Esp8266, Длиннопост

красный, максимальная яркость

Народный измеритель пульсации света Самоделки, Arduino, Esp8266, Длиннопост

оранжевый? максимальная яркость