LCD экраны выходят из строя один за другим.
- Войдите на сайт для отправки комментариев
День добрый. В общем, суть такая:
Есть дисплей на контроллере gc9a01. Получилось подключить его и нормально протестить с некоторыми скетчами и разными библиотеками. Одна из самых удачных библиотек Arduino_GFX от Moononournation с гитхаба. Я тестил некоторые примеры и после одного из них дисплей перестал работать.
/******************************************************************************* * PROGMEM Image Viewer * This is a simple PROGMEM bitmap image viewer example * Image Source: https://support.arduino.cc/hc/en-us/articles/360020652100 * * How to create custom image: * 1. Open image ith GIMP * 2. Export Image as C-Source * 3. Uncheck all option and check "Save as RGB565 (16-bit)" * 4. Revise exported file just like "Arduino_UNO_Rev3_Ok.c" ******************************************************************************/ #include "Arduino_UNO_Rev3_Ok.c" #define IMG_WIDTH 100 #define IMG_HEIGHT 71 /******************************************************************************* * Start of Arduino_GFX setting * * Arduino_GFX try to find the settings depends on selected board in Arduino IDE * Or you can define the display dev kit not in the board list * Defalult pin list for non display dev kit: * Arduino Nano, Micro and more: CS: 9, DC: 8, RST: 7, BL: 6, SCK: 13, MOSI: 11, MISO: 12 * ESP32 various dev board : CS: 5, DC: 27, RST: 33, BL: 22, SCK: 18, MOSI: 23, MISO: nil * ESP32-C3 various dev board : CS: 7, DC: 2, RST: 1, BL: 3, SCK: 4, MOSI: 6, MISO: nil * ESP32-S2 various dev board : CS: 34, DC: 35, RST: 33, BL: 21, SCK: 36, MOSI: 35, MISO: nil * ESP32-S3 various dev board : CS: 40, DC: 41, RST: 42, BL: 48, SCK: 36, MOSI: 35, MISO: nil * ESP8266 various dev board : CS: 15, DC: 4, RST: 2, BL: 5, SCK: 14, MOSI: 13, MISO: 12 * Raspberry Pi Pico dev board : CS: 17, DC: 27, RST: 26, BL: 28, SCK: 18, MOSI: 19, MISO: 16 * RTL8720 BW16 old patch core : CS: 18, DC: 17, RST: 2, BL: 23, SCK: 19, MOSI: 21, MISO: 20 * RTL8720_BW16 Official core : CS: 9, DC: 8, RST: 6, BL: 3, SCK: 10, MOSI: 12, MISO: 11 * RTL8722 dev board : CS: 18, DC: 17, RST: 22, BL: 23, SCK: 13, MOSI: 11, MISO: 12 * RTL8722_mini dev board : CS: 12, DC: 14, RST: 15, BL: 13, SCK: 11, MOSI: 9, MISO: 10 * Seeeduino XIAO dev board : CS: 3, DC: 2, RST: 1, BL: 0, SCK: 8, MOSI: 10, MISO: 9 * Teensy 4.1 dev board : CS: 39, DC: 41, RST: 40, BL: 22, SCK: 13, MOSI: 11, MISO: 12 ******************************************************************************/ #include <Arduino_GFX_Library.h> #define GFX_BL DF_GFX_BL // default backlight pin, you may replace DF_GFX_BL to actual backlight pin /* More dev device declaration: https://github.com/moononournation/Arduino_GFX/wiki/Dev-Device-Declaration */ #if defined(DISPLAY_DEV_KIT) Arduino_GFX *gfx = create_default_Arduino_GFX(); #else /* !defined(DISPLAY_DEV_KIT) */ /* More data bus class: https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class */ Arduino_DataBus *bus = create_default_Arduino_DataBus(); /* More display class: https://github.com/moononournation/Arduino_GFX/wiki/Display-Class */ Arduino_GFX *gfx = new Arduino_ILI9341(bus, DF_GFX_RST, 3 /* rotation */, false /* IPS */); #endif /* !defined(DISPLAY_DEV_KIT) */ /******************************************************************************* * End of Arduino_GFX setting ******************************************************************************/ void setup() { Serial.begin(115200); // while (!Serial); Serial.println("BMP Image Viewer"); // Init Display gfx->begin(); gfx->fillScreen(BLACK); #ifdef GFX_BL pinMode(GFX_BL, OUTPUT); digitalWrite(GFX_BL, HIGH); #endif gfx->draw16bitRGBBitmap(0, 0, (const uint16_t*)Arduino_UNO_Rev3_Ok, IMG_WIDTH, IMG_HEIGHT); delay(5000); // 5 seconds } void loop() { int16_t x = random(gfx->width()); int16_t y = random(gfx->height()); gfx->draw16bitRGBBitmap(x, y, (const uint16_t*)Arduino_UNO_Rev3_Ok, IMG_WIDTH, IMG_HEIGHT); delay(1000); // 1 second }
Сам скетч был рабочий. Отображал битмап и тд. Но после того, как я выключил ардуино и включил заново - экран уже не отвечал.
Было заменено: arduino nano, экраны (3 штуки), провода, скетчи, компьютер, кабель usb. Экран не работал даже с другими скетчами.
Далее я тестировал экран на контроллере st7789. Все было супер, до тех пор пока я не протестил тот же самый код. После этого второй экран на том же чипе перестал работать тоже)
В чем может быть причина? Не могу продолжить проект без этого. Уже всю голову изломал. HELP.
А какое номинальное напряжение питания контроллера дисплея, и сколько на него на самом деле подавалось?
Номинальные напряжение 3.3 и 5v. Подавал на них и то и другое. Одинаково хорошо работают
контроллер как бы всеядный
LCD экраны выходят из строя один за другим.
Мошт вирус какой экранный пикселы ест?
Чего то сомнительно, что сгорают. Похоже, что контакты ломаются. Хотя сомнительно, что на 3-х, но существуют особо рукастые...
А подсветка у них как запитана? А без подсветки изображение имеется?
В смысле как запитана?
Экран просто черный, то есть подсветка горит. Иногда даже моргает что-то. Но картинки нет никакой, то есть полностью черный. Провода dc cs rst проверял, сигнал вроде идет.
Экранчик такой, если что https://ali.onl/23Wv
Как правило, если горит подсветка, но экран не работает, - он белый, а не черный.
По приведенной ссылке напряжение обозначено однозначно - 3.3В. Я бы рекомендовал использовать именно это значение, включая логические уровни. Т.е. если дисплей 3-вольтовый, то мало подать питание 3.3 Вольта, нужны еще конвертеры уровней для сигналов управления.
Вы, возможно, правы. Но как объяснить тот факт, что все работало не один день до этого? То есть он прекрасно понимает и работает с 5 вольтами. К тому же другой экранчик https://duino.ru/tsvetnoy-tft-ips-displey-st7789-s-razresheniem-240x240 на другом контроллере, работал нормально только с 5 вольт. С ним такая же проблема.
Дык дунька от трёх Вольт тоже работает... Чо сиськи мнём???
Но как объяснить тот факт, что все работало не один день до этого?
так и человек от асбеста тоже не сразу мрет. Как обьяснить, что он 10 лет вроде на работу ходил, все устраивало, а потом вдруг взял и помер....
Но как объяснить тот факт, что все работало не один день до этого?
у меня был код на ассемблере байт на 20 выжигавший материнскую плату XT но уверен, что это в прошлом...
Скетч - убийца экранов?
Скетч - убийца экранов?
скорее контроллеров, но возможно ли такое сейчас?
ua6em Насколько я помню на первых персоналках можно было поджарить некоторые микросхемы CMOS постоянно вызывая перезапись ячеек
ua6em Насколько я помню на первых персоналках можно было поджарить некоторые микросхемы CMOS постоянно вызывая перезапись ячеек
я напоролся на микросхемы регистра, случайно, что-то из 74 серии там стояло с запрещенной комбинацией на выходах и входах,
у меня даже спор был с одним товарищем из САО РАН, выжжет его IBM или нет, побоялся однако )))
ЗЫ Интернета тогда еще не было, под SCO UNIX крутилась почта UUCP
PPS мой первый интернет появился инкапсуляцией в X.25 сеть со шлюзом в Релком )))