MEGA2560 +WH2004D = крокозяблы

logpro
Offline
Зарегистрирован: 18.08.2013

Привет всему сообществу.

Помогите советом, плиз.

Делаю контроллер имитации климата в теплице на МЕГЕ2560. По условию проекта на шлейфе длиной  40см подключается индикатор WH2004D-TMI-CTV# с ШИМ управлением контрастностью.

Поставил подтягивающие резисторы 1 кОм по питанию.

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

// Подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
 
// Инициализируем объект-экран, передаём использованные
// для подключения контакты на Arduino в порядке:
// RS, E, DB5, DB6, DB7, DB8
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
void setup()
{
  pinMode(9, OUTPUT); //управление контрастностью дисплея (конт3 LCD)
analogWrite(9, 40);   // устанавливаем PWM выход  
  // устанавливаем размер (количество столбцов и строк) экрана
    lcd.begin(20, 4);
    lcd.setCursor(0, 0);
    // печатаем первую строку
    lcd.print("Hello world!");
    lcd.setCursor(0, 3);
    // печатаем вторую строку
    lcd.print("foo bar baz");
 

}
 
void loop() {
  // устанавливаем курсор в 12-ом столбце, 3 строка (начинается с 0)
  lcd.setCursor(12, 3);
  lcd.print(millis()/1000); // печать числа секунд после сброса
}

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

Далее полоски,  затем экран очищается.

Всегда это начинается на 11 секунде и далее развивается по одному и тому же сценарию

Пробовал различные версии библиотек LiquidCrystal, скетчей и сред разработки.

Питал и от USB и от 12в 2А. Укорачивал шлейф до 20 см

Результат примерно тот же

Пробовал выводить в другие области экрана  (разваливаться начинало на 47 секунде)

Переключение разъемов на  Arduino UNO приводит к стабильной работе при любом питании и длине шлейфа (пробовал около 5 часов).

Если в мегу вставить плату  LСD Shield 1602 от sheedstudio все отображается корректно. Напрягает то что изображение на экране разваливается всегда в одно и тоже время, хотя до этого циклов прошло много

Пособите советом кто чем может, плиз, в какую сторону копать. У меня больше конструктивных идей нет. (я из начинающих Ардуинщиков, хотя по образованию радиоинженер)

 

logpro
Offline
Зарегистрирован: 18.08.2013

Sorry, конфуз вышел. Проблема решилась тревиально - усилил провода питания от ардуино до дисплея и все нормализовалось. Спасибо всем.