Hallo iedereen.,
vanwege de vraag van een aantal klanten, wil ik graag kort onze LCD display laten zien met I2C Adapter op een ESP32 Dev Board vandaag.
De bibliotheek weergegeven in het product e-Book "Liquid_Crystal_i2c"is nu in versie 1.5.1 hiervoor kan dit met de huidige Definities van de Raad door Espressif net als een Arduino gebruiken.
In tegenstelling tot de meeste Arduinos, is de ESP32-Dev-Kit-C niet alleen de mogelijkheid om een enkele I2C Bus te bedienen, in ons voorbeeld gebruiken we Pins G21 en G22 vandaag.
Bedrading is zeer eenvoudig te implementeren met de FC-113 Adapter op de LCD met slechts 4 verbindingen. Een pin-en socket-strook tussen de LCD en de I2C-Adapter is vaker dan niet praktisch gebleken.
bedrading:
FC113 | ESP32-Dev-Kit-C |
GND | GND |
VCC | 5V |
SDA | G21 |
SCL | G22 |
De noodzakelijke werkstappen kort samengevat:
- ArduinoIDE om de Board definities van Espressif te installeren
- Download de bibliotheek via de bovenstaande Link
- Sketch - > include Library - & gt; .zip-bibliotheek toevoegen en bibliotheek selecteren
- IDE herstarten
- File - > examples - > from their own libraries - > NewLiquidCrystal_lib - > Hello World i2c select, we see:
Wij hebben dit deel vervangen door:
#zijn <Draad.huis> #zijn <LiquidCrystal_I2C.huis> #definiëren BACKLIGHT_PIN 13 LiquidCrystal_I2C LCD(0x27,2,1,0,4,5,6,7,3,BEVESTIGEND); // Stel het LCD I2C adres in // LiquidCrystal_I2C lcd (0x38, BACKLIGHT_PIN, POSITIVE); / / Stel het LCD I2C adres in
En kan dan de LCD gebruiken op de ESP32 zonder de reeds bestaande Arduino broncode te moeten herschrijven.
Veel plezier met re-crafting en experimenteren,
tot de volgende post:)
7 Reacties
Andreas Wolter
@Michael Eichberger: Der ESP32 bietet die Möglichkeit, auf andere Pins zu wechseln. Normalerweise ist nur die Angabe der Pins in der begin()-Funktion notwendig:
Wire.begin(I2C_SDA, I2C_SCL);
Es kann aber sein, dass die Bibliotheken der Sensoren den Aufruf überschreiben und dann wieder die Default Pins verwenden. Ich habe hier ein Beispiel mit dem BME280 Sensor gefunden: https://randomnerdtutorials.com/esp32-i2c-communication-arduino-ide/
Ich hoffe, das hilft.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Michael Eichberger
Gibt es eine möglichkeit auf andere pins als 21 und 22 auszuweichen? und wenn ja welche wäre das? pin 21 und 22 sind bei mir durch einen rfid reader belegt!
danke für antworten ☺️
Bernd Albrecht
@Michel Weynants: That happens to an almost 2 years old blog, which will not be updated.
You may simply google the name of the library. This led me to the following page.
https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c
By the way: most libraries can be downloaded from github.com
Michel Weynants
Hi,
The link for the library does not work anymore – this bitbucket repositery is totally empty.
Is there anoter location where I could find this library for ESP32?
Thank you
Kurt
Hi,
ich habe da zwei Fragen:
ich betreibe ein 4 Zeilen, 20 Zeichen LCD mit einem Arduino Mega. Die LiquidCrystal_I2C-Bibliothek basiert auf der Arbeit von DFRobot . Das LCD wird einfach mit: LiquidCrystal_I2C lcd(add_lcd, 20, 4) eingebunden und nicht mit den Haufen Parameter im obigen Beispiel. Als I2C-Adapter ist jedoch ein PCF8574T im Einsatz.
Aber mein Hauptproblem ist, das der ESP32 mit 3.3V arbeitet und folglich die Pegel an den Pins G21 und G22 auch im High-Zustand nicht mehr als die besagten 3.3 V haben. Lt. Datenblatt benötigt der FC113 als “high” mindestens 4 V!!!
Wo liegt hier der berühmte Trick?
Daniel
Toller Beitrag. Davor habe ich selber probiert und viel Zeit verbrannten. Mit Hilfe des Beitrags ein Kinderspiel. Vielen Dank. Top!
Sven Clemens
Ein toller Artikel. Noch schöner wäre es wenn der MC auch verfügbar wäre ;)