|

Wyświetlacz LCD 16×2 Arduino

Na rynku dostępne są wyświetlacze LCD z lub bez dodatkowego modułu i2c. Moduł i2c pozwala na dużo łatwiejsze połączenie wyświetlacza z płytką (4 przewody). Wyświetlacze bez modułu i2c wymagają użycia aż 6 przewodów, rezystora i potencjometru do sterowania jasnością wyświetlacza.

Wyświetlacz LCD 16×2 bez I2C

Projekt w tinkercad

LCD 16x2 MCP23008 Arduino bez I2C
LCD 16×2 MCP23008 Arduino bez I2C
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
  
void setup() {
  lcd.begin(16, 2);
}

void loop(){
  displayText();
}

void displayText(){
  lcd.setCursor(0,0); //kolumna, wiersz
  lcd.print("LCD without I2C module");
  delay(1000);
  for(int i=0;i<23;i++){
    lcd.scrollDisplayLeft();
    delay(100);
  }
  lcd.home();
}

Wyświetlacze LCD 16×2 I2C z PCF8574

Moduł PCF8574 to dostawka I2C (expander) do wyświetlacza MCP23008. Domyślnie wyświetlacze z dostawką mają adres 0x27.

LCD 16x2 I2C PCF8574 z biblioteką Adafruit_LiquidCrystal
LCD 16×2 I2C PCF8574 z biblioteką Adafruit_LiquidCrystal

LCD 16×2 I2C PCF8574 z biblioteką LiquidCrystal_I2C

Podstawowy program dla fizycznej płytki

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);  
void setup(){
  lcd.begin();
  lcd.setCursor(0, 0);
  lcd.print("LCD I2C Testing");
}
void loop(){}

Projekt w tinkercad

W tinkercad należy wybrać LCD PCF8574 i adres 32

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(32, 16, 2);  
int interval = 1000;
long lastTime = 0;
int sec = 0;

void setup(){
  lcd.init();
  lcd.backlight();
  lcd.print("Sec counter:");
  DisplayInfo();
}

void DisplayInfo(){
  lcd.setCursor(0,1);
  lcd.print(sec);
  sec++;
}

void loop(){
  long timeNow = millis();
  if(timeNow >= lastTime + interval)
  {
    DisplayInfo();
    lastTime = timeNow;
  }
}

LCD 16×2 I2C PCF8574 z biblioteką Adafruit_LiquidCrystal

Projekt w tinkercad

#include <Adafruit_LiquidCrystal.h>
Adafruit_LiquidCrystal lcd(0);

void setup(){
  lcd.begin(16, 2);
  lcd.print("LCD MCP23008");
}

void loop(){}

Tworzenie własnego znaku


Na wyświetlaczu można wyświetlić własne znaki, które można stworzyć dzięki tablicy byte. Każde pole zawiera 5 x 8 pixeli, które można włączyć lub wyłączyć.

Tworzenie własnych znaków LCD 16x2 Arduino
Tworzenie własnych znaków LCD 16×2 Arduino
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(32, 16, 2);
  
byte minka[] = {
  B00000,
  B00000,
  B01010,
  B00000,
  B10001,
  B01110,
  B00000,
  B00000
};

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.createChar(0,minka);
  lcd.setCursor(6,1);
  lcd.print("Minka");
}

void loop() {
  lcd.setCursor(8, 0);
  lcd.write(byte(0));
  delay(100);
}

Zobacz: Wyświetlacz SSD1306 OLED I2C

Zobacz:Wyświetlacz TFT SPI LCD 128*160 MSP1803 z Arduino

Zobacz: Wyświetlacz 7segmentowy 4cyfrowy I2C HT16K33

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *