Очень поздно на вечеринку, но я столкнулся с подобной проблемой, и я частично решил ее.
Аппаратное обеспечение: Ardunio Uno, экран HD47780 (8x2 от sparkfun)
Я обнаружил две странные проблемы, которые я еще не решил, но я могу, по крайней мере, заставить текст появляться.
Во-первых: у меня есть потенциометр на контрастном выводе, и если я загружаю код / сброс, и этот банк в основном заземляет вывод, он не будет работать. Он должен быть намного выше, и тогда, когда код будет запущен, я могу пойти дальше и обосновать его.
Второе: когда я вызываю setCursor из основного цикла, он просто снова отображает столбцы. Но если я не позвоню, он с радостью просто напечатает символы в следующей доступной позиции.
Код:
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
// NOTE: This code will work just fine but you need to have the contrast pin at a resonably high resistance value when you turn it on, and then decreade it once the
// device has booted otherwise you just see solid bars. Not sure why this is.
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(8, 2);
lcd.clear();
// Print a message to the LCD.
lcd.print("hello");
lcd.setCursor(0, 1);
}
void loop() {
// print the number of seconds since reset:
lcd.print(millis() / 1000);
delay(5000);
}