Здравствуйте! Знакомлюсь с Ардуино, делаю мини-проекты из "Конспекта хакера". При работе с lcd-дисплеем (тестер батареек) проблема: вся информация отображается только в первой строке (строки налагаются друг на друга), и какое-то мерцание во втором после десятичной точки разряде измеряемого напряжения. Код из конспекта: #define DIODE_DROP 0.7 LiquidCrystal lcd(13,12,11,10,9,8); void setup() { lcd.begin(16,2); lcd.print ("Battery voltage:"); } void loop() { float voltage = analogRead(A0)/1024.0*10.0; if (voltage>0.1) voltage+=DIODE_DROP; lcd.setCursor(1,0); lcd.print(voltage,2); lcd.print(" Volts"); } Собрал вроде правильно: Кто-что скажет? Заранее спасибо.
а так Код (C++): #include <LiquidCrystal.h> #define DIODE_DROP 0.7 LiquidCrystal lcd(13,12,11,10,9,8); void setup() { lcd.begin(16,2); lcd.clear(); lcd.setCursor(1,0); lcd.print ("Battery voltage:"); } void loop() { float voltage = analogRead(A0)/1024.0*10.0; if (voltage>0.1) voltage+=DIODE_DROP; lcd.setCursor(1,1); lcd.print(voltage,2); lcd.setCursor(7,1); lcd.print(" Volts"); }
А так нормально! Мерцание, правда, осталось. Похоже, наводки от ПК. При выключенном ПК стабильно показывает какое-то минимальное напряжение вместо 0, но это уже другая проблема. Спасибо.
Нет там наводок, у тебя цикл пихает данные в дисплей быстрее чем он может отобразить. Поставь последней строкой delay (500);