Дисплей LCD1602 I2C мерцает подсветка/контрастность
- Войдите на сайт для отправки комментариев
Пнд, 12/03/2018 - 14:31
Подскажите, подключил LCD 1602 по I2C, и при работе заметил что мерцает и подсветка и контрасность (шрифт то белый то немного темнее), думал питания не хватает, замерил то 5.03В. Кто сталкивался с такой бедой, что делать? Заранее спасибо.
Скетч:
#include <IRremote.h> #include <Adafruit_NeoPixel.h> #include <DHT.h> #define DHTPIN 3 #define RGBPIN 4 #define DHTTYPE DHT11 #define NUMPIXELS 16 #define RELAY 5 IRrecv irrecv(2); decode_results results; DHT dht(DHTPIN, DHTTYPE); Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, RGBPIN, NEO_GRB + NEO_KHZ800); void setup() { irrecv.enableIRIn(); dht.begin(); strip.begin(); strip.show(); strip.show(); pinMode(RELAY, OUTPUT); digitalWrite(RELAY, HIGH); } void loop() { if ( irrecv.decode( &results )) { switch ( results.value ) { case 0xFFA857: // Button - digitalWrite(RELAY, LOW); break; case 0xFFE01F: // Button + digitalWrite(RELAY, HIGH); break; case 0xFF30CF: // Button 1 - WHITE setRGB(255, 255, 255); break; case 0xFF18E7: // Button 2 - GREEN setRGB(0, 255, 0); break; case 0xFF7A85: // Button 3 - BLUE setRGB(0, 0, 255); break; case 0xFF10EF: // Button 4 - AQUA setRGB(0, 255, 255); break; case 0xFF38C7: // Button 5 - PURP setRGB(204, 0, 255); break; case 0xFF5AA5: // Button 6 - RED setRGB(255, 0, 0); break; case 0xFF42BD: // Button 7 - ORANGE setRGB(255, 191, 0); break; case 0xFF4AB5: // Button 8 - PINK setRGB(255, 0, 191); break; case 0xFF52AD: // Button 9 - YELLOW setRGB(255, 255, 0); break; case 0xFF6897: // Button 0 - OFF setRGB(0, 0, 0); break; } irrecv.resume(); } } void setRGB(int R, int G, int B) { for(int i=0;i<NUMPIXELS;i++) { strip.setPixelColor(i, strip.Color(R,G,B)); strip.show(); } }
в ЭТОМ скетче, нихрена про дисплей нет.
Подскажите, подключил LCD 1602 по I2C,
Через что и как подключали? (можно не расписсывать, а ссылками на URL).
Прокомментируйте свои оценки дисплея, коротко...
Извиняюсь, не тот скетч. прикрепил то что нужно
Arduino Nano - LCD i2C
GND GND
5V 5V
A4 SDA
A5 SCL
Простите, что-то я туплю. Где в этом скетче вывод на экран?
Ниже 2 скетч я выложил.
По синему квадратному резистору постучите. За контраст он отвечает.
Не долбите экран при каждом проходе loop - выводите только тогда, когда что-то меняется. Вы же выводите постоянно с хз какой частотой.
Как реализовать вывод когда что-то меняется?
запоминать, что выводил в последний раз в данное поле и прежде чем выводить новое, сравнивать со старым. Поменялось - выводить, не поменялось - не выводить.
ага понял спасибо. А может такое быть что питание проседает? ну т.е. к Arduino подлюченно IR датчик, Реле, Датчик температуры и влажности, ну и дисплей, а сама Arduino питаеться от БП 9V 0.6A
Потому что заметил такую особенность когда реле выключенно то дисплей отображается хорошо.
Когда с пульта включаю реле то дисплей (контрасность) ухудшается.
Выключаю реле и контрастность дисплея вновь становиться хорошей
а сама Arduino питаеться от БП 9V 0.6A
Как мне кажется (IMHO) 0.6А - маловато будет на всё это.
1A лучше?
Потому что заметил такую особенность когда реле выключенно то дисплей отображается хорошо.
Выключаю реле и контрастность дисплея вновь становиться хорошей
Вот видите - немного наблюдательности и проблемное место обнаружено.
Питайте реле от более мощного источника. Или воткните ардуину во что-нить амперное-двухамперное
Потому что заметил такую особенность когда реле выключенно то дисплей отображается хорошо.
Выключаю реле и контрастность дисплея вновь становиться хорошей
Вот видите - немного наблюдательности и проблемное место обнаружено.
Питайте реле от более мощного источника. Или воткните ардуину во что-нить амперное-двухамперное
Ну реле впринципе могу питать от USB компьютера (5V 0,5А) Землю реле и arduino надо соединять?. А если 9V 2A в Arduino Nano ничего не подпалиться? скажем контроллер питания к примеру. Просто вроде бы где-то читал что максимум 1,5А можно.
Arduino Nano - LCD i2C
GND GND
5V 5V
A4 SDA
A5 SCL
А CS пина на колодке разве нет?
Arduino Nano - LCD i2C
GND GND
5V 5V
A4 SDA
A5 SCL
А CS пина на колодке разве нет?
Прежде, чем искать пины, хорошо бы узнать что там за модель интерфейса (по картинке не видно).
Но не допросишься...
Нет.
Прежде, чем искать пины, хорошо бы узнать что там за модель интерфейса (по картинке не видно).
Судя по картинке - вот:
CS для I2C не нужен.
Что там узнавать-то... I2C переходники у 99% покупателй алиэкспресса одинаковые. CS там не нужно.
Ну реле впринципе могу питать от USB компьютера (5V 0,5А) Землю реле и arduino надо соединять?. А если 9V 2A в Arduino Nano ничего не подпалиться? скажем контроллер питания к примеру. Просто вроде бы где-то читал что максимум 1,5А можно.
В принципе можете, если на реле найдете потребляемый ток и сравните с подаваемым.
Ну и прежде чем ответить на вопрос о том, сколько ампер сувать в ардуину - тоже было бы неплохо узнать, сколько жрет реле. А то, может, оно пожрет все амперы, до которых дотянется.
Проблема явно была в питании, реле подключил к USB компьютера и диспей начал нормально отображаться без проблем. К реле подключен обычный светильник.
Отлично, но постоянно всё равно не долббите дисплей, привыкайте показывать только то, что нужно и когда нужно.