Povezivanje LCD-a 1602 s Arduinom: opis, funkcije, upute, značajke, problemi i rješenja

Sadržaj:

Povezivanje LCD-a 1602 s Arduinom: opis, funkcije, upute, značajke, problemi i rješenja
Povezivanje LCD-a 1602 s Arduinom: opis, funkcije, upute, značajke, problemi i rješenja
Anonim

Svaki radio-amater, nakon nekog jednostavnog DIY posla, dođe do cilja konstruirati nešto veliko pomoću senzora i tipki. Uostalom, mnogo je zanimljivije podatke prikazati na zaslonu nego na monitoru porta. Ali onda se postavlja pitanje: koji zaslon odabrati? I općenito, kako ga povezati, što je potrebno za povezivanje? Odgovori na ova pitanja bit će obrađeni u ovom članku.

LCD 1602 zaslon za povezivanje s arduinom
LCD 1602 zaslon za povezivanje s arduinom

LCD 1602

Među brojnim opcijama među zaslonima, izdvojio bih LCD1602 zaslon baziran na HD4478 kontroleru. Ovaj zaslon je u dvije boje: bijela slova na plavoj pozadini, crna slova na žutoj pozadini. Spajanje LCD 1602 na Arduino također neće uzrokovati probleme, jer postoji ugrađena biblioteka i ne morate ništa dodatno preuzimati. Zasloni se razlikuju ne samo po cijeni, već i po veličini. Radio amateri često koriste 16x 2, tj. 2 retka od 16 znakova. Ali postoji i 20 x 4, gdje postoje 4 retka od 20 znakova. Dimenzije i boja ne igraju nikakvu ulogu u povezivanju lcd 1602 zaslona na Arduno, povezuju se na isti način. Kut gledanja je 35 stupnjeva, vrijeme odziva zaslona je 250 ms. Može raditi na temperaturama od -20 do 70 stupnjeva Celzija. Prilikom rada koristi 4 mA za ekran i 120 mA za pozadinsko osvjetljenje.

pinout LCD 1602 zaslona
pinout LCD 1602 zaslona

Gdje se koristi?

Ovaj zaslon je popularan ne samo među radio-amaterima, već i među velikim proizvođačima. Na primjer, pisači, aparati za kavu također koriste LCD1602. To je zbog niske cijene, ovaj zaslon košta 200-300 rubalja na kineskim stranicama. Tamo se isplati kupiti jer su u našim trgovinama marže za ovaj prikaz vrlo visoke.

Poveži se na Arduino

Povezivanje LCD-a 1602 na Arduino Nano i Uno se ne razlikuje. Sa zaslonom možete raditi u dva načina: 4 bita i 8. Kod rada s 8-bitnim zaslonom koriste se i niži i viši bitovi, a kod 4-bitnog samo niži. Nema posebne svrhe raditi s 8-bitnim, budući da će se za povezivanje dodati još 4 kontakta, što nije preporučljivo, jer brzina neće biti veća, ograničenje ažuriranja zaslona je 10 puta u sekundi. Općenito, za spajanje lcd 1602 na Arduino koristi se puno žica, što uzrokuje neke neugodnosti, ali postoje posebni štitovi, ali o tome kasnije. Fotografija prikazuje spajanje zaslona na Arduino Uno:

Spajanje zaslona na arduino
Spajanje zaslona na arduino

Primjer koda:


include //Dodajte potrebnu biblioteku LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Postavi dimenziju zaslona lcd.setCursor(0, 0); // Postavite kursor na početak retka 1 lcd.print("Halo, world!"); // Prikaz teksta lcd setCursor(0, 1); // Postavite kursor na početak retka 2 lcd.print("fb.ru"); // Izlazni tekst } void loop(){ }

Što radi kod? Prije svega, povezana je knjižnica za rad s zaslonom. Kao što je gore spomenuto, ova biblioteka je već uključena u Arduino IDE i ne morate je dodatno preuzimati i instalirati. Zatim se definiraju kontakti koji su spojeni na pinove: RS, E, DB4, DB5, DB6, DB7, redom. Zatim se postavlja veličina zaslona. Budući da radimo s verzijom sa 16 znakova i 2 retka, zapisujemo takve vrijednosti. Postavljamo kursor na početak prvog retka i prikazujemo naš prvi tekst Hello World. Zatim stavite pokazivač na drugi redak i prikažite naziv stranice. To je sve! Razmatrano je povezivanje LCD-a 1602 na Arduino Uno.

Što je I2C i zašto je potreban?

Kao što je gore spomenuto, za povezivanje zaslona potrebno je puno pinova. Na primjer, kada radite s više senzora i LCD zaslonom, 1602 kontakta jednostavno neće biti dovoljna. Radio amateri često koriste Uno ili Nano verzije, gdje nema puno kontakata. Tada su ljudi smislili posebne štitove. Na primjer, I2C. Omogućuje vam povezivanje zaslona sa samo 4 pina. Ovo je dva puta manje. I2C modul se prodaje i zasebno, gdje ga trebate sami zalemiti, i već zalemljenLCD zaslon 1602.

I2C modul za LCD zaslon 1602
I2C modul za LCD zaslon 1602

Veza s I2C modulom

Povezivanje LCD-a 1602 na Arduino Nano s I2C zauzima malo prostora, samo 4 pina: uzemljenje, napajanje i 2 podatkovna izlaza. Napajanje i uzemljenje spajamo na 5V i GND na Arduinu. Preostala dva kontakta: SCL i SDA spojeni su na bilo koje analogne pinove. Na fotografiji možete vidjeti primjer povezivanja lcd 1602 na arduino s I2C modulom:

Prikaz povezivanja pomoću I2C modula
Prikaz povezivanja pomoću I2C modula

Programski kod

Ako je bilo potrebno koristiti samo jednu knjižnicu za rad sa zaslonom bez modula, tada su potrebne dvije knjižnice za rad s modulom. Jedan od njih je već u Arduino IDE - Wire. Još jednu knjižnicu, LiquidCrystal I2C, potrebno je zasebno preuzeti i instalirati. Da biste instalirali knjižnicu u Arduino, sadržaj preuzete arhive mora biti učitan u korijensku mapu Libraries. Primjer koda koji koristi I2C:


include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Postavljanje prikaza void setup() { lcd.init(); lcd.backlight();// Uključite pozadinsko osvjetljenje zaslona lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Postavi kursor na drugi redak i null znak. lcd.setCursor(0, 1); // Ispiši koliko je sekundi prošlo od pokretanja arduina lcd.print(millis()/1000); }

Kao što možete vidjeti, kod je gotovo isti.

Kako mogu dodati vlastiti simbol?

Problem s ovim zaslonima je što nemapodrška ćirilici i simbolima. Na primjer, trebate učitati neki znak na zaslon kako bi ga mogao odražavati. Da biste to učinili, zaslon vam omogućuje stvaranje do 7 vaših likova. Predstavite tablicu:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Ako je 0 - tu nema ničega, ako je 1 - to je zasjenjeno područje. U gornjem primjeru možete vidjeti stvaranje lika "nasmiješenog smješka". Koristeći primjer programa u Arduinu, to bi izgledalo ovako:


include include // Uključi potrebnu biblioteku // Bitmask simbola osmijeha bajt smile[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Postavi dimenziju zaslona lcd.createChar(1, osmijeh); // Kreiraj znak broj 1 lcd.setCursor(0, 0); // Postavite kursor na početak retka 1 lcd.print("\1"); // Prikaži smajlića (znak broj 1) - "\1" } void loop(){ }

Kao što vidite, stvorena jebitmaska je ista kao i tablica. Jednom stvorena, može se prikazati kao varijabla na zaslonu. Zapamtite da se u memoriju može pohraniti samo 7 znakova. U principu, ovo je dovoljno. Na primjer, ako želite prikazati simbol stupnja.

Dodavanje prilagođenih znakova na LCD 1602
Dodavanje prilagođenih znakova na LCD 1602

Problemi zbog kojih zaslon možda neće raditi

Postoje slučajevi kada zaslon ne radi. Na primjer, uključuje se, ali ne prikazuje znakove. Ili se uopće ne uključuje. Prvo provjerite jeste li ispravno spojili kontakte. Ako ste lcd 1202 spajali na Arduino bez I2C, vrlo je lako zapetljati se u žice, što može uzrokovati neispravan rad zaslona. Također biste trebali paziti da je kontrast zaslona povećan, budući da se pri minimalnom kontrastu čak i ne vidi je li LCD 1602 uključen ili ne. Ako to ne pomogne, onda možda problem leži u lemljenju kontakata, to je kada koristite I2C modul. Također, čest razlog zašto zaslon možda ne radi je netočna postavka I2C adrese. Činjenica je da postoji mnogo proizvođača i da mogu postaviti drugu adresu, ovdje je morate ispraviti:


LiquidCrystal_I2C lcd(0x27, 16, 2);

U zagradama možete vidjeti dvije vrijednosti, 0x27 i 16, 2 (16, 2 je veličina zaslona, a 0x27 je samo I2C adresa). Umjesto ovih vrijednosti, možete pokušati staviti 0x37 ili 0x3F. Pa, drugi razlog je jednostavno neispravan LCD 1602. S obzirom da je gotovo sve za Arduino proizvedeno u Kini, ne možete biti 100% sigurni da je kupljenoproizvod nije neispravan.

LCD 1602 prednosti i nedostaci

Pogledajmo prednosti i nedostatke LCD-a 1602.

Pros

  • Cijena. Ovaj modul se može kupiti po vrlo pristupačnoj cijeni u kineskim trgovinama. Cijena je 200-300 rubalja. Ponekad se čak prodaje i s I2C modulom.
  • Lako za povezivanje. Vjerojatno danas nitko ne spaja LCD 1602 bez I2C. A s ovim modulom, veza traje samo 4 pina, neće biti "mreže" žica.
  • Programiranje. Zahvaljujući gotovim knjižnicama, rad s ovim modulom je jednostavan, sve funkcije su već registrirane. A ako trebate dodati svoj lik, potrebno je samo nekoliko minuta.

Protiv

Tijekom korištenja tisuća radioamatera, nisu utvrđeni veliki minusi, samo ima slučajeva kupnje braka, budući da se uglavnom koriste kineske opcije prikaza

Ovaj članak govori o tome kako spojiti LCD 1602 zaslon na Arduino, a također je predstavljen primjer programa za rad s ovim zaslonom. Zaista je jedan od najboljih u svojoj kategoriji, ne samo da ga tisuće radioamatera biraju za svoje projekte!

Preporučeni: