INHOUDSOPGAWE:

Gebruik 16x2 LCD met I2C: 4 stappe
Gebruik 16x2 LCD met I2C: 4 stappe

Video: Gebruik 16x2 LCD met I2C: 4 stappe

Video: Gebruik 16x2 LCD met I2C: 4 stappe
Video: How to use multiple LCD1602 I2C or LCD2004 display with Arduino 2024, November
Anonim
Gebruik 16x2 LCD met I2C
Gebruik 16x2 LCD met I2C
Gebruik 16x2 LCD met I2C
Gebruik 16x2 LCD met I2C
Gebruik 16x2 LCD met I2C
Gebruik 16x2 LCD met I2C

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

Komponente benodig
Komponente benodig
Komponente benodig
Komponente benodig
Komponente benodig
Komponente benodig

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

Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
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

Die uitset
Die uitset
Die uitset
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.

Aanbeveel: