Hľadať kód

Návod pre ESP32 11/55 - Použitie LCD1602 LCD2004 s ESP32 - Výučbová súprava ESP32 IoT od SunFounder

Návod pre ESP32 11/55 - Použitie LCD1602 LCD2004 s ESP32 - Výučbová súprava ESP32 IoT od SunFounder

V tomto návode si ukážeme, ako používať LCD1602 a LCD2004 s mikrokontrolérom ESP32. Tieto LCD obrazovky nám umožňujú efektívne zobrazovať text a ďalšie informácie, čím vylepšujú naše projekty vizuálnou spätnou väzbou. Tiež si ukážeme, ako nastaviť kontrast, aby bola čitateľnosť zabezpečená.

ESP32, súčasť SunFounder ESP32 IoT Learning kitu, má vstavané Wi-Fi a Bluetooth funkcie, čo z neho robí výkonný nástroj pre rôzne IoT aplikácie. Pripojením LCD k ESP32 môžeme jednoducho zobrazovať správy alebo dátové výstupy z nášho kódu, čím sú naše projekty interaktívnejšie a užívateľsky prívetivejšie (vo videu o 00:30).

Vysvetlenie hardvéru

Hlavné komponenty, ktoré použijeme, zahŕňajú mikrokontrolér ESP32 a LCD1602 alebo LCD2004 zobrazovací modul. ESP32 bude slúžiť ako mozog nášho projektu, spracúvajúc vstupy a riadiac výstupy, vrátane LCD displeja.

LCD modul komunikuje cez I2C, čo zjednodušuje zapojenie použitím iba dvoch dátových pinov (SDA a SCL) na komunikáciu, spolu s napájacími a uzemňovacími pripojeniami. Toto nastavenie výrazne znižuje zložitosť pripájania viacerých pinov, čo umožňuje čistejší a prehľadnejší obvod.

Podrobnosti z datasheetu

Výrobca SunFounder
Číslo dielu LCD1602
Logické/IO napätie 5 V
Napájacie napätie 5 V
Veľkosť displeja 16 x 2 znakov
Podsvietenie Áno
Rozhranie I2C
Rozmery 80 x 36 mm
Poznámky / varianty Bežne používané s I2C adresou 0x27

 

  • Zabezpečte správne napájacie napätie (5 V), aby nedošlo k poškodeniu.
  • Používajte krátke vodiče na minimalizáciu rušenia na I2C linkách.
  • Nastavte potenciometer pre optimálnu viditeľnosť kontrastu.
  • Skontrolujte I2C adresu, ak sa displej neinicializuje (bežné adresy: 0x27, 0x3F).
  • Vyčistite displej pred aktualizáciou správ, aby nedošlo k prekrývaniu.

Pokyny na zapojenie

ESP32-11_LCD-schéma-zapojenia
ESP32-11_LCD-wiring

Na zapojenie LCD1602 k ESP32 najprv pripojte uzemňovací pin LCD k uzemňovaciemu pinu na ESP32. Potom pripojte VCC pin LCD k 5V výstupu ESP32. Pre I2C komunikáciu pripojte SDA pin LCD k pinu 21 na ESP32 a SCL pin LCD k pinu 22 na ESP32. Uistite sa, že sú pripojenia pevné, aby sa predišlo problémom s komunikáciou.

Je dôležité poznamenať, že zatiaľ čo ESP32 pracuje s logickými úrovňami 3,3V, LCD1602 vyžaduje 5V pre správnu činnosť. Preto sa uistite, že používate správne napájacie napätie, aby nedošlo k poškodeniu LCD. Ak používate inú veľkosť LCD, upravte zapojenie podľa I2C adresy a špecifikácií.

Príklady kódu a vysvetlenie

V kóde začneme zahrnutím potrebných knižníc pre I2C komunikáciu a LCD. Vytvoríme inštanciu LCD pomocou I2C adresy 0x27 a špecifikujeme, že má 16 stĺpcov a 2 riadky.

#include  
#include 

LiquidCrystal_I2C lcd(0x27,16,2);  // nastaví adresu LCD na 0x27 pre 16 znakov a 2 riadkový displej

Toto nastavenie nám umožňuje jednoducho ovládať LCD. Vo funkcii setup() inicializujeme LCD a zapneme podsvietenie, potom vytlačíme uvítaciu správu.

void setup()
{
  lcd.init(); // inicializuje LCD 
  lcd.backlight(); // Zapne podsvietenie LCD.
  lcd.print("Hello, world!");   // Vytlačí správu na LCD.
  delay(3000);
}

Vo funkcii loop() nepretržite aktualizujeme displej vyčistením, nastavením pozície kurzora a vytlačením aktuálnej hodnoty počítadla. Toto demonštruje, ako môže LCD dynamicky zobrazovať meniace sa informácie.

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // Nastaví pozíciu kurzora na prvý riadok a prvý stĺpec (0, 0).
  lcd.print("COUNT: ");
  lcd.print(count); // Vytlačí aktuálnu hodnotu premennej count.
  delay(1000);
  count++; // Zvýši počítadlo o 1. 
}

Plný kód sa načíta nižšie pod článkom, kde môžete vidieť kompletnú implementáciu a prípadné ďalšie funkcie pridané pre váš projekt.

Demonštrácia / Čo očakávať

Keď je všetko pripojené a kód nahraný, LCD by mal zobraziť "Hello, world!" na 3 sekundy pred spustením počítadla, ktoré sa zvyšuje každú sekundu. Kontrast môžete nastaviť pomocou potenciometra, aby bol text ľahko čitateľný (vo videu o 08:45).

Ak narazíte na problémy, skontrolujte pripojenia a uistite sa, že používate správnu I2C adresu. Častou chybou je nesúlad I2C adresy LCD s tým, čo je nastavené v kóde, čo môže zabrániť správnemu fungovaniu displeja.

Časové značky videa

  • 00:00 Začiatok
  • 1:47 Úvod do LCD
  • 3:26 Dokumentačná stránka
  • 5:06 Ako zapojiť LCD s ESP32
  • 9:07 Výber dosky ESP32 a COMP portu v Arduine
  • 8:51 Inštalácia LCD knižnice
  • 10:06 Nájdenie I2C adresy pre LCD
  • 14:00 Vysvetlenie Arduino kódu
  • 17:50 Demonštrácia
  • 20:54 Použitie LCD2004 s ESP32
  • 22:58 Zelený LCD1602 je lepší ako modrý

Obrázky

ESP32_11-5-l2C.MOV_snapshot_00.02.763
ESP32_11-5-l2C.MOV_snapshot_00.02.763
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring-schematic
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
Jazyk: C++
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//SDA->21,SCL->22 
LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

int count = 0;

void setup()
{
  lcd.init();// initialize the lcd 
  lcd.backlight(); // Turns on the LCD backlight.
  lcd.print("Hello, world!");   // Print a message to the LCD.
  delay(3000);
}

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // Sets the cursor position to the first row and first column (0, 0).
  lcd.print("COUNT: ");
  lcd.print(count); // Prints the current value of the count variable.
  delay(1000);
  count++; // Increments the counter by 1. 
}

Zdroje a referencie

Súbory📁

Žiadne súbory nie sú k dispozícii.