ESP8266 и светодиодная матрица.

Xomyc
Offline
Зарегистрирован: 10.04.2020

Народ, подскажите, что может быть не так. Купил вторую ESP8266 (на первой сделал лампу от Алекса Гайвера). Если беру обычную ардуино нано или уно, все прекрасно работает. С ESP8266 какая-то фигня. Решил просто разобраться и ничего не получается. Сама ESP8266 вот отсюда https://aliexpress.ru/item/32266751149.html?spm=a2g0s.9042311.0.0.264d33edOYMTPc&_ga=2.240914817.347130132.1605352800-1965068878.1577649876

Которая CH340G.

Вот такой простой скетч зажечь зеленым 3 подряд светодиода

#include <FastLED.h>
#define MATRIX_WIDTH 16 //ширина матрицы               
#define MATRIX_HEIGHT 16 //высота матрицы
#define COLOR_ORDER GRB 
#define NUM_LEDS 256
#define FASTLED_INTERRUPT_RETRY_COUNT 0
#define FASTLED_ALLOW_INTERRUPTS 0
#define FASTLED_ESP8266_RAW_PIN_ORDER
#define DATA_PIN D3  //пин матрицы
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds<WS2812B, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);

}

void loop() {
  FastLED.setBrightness(55);//0-255
  FastLED.clear();
  leds[33] = CRGB::Green;
  delay(500);
  leds[34] = CRGB::Green;
  delay(500);
  leds[35] = CRGB::Green;
  delay(500);
  FastLED.show();
}

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Прокомментируйте каждую строку в loop()

Xomyc
Offline
Зарегистрирован: 10.04.2020
FastLED.setBrightness(55);//0-255 задаем яркость
FastLED.clear(); //очистка матрицы (эта строка во всех скетчах есть)
leds[33] = CRGB::Green;//зажигаем зеленым 33 светодиод и т.д.
delay(500);
leds[34] = CRGB::Green;
delay(500);
leds[35] = CRGB::Green;
delay(500);
FastLED.show(); //этой строкой зажигаем все помеченые ранее светодиоды

Делеи можно выкинуть. Это я просто извращался. Ни с нми ни без них не горит.

b707
Offline
Зарегистрирован: 26.05.2017

 

вот так попробуй

FastLED.setBrightness(55);//0-255 задаем яркость
leds[33] = CRGB::Green;//зажигаем зеленым 33 светодиод и т.д.
leds[34] = CRGB::Green;
leds[35] = CRGB::Green;
FastLED.show();
delay(500);

 

Xomyc
Offline
Зарегистрирован: 10.04.2020

b707 пишет:

 

вот так попробуй

FastLED.setBrightness(55);//0-255 задаем яркость
leds[33] = CRGB::Green;//зажигаем зеленым 33 светодиод и т.д.
leds[34] = CRGB::Green;
leds[35] = CRGB::Green;
FastLED.show();
delay(500);

 

Попробовал. Не горит. Но если использовать Ардуино УНО, то горит. Я уже говорю, думал может не ту плату выставил, так Гайверова лампа работает при прошивке с этой выбраной платой.

b707
Offline
Зарегистрирован: 26.05.2017

Xomyc пишет:

Гайверова лампа работает при прошивке с этой выбраной платой.

в "гайверовой лампе" пин для ленты используется тот же? В прошивке гайвера и вашем коде пин называется одиннаково?

Xomyc
Offline
Зарегистрирован: 10.04.2020

b707 пишет:

Xomyc пишет:

Гайверова лампа работает при прошивке с этой выбраной платой.

в "гайверовой лампе" пин для ленты используется тот же? В прошивке гайвера и вашем коде пин называется одиннаково?

Да, 3 пин пошел оттуда. Но я уже пробовал и 2 и 4 пины и обзывал их и просто 3 и D3. Никакой разницы.

Хрень в общем какая-то! Хотел сегодня че-нить полезное изучить, а вот уже пол дня не могу зажечь 3 светодиода.

b707
Offline
Зарегистрирован: 26.05.2017

на ЕСП чехарда с названиями пинов. Надписи на плате, номера пинов в ардуино ИДЕ и обозначения пина в самом МК - это три разные вещи, я не шучу.

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

 

ЗЫ в последнюю секунду новая мысль пришла... добавьте к коду выше в setup() строчку


pinMode(DATA_PIN, OUTPUT);

 

Xomyc
Offline
Зарегистрирован: 10.04.2020

b707 пишет:

на ЕСП чехарда с названиями пинов. Надписи на плате, номера пинов в ардуино ИДЕ и обозначения пина в самом МК - это три разные вещи, я не шучу.

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

 

ЗЫ в последнюю секунду новая мысль пришла... добавьте к коду выше в setup() строчку


pinMode(DATA_PIN, OUTPUT);

 

Так прошивка от лампы на этом пине работает.

b707
Offline
Зарегистрирован: 26.05.2017

Xomyc пишет:

Так прошивка от лампы на этом пине работает.

так вы  pinMode() попробовали или просто так пишете?

Xomyc
Offline
Зарегистрирован: 10.04.2020

Еще красивей. Попробовал взять старую версию платы. Была последня, взял 2.5.2 как у Гайвера и скорость порта 9600 указал. Загорелись, но не все так гладко! Первый горит стабильно, второй горит всегда, но разными цветами и яркостью. А третий то горит, то гаснет! Вот специально я так никогда не напишу!

Xomyc
Offline
Зарегистрирован: 10.04.2020

b707 пишет:

Xomyc пишет:

Так прошивка от лампы на этом пине работает.

так вы  pinMode() попробовали или просто так пишете?

Конечно попробовал. Я после полудня тыкания готов за любую соломинку взяться!

b707
Offline
Зарегистрирован: 26.05.2017

у вас прошивка гайвер лампы конкретно на этой плате работает или на такой же?

Просто на ЕСП логический уровень - 3.3в, а ленте нужно пять. Я сам неоднократно сталкивался, что на 3.3в лента работает неустойчиво... может на одном экземпляре ЕСП запустится, а на другом нет.

конвертер уровней обычно снимает эту проблему

Xomyc
Offline
Зарегистрирован: 10.04.2020

b707 пишет:

у вас прошивка гайвер лампы конкретно на этой плате работает или на такой же?

Просто на ЕСП логический уровень - 3.3в, а ленте нужно пять. Я сам неоднократно сталкивался, что на 3.3в лента работает неустойчиво... может на одном экземпляре ЕСП запустится, а на другом нет.

конвертер уровней обычно снимает эту проблему

Да, работает на этой плате. Плату я запитываю от USB, по которому ее прошиваю. А ленту запитываю от лабораторного БП 5 вольт.

Конвертер уровней это железка или процедура какая? Мысль понял.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Xomyc пишет:

Конвертер уровней это железка или процедура какая? Мысль понял.

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

Xomyc
Offline
Зарегистрирован: 10.04.2020

Да, уже собрал. Не помогло. Помогло запитать ESP8266 от внещнего источника. Подал те же мощные 5В что и на матрицу на Vin. Вроде стало адекватно себя вести.

b707
Offline
Зарегистрирован: 26.05.2017

Xomyc пишет:

Помогло запитать ESP8266 от внещнего источника. Подал те же мощные 5В что и на матрицу на Vin.

а до того вы случаем не 3.3 на VIN подавали?