2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
In een van my vorige instruksies het ek u gewys hoe u 'n LCD kan koppel aan en koppel aan Arduino Uno en waardes daarop kan wys. Maar soos opgemerk, was daar baie verbindings en as die projek te veel deurmekaar begin raak weens te veel drade.
In hierdie instruksies sal ek jou wys hoe om 'n LCD aan te sluit op 'n I2C, met slegs 4 penne om die LCD te beheer en te gebruik. So laat ons begin.
Stap 1: Vereiste komponente
Vir hierdie projek benodig u:
- Arduino Uno
- 16x2 LCD
- I2C vir 16x2 LCD
- Aansluitdrade
Met al hierdie dinge, kom ons gaan in op die gedeelte verbindings.
Stap 2: Verbindings
Verwys na die foto's en maak die verbindings. Dit is redelik eenvoudig; u hoef net die I2C in die poorte van die LCD aan te sluit en dit vas te soldeer. Koppel dan die SCL -pen aan die A4 -pen op die Arduino en die SDA -pen aan die A5 -pen op die Arduino.
Ek soldeer nie die I2C nie, aangesien ek al die koppenne op die LCD gesoldeer het. Maar ek stel voor om die I2C op die LCD te soldeer
Stap 3: Kodeer
Die Arduino IDE bevat 'n LCD I2C -hoofbiblioteek. Maar daar is 'n klein probleem met die kode daarin. Al die voorbeelde in hierdie biblioteek veronderstel die standaardadres van die I2C as 0x27. Dus moet ons eers uitvind wat die adres van ons I2C is. Ons kan dit doen deur die I2C -skandeerderkode te gebruik. Sodra ons die I2C -adres het, kan ons hierdie waarde in die voorbeeldkode vervang en dit begin gebruik.
I2C skandeerder kode:
#insluit
ongeldige opstelling () {Wire.begin (); Serial.begin (9600); terwyl (! Serial); // wag vir seriële monitor Serial.println ("\ nI2C Scanner"); } leemte lus () {byte fout, adres; int nToestelle; Serial.println ("Skandeer …"); nToestelle = 0; vir (adres = 1; adres <127; adres ++) {// Die i2c_scanner gebruik die retourwaarde van // die Write.endTransmisstion om te sien of // 'n toestel die adres wel erken het. Wire.beginTransmission (adres); error = Wire.endTransmission (); as (fout == 0) {Serial.print ("I2C -toestel gevind by adres 0x"); if (adres <16) Serial.print ("0"); Serial.print (adres, HEX); Serial.println ("!"); nToestelle ++; } anders as (fout == 4) {Serial.print ("Onbekende fout by adres 0x"); if (adres <16) Serial.print ("0"); Serial.println (adres, HEX); }} if (nDevices == 0) Serial.println ("Geen I2C -toestelle gevind / n"); anders Serial.println ("klaar / n"); vertraging (5000); // wag 5 sekondes vir die volgende skandering}
Voorbeeldkode (om karakters wat in Serial Monitor ingevoer is, te vertoon):
#include #include
LiquidCrystal_I2C lcd (0x3F, 20, 4); // stel die LCD -adres in op 0x27 vir 'n skerm van 16 tekens en 2 reëls
leemte opstelling ()
{lcd.init (); // initialiseer die lcd lcd.backlight (); Serial.begin (9600); }
leemte lus ()
{// wanneer karakters oor die seriële poort kom … if (Serial.available ()) {// wag 'n bietjie totdat die hele boodskap vertraag is (100); // maak die skerm skoon lcd.clear (); // lees al die beskikbare karakters terwyl (Serial.available ()> 0) {// elke karakter op die LCD lcd.write (Serial.read ()) vertoon; }}}
Stap 4: Die uitset
Sodra u die kode opgelaai het, is u gereed om te begin. Vir hierdie instruksies het ek die voorbeeld van die Serial Print Code geneem. Na die oplaai van die kode, maak die Serial Monitor oop, tik 'n woord en klik op 'stuur'. Nou moet u hierdie waarde op die LCD vertoon.