Povezivanje LCD 1602 na Arduino: opis, funkcije, upute, karakteristike, problemi i rješenja

Sadržaj:

Povezivanje LCD 1602 na Arduino: opis, funkcije, upute, karakteristike, problemi i rješenja
Povezivanje LCD 1602 na Arduino: opis, funkcije, upute, karakteristike, problemi i rješenja
Anonim

Svaki radio-amater, nakon nekog jednostavnog DIY posla, dođe do cilja da konstruiše nešto veliko koristeći senzore i dugmad. Na kraju krajeva, mnogo je zanimljivije prikazati podatke na displeju nego na monitoru porta. Ali onda se postavlja pitanje: koji ekran odabrati? I općenito, kako ga povezati, šta je potrebno za povezivanje? Odgovori na ova pitanja će biti razmatrani u ovom članku.

LCD 1602 displej za povezivanje sa arduinom
LCD 1602 displej za povezivanje sa arduinom

LCD 1602

Među brojnim opcijama među ekranima, izdvojio bih LCD1602 displej baziran na HD4478 kontroleru. Ovaj displej je u dve boje: bijela slova na plavoj pozadini, crna slova na žutoj pozadini. Povezivanje LCD 1602 na Arduino također neće uzrokovati probleme, jer postoji ugrađena biblioteka i ne morate ništa dodatno preuzimati. Displeji se razlikuju ne samo po cijeni, već i po veličini. Radio amateri često koriste 16x 2, tj. 2 reda od 16 karaktera. Ali postoji i 20 x 4, gdje postoje 4 reda od 20 znakova. Dimenzije i boja ne igraju nikakvu ulogu u povezivanju lcd 1602 displeja na Arduno, oni su povezani na isti način. Ugao gledanja je 35 stepeni, vreme odziva ekrana je 250 ms. Može raditi na temperaturama od -20 do 70 stepeni Celzijusa. Prilikom rada koristi 4 mA za ekran i 120 mA za pozadinsko osvjetljenje.

pinout LCD 1602 displeja
pinout LCD 1602 displeja

Gdje se koristi?

Ovaj ekran je popularan ne samo među radio amaterima, već i među velikim proizvođačima. Na primjer, štampači, aparati za kafu 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 radnjama marže za ovaj izlog vrlo visoke.

Poveži se na Arduino

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

Povezivanje ekrana na arduino
Povezivanje ekrana 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 ekrana lcd.setCursor(0, 0); // Postavite kursor na početak reda 1 lcd.print("Hello, world!"); // Prikaz teksta lcd setCursor(0, 1); // Postavite kursor na početak reda 2 lcd.print("fb.ru"); // Izlaz teksta } void loop(){ }

Šta radi kod? Prije svega, povezana je biblioteka za rad sa ekranom. Kao što je gore spomenuto, ova biblioteka je već uključena u Arduino IDE i ne morate je dodatno preuzimati i instalirati. Zatim se definišu kontakti koji su spojeni na pinove: RS, E, DB4, DB5, DB6, DB7, respektivno. Zatim je podešena veličina ekrana. Pošto radimo sa verzijom sa 16 karaktera i 2 reda, pišemo takve vrednosti. Postavljamo kursor na početak prvog reda i prikazujemo naš prvi tekst Hello World. Zatim stavite kursor na drugi red i prikažite naziv stranice. To je sve! Razmatrano je povezivanje LCD-a 1602 na Arduino Uno.

Šta je I2C i zašto je potreban?

Kao što je gore pomenuto, za povezivanje ekrana potrebno je mnogo 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ćava vam da povežete ekran sa samo 4 pina. Ovo je dva puta manje. I2C modul se prodaje i odvojeno, gdje ga morate sami zalemiti, i već zalemljenLCD ekran 1602.

I2C modul za LCD ekran 1602
I2C modul za LCD ekran 1602

Veza sa I2C modulom

Povezivanje LCD 1602 sa Arduino Nano sa I2C zauzima malo prostora, samo 4 pina: uzemljenje, napajanje i 2 izlaza podataka. Povezujemo napajanje i uzemljenje na 5V i GND na Arduinu, respektivno. Preostala dva kontakta: SCL i SDA su povezani na bilo koje analogne pinove. Na fotografiji možete vidjeti primjer povezivanja lcd 1602 na arduino sa I2C modulom:

Prikaz konekcija pomoću I2C modula
Prikaz konekcija pomoću I2C modula

Programski kod

Ako je bilo potrebno koristiti samo jednu biblioteku za rad sa displejom bez modula, tada su potrebne dvije biblioteke za rad sa modulom. Jedan od njih je već u Arduino IDE - Wire. Još jednu biblioteku, LiquidCrystal I2C, potrebno je posebno preuzeti i instalirati. Da biste instalirali biblioteku u Arduino, sadržaj preuzete arhive mora biti učitan u korijenski direktorij Libraries. Primjer koda koristeći I2C:


include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Podešavanje prikaza void setup() { lcd.init(); lcd.backlight();// Uključite pozadinsko osvetljenje ekrana lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Postavite kursor na drugi red i nul karakter. lcd.setCursor(0, 1); // Ispisuje broj sekundi od kada je arduino pokrenut lcd.print(millis()/1000); }

Kao što vidite, kod je skoro isti.

Kako da dodam svoj simbol?

Problem sa ovim displejima je što nemapodrška za ćirilicu i simbole. Na primjer, potrebno je da učitate neki znak u ekran tako da ga može odražavati. Da biste to učinili, ekran vam omogućava da kreirate do 7 vaših likova. Predstavite tabelu:

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 smajlija". 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 ekrana lcd.createChar(1, osmijeh); // Kreiranje karaktera broj 1 lcd.setCursor(0, 0); // Postavite kursor na početak reda 1 lcd.print("\1"); // Prikaži smajlija (znak broj 1) - "\1" } void loop(){ }

Kao što vidite, kreiran jebitmaska je ista kao i tabela. Jednom kreiran, može se prikazati kao varijabla na ekranu. Zapamtite da se u memoriju može pohraniti samo 7 znakova. U principu, ovo je dovoljno. Na primjer, ako želite da prikažete simbol stepena.

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

Problemi kod kojih ekran možda neće raditi

Postoje slučajevi kada ekran ne radi. Na primjer, uključuje se, ali ne prikazuje znakove. Ili se uopšte ne uključuje. Prvo provjerite jeste li ispravno povezali kontakte. Ako ste koristili za povezivanje LCD 1202 na Arduino bez I2C, onda je vrlo lako zapetljati se u žice, što može uzrokovati neispravan rad ekrana. Također biste trebali paziti da je kontrast displeja povećan, jer se na minimalnom kontrastu čak i ne vidi da li je LCD 1602 uključen ili ne. Ako to ne pomogne, onda možda problem leži u lemljenju kontakata, to je kada se koristi I2C modul. Takođe, čest razlog zašto ekran možda ne radi je netačna postavka I2C adrese. Činjenica je da ima mnogo proizvođača, i da mogu postaviti drugu adresu, ovdje je potrebno ispraviti:


LiquidCrystal_I2C lcd(0x27, 16, 2);

U zagradama možete vidjeti dvije vrijednosti, 0x27 i 16, 2 (16, 2 je veličina ekrana, 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 skoro sve za Arduino proizvedeno u Kini, ne možete biti 100% sigurni da je kupljenproizvod 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 sa I2C modulom.
  • Lako za povezivanje. Vjerovatno danas niko ne povezuje LCD 1602 bez I2C. A sa ovim modulom, veza traje samo 4 pina, neće biti "mreža" žica.
  • Programiranje. Zahvaljujući gotovim bibliotekama, rad sa ovim modulom je lak, sve funkcije su već registrovane. A ako trebate dodati svoj lik, potrebno je samo nekoliko minuta.

Protiv

U vremenu upotrebe od strane hiljada radio-amatera, nisu uočeni veliki minusi, samo ima slučajeva kupovine braka, pošto se uglavnom koriste kineske opcije prikaza

Ovaj članak govori o tome kako povezati LCD 1602 displej sa Arduinom, a takođe je predstavljen i primer programa za rad sa ovim ekranom. Zaista je jedan od najboljih u svojoj kategoriji, ne samo da ga hiljade radio-amatera biraju za svoje projekte!

Preporučuje se: