Kazalo:

Uporabite 16x2 LCD z I2C: 4 koraki
Uporabite 16x2 LCD z I2C: 4 koraki

Video: Uporabite 16x2 LCD z I2C: 4 koraki

Video: Uporabite 16x2 LCD z I2C: 4 koraki
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, November
Anonim
Uporabite LCD zaslon 16x2 z I2C
Uporabite LCD zaslon 16x2 z I2C
Uporabite LCD zaslon 16x2 z I2C
Uporabite LCD zaslon 16x2 z I2C
Uporabite LCD zaslon 16x2 z I2C
Uporabite LCD zaslon 16x2 z I2C

V enem od prejšnjih Instructable sem vam pokazal, kako LCD in Arduino Uno povežete in povežete ter na njem prikažete vrednosti. Toda, kot je bilo ugotovljeno, je bilo povezav veliko in če se je projekt zaradi preveč žic začel zelo zapletati.

V tem navodilu vam bom pokazal, kako LCD priključite na I2C, ki bo imel samo 4 zatiče za nadzor in uporabo LCD -ja. Pa začnimo.

1. korak: potrebne komponente

Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente

Za ta projekt boste potrebovali:

  • Arduino Uno
  • 16x2 LCD
  • I2C za 16x2 LCD
  • Priključne žice

Z vsem tem pojdimo na del povezav.

2. korak: Povezave

Povezave
Povezave
Povezave
Povezave
Povezave
Povezave
Povezave
Povezave

Oglejte si slike in vzpostavite povezavo. Preprosto je, samo priključite I2C v vrata LCD -ja in ga spajkajte. Nato priključite pin SCL na pin A4 na Arduinu in pin SDA na pin A5 na Arduinu.

Ne spajkam I2C, saj sem že spajkal zatiče glave na LCD. Predlagam pa spajkanje I2C na LCD

3. korak: Koda

V Arduino IDE je vključena glavna knjižnica LCD I2C. Toda s kodo v njej je majhna težava. Vsi primeri v tej knjižnici prevzamejo privzeti naslov I2C kot 0x27. Zato moramo najprej ugotoviti, kateri naslov je naš I2C. To lahko storimo s kodo skenerja I2C. Ko imamo naslov I2C, lahko to vrednost zamenjamo v vzorčni kodi in jo začnemo uporabljati.

Koda skenerja I2C:

#vključi

void setup () {Wire.begin (); Serial.begin (9600); while (! Serijski); // počakajte na serijski monitor Serial.println ("\ nI2C Scanner"); } void loop () {byte error, address; int nNaprave; Serial.println ("Optično branje …"); nNaprave = 0; for (naslov = 1; naslov <127; naslov ++) {// i2c_scanner uporablja vrnjeno vrednost // Write.endTransmission, da preveri, ali je // naprava potrdila naslov. Wire.beginTransmission (naslov); error = Wire.endTransmission (); if (error == 0) {Serial.print ("Naprava I2C najdena na naslovu 0x"); if (naslov <16) Serial.print ("0"); Serial.print (naslov, HEX); Serial.println ("!"); nNaprave ++; } else if (error == 4) {Serial.print ("Neznana napaka na naslovu 0x"); if (naslov <16) Serial.print ("0"); Serial.println (naslov, HEX); }} if (nDevices == 0) Serial.println ("Nobena naprava I2C ni najdena / n"); else Serial.println ("končano / n"); zamuda (5000); // počakajte 5 sekund na naslednje skeniranje}

Primer kode (za prikaz znakov, vnesenih v serijski monitor):

#include #include

LiquidCrystal_I2C lcd (0x3F, 20, 4); // nastavite naslov LCD na 0x27 za 16 -mestni in 2 -vrstni prikaz

void setup ()

{lcd.init (); // inicializiramo lcd lcd.backlight (); Serial.begin (9600); }

void loop ()

{// ko znaki prispejo prek serijskih vrat… if (Serial.available ()) {// malo počakajte, da celotno sporočilo prispe z zamikom (100); // počisti zaslon lcd.clear (); // preberemo vse razpoložljive znake, medtem ko (Serial.available ()> 0) {// prikaže vsak znak na LCD lcd.write (Serial.read ()); }}}

4. korak: Izhod

Izhod
Izhod
Izhod
Izhod

Ko naložite kodo, ste pripravljeni. Za to navodilo sem vzel primer kode za serijsko tiskanje. Torej, ko naložite kodo, odprite serijski monitor in vnesite besedo ter kliknite »pošlji«. Zdaj bi morali videti, da se ta vrednost prikaže na LCD -prikazovalniku.

Priporočena: