INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(
Kupiłem ostatnio wyświetlacz alfanumeryczny 16×4. Oczywiście po rozpakowaniu zacząłem pisać prosty program na arduino.
#include <LiquidCrystal.h> LiquidCrystal lcd(12,11,5,4,3,2); void setup() { lcd.begin(16,4); } void loop() { lcd.print("tekst1"); lcd.setCursor(0,1); lcd.print("tekst2"); lcd.setCursor(0,2); lcd.print("tekst3"); lcd.setCursor(0,3); lcd.print("tekst4"); }
Po wgraniu programu zdziwiłem sie pierwszy i drugi wiersz na wyświetlał słowa prawidłowo jednak wiersz trzy i cztery odbiegał od moich założeń. Tekst na nim wyświetlany był dopiero od piątej kolumny.
Od razu zacząłem szukać miejsca gdzie popełniłem błąd, źle napisany program, złe podłączenie wyświetlacz ale to nie odnosiło żadnego skutku. dopiero później wpadłem na pomysł aby zmienić pozycje kursora w trzeciej i czwartej linijce na pozycje(-4).
#include <LiquidCrystal.h> LiquidCrystal lcd(12,11,5,4,3,2); void setup() { lcd.begin(16,4); } void loop() { lcd.print("tekst1"); lcd.setCursor(0,1); lcd.print("tekst2"); lcd.setCursor(-4,2); lcd.print("tekst3"); lcd.setCursor(-4,3); lcd.print("tekst4"); }
Dopiero po tej zmianie tekst był wyświetlany prawidłowo.
Później zacząłem szukać informacji dlaczego tak się stało. Okazało się że arduino ma problem z obsługą wyświetlaczy 16×4 bo biblioteka LiquidCrystal przystosowana jest do obsługi wyświetlaczy 20×4. Jednak zmieniając jedną liczbę można cieszyć się pracą tego wyświetlacza.
INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(