Open form

 

Obsługa wyświetlacza LCD 2x16 przy pomocy Arduino poprzez interfejs I2C.

 

Arduino - LCD - I2C - Moduł LM1602, oparty na układzie PCF8574 umożliwia podłączenie popularnego wyświetlacza LCD 2x16, 4x20 lub 2x8 do dowolnego mikrokontrolera poprzez magistralę I2C. Dzięki takiemu połączeniu zamiast 6 linii (D4, D5, D6, D7, E, RS), użyjemy tylko dwóch. Pozwoli na to zaoszczędzić cenne wyprowadzenia Arduino Uno. Nie musimy także podłączać potencjometru regulacji kontrastu, gdyż znajduje się on już na płytce. LM1602 daje nam kontrolę nad podświetleniem wyświetlacza - możemy je w dowolnym momencie włączać i wyłączać korzystając z odpowiedniej funkcji bibliotecznej (LiquidCrystal I2C).

Do tego projektu będą potrzebne:

 

Wspomnianą wcześniej bibliotekę możemy pobrać z serwisu: https://bitbucket.org/fmalpartida. Ściągnięty plik należy rozpakować, a następnie cały folder LiquidCrystal umieścić w katalogu bibliotek Arduino (libraries), który znajduje się w domyślnie w folderze Dokumenty (domyślna ścieżka w Windows 7 to: C:/Users/nazwa_uzytkownika/Documents/Arduino/libraries).

 

Pobrana biblioteka ma taką samą nazwę jak standardowa, wbudowana w Arduino. Dlatego też po jej instalacji w środowisku Arduino widoczna będzie tylko ta nowa. W celu powrotu do domyślnej wersji, należy nową folder LiquidCrystal  z katalogu Documents/Arduino/libraries.

 

Po instalacji biblioteki, za pomocą przewodów, łączymy moduł z Arduino w następujący sposób:

 

 

LCM1602 Arduino Uno
 VCC 5 V
GND GND
SDA A4
SCL A5

 

 

Wklejamy w środowisko poniższy kod:

 

  1. /*
  2. * LCM1602 & Arduino Uno
  3. * VCC - > 5 V
  4. * GND - GND
  5. * SCL -> A5
  6. * SDA -> A4
  7. */
  8.  
  9. #include // standardowa biblioteka Arduino
  10. #include // dolaczenie pobranej biblioteki I2C dla LCD
  11. LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27
  12. void setup()
  13. {
  14. lcd.begin(16,2); // Inicjalizacja LCD 2x16
  15. lcd.backlight(); // zalaczenie podwietlenia
  16. lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna)
  17. lcd.print("Hello, world!");
  18. delay(500);
  19. lcd.setCursor(0,1); //Ustawienie kursora w pozycji 0,0 (drugi wiersz, pierwsza kolumna)
  20. lcd.print("BOTLAND.com.pl");
  21. }
  22. void loop()
  23. {
  24. lcd.backlight(); // zalaczenie podswietlenia
  25. delay(5000);
  26. lcd.noBacklight(); // wylaczenie podswietlenia
  27.    delay(5000);
  28. }

 

Następnie wgrywamy kod na płytkę, a na naszym wyświetlaczu pojawi się napis:

z przełączającym się co 5 sekund podświetleniem.

 

Bibliteki używamy w sposób podobny do tej wbudowanej w środowisko Arduino

  • lcd.setCursor(x,x) - ustawia kursor na określoną w nawiasie pozycję
  • lcd.print("xxxxx") - wyświetla na ekranie tekst xxxxx
  • lcd.clear(); - czyści ekran
  • Dodatkowo
    • lcd.backlight() - załącza podświetlenie
    • lcd.noBacklight() - wyłącza podświetlenie

 

W ten prostu sposób tworzysz połączenie Arduino - Wyświetlacz - I2C.

zapraszamy do współpracy!