LCD 1602 pievienošana Arduino: apraksts, funkcijas, instrukcijas, līdzekļi, problēmas un risinājumi

Satura rādītājs:

LCD 1602 pievienošana Arduino: apraksts, funkcijas, instrukcijas, līdzekļi, problēmas un risinājumi
LCD 1602 pievienošana Arduino: apraksts, funkcijas, instrukcijas, līdzekļi, problēmas un risinājumi
Anonim

Katrs radioamatieris pēc vienkārša DIY darba nonāk pie mērķa izveidot kaut ko grandiozu, izmantojot sensorus un pogas. Galu galā ir daudz interesantāk parādīt datus displejā nekā porta monitorā. Bet tad rodas jautājums: kuru displeju izvēlēties? Un vispār, kā to savienot, kas ir nepieciešams, lai savienotu? Atbildes uz šiem jautājumiem tiks apspriestas šajā rakstā.

LCD 1602 displejs savienojumam ar arduino
LCD 1602 displejs savienojumam ar arduino

LCD 1602

Starp daudzajām displeju opcijām es vēlētos izcelt LCD1602 displeju, kura pamatā ir HD4478 kontrolleris. Šis displejs ir divās krāsās: b alti burti uz zila fona, melni burti uz dzeltena fona. Arī LCD 1602 pievienošana Arduino neradīs nekādas problēmas, jo ir iebūvēta bibliotēka, un jums nav nepieciešams lejupielādēt neko papildus. Displeji atšķiras ne tikai pēc cenas, bet arī pēc izmēra. Bieži radio amatieri izmanto 16x 2, t.i., 2 rindas pa 16 rakstzīmēm. Bet ir arī 20 x 4, kur ir 4 rindiņas pa 20 rakstzīmēm. Izmēriem un krāsai nav nekādas nozīmes lcd 1602 displeja savienošanā ar Arduno, tie ir savienoti vienādi. Skata leņķis ir 35 grādi, displeja reakcijas laiks ir 250 ms. Var strādāt temperatūrā no -20 līdz 70 grādiem pēc Celsija. Strādājot, tas izmanto 4 mA ekrānam un 120 mA fona apgaismojumam.

LCD 1602 displeja spraudnis
LCD 1602 displeja spraudnis

Kur to lieto?

Šis displejs ir populārs ne tikai radioamatieru, bet arī lielo ražotāju vidū. Piemēram, printeri, kafijas automāti izmanto arī LCD1602. Tas ir saistīts ar zemo cenu, Ķīnas vietnēs šis displejs maksā 200-300 rubļu. Ir vērts tur iegādāties, jo mūsu veikalos šī displeja maržas ir ļoti augstas.

Izveidojiet savienojumu ar Arduino

LCD 1602 pievienošana Arduino Nano un Uno neatšķiras. Ar displeju var strādāt divos režīmos: 4 bitu un 8. Strādājot ar 8 bitu displeju, tiek izmantoti gan zemākie, gan augstākie biti, bet ar 4 bitu – tikai zemākie. Nav īpašas jēgas strādāt ar 8 bitu, jo savienošanai tiks pievienoti vēl 4 kontakti, kas nav vēlams, jo ātrums nebūs lielāks, displeja atjaunināšanas limits ir 10 reizes sekundē. Kopumā lcd 1602 savienošanai ar Arduino tiek izmantots daudz vadu, kas rada zināmas neērtības, taču ir speciāli vairogi, bet par to vēlāk. Fotoattēlā parādīts displeja savienojums ar Arduino Uno:

Displeja pievienošana arduino
Displeja pievienošana arduino

Koda piemērs:


iekļaut //Pievienojiet nepieciešamo bibliotēku LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Iestatīt ekrāna izmēru lcd.setCursor(0, 0); // Uzstādiet kursoru uz 1. rindas sākumu lcd.print("Sveika, pasaule!"); // Rādīt tekstu LCD setCursor(0, 1); // Novietojiet kursoru uz 2. rindas sākumu lcd.print("fb.ru"); // Izvades teksts } void loop(){ }

Ko dara kods? Pirmkārt, ir pievienota bibliotēka darbam ar displeju. Kā minēts iepriekš, šī bibliotēka jau ir iekļauta Arduino IDE, un jums tā nav jālejupielādē un jāinstalē papildus. Tālāk tiek definēti kontakti, kas ir savienoti ar tapām: attiecīgi RS, E, DB4, DB5, DB6, DB7. Pēc tam tiek iestatīts ekrāna izmērs. Tā kā mēs strādājam ar versiju ar 16 rakstzīmēm un 2 rindām, mēs rakstām šādas vērtības. Mēs uzstādām kursoru uz pirmās rindas sākumu un parādām mūsu pirmo tekstu Hello World. Pēc tam novietojiet kursoru otrajā rindā un parādiet vietnes nosaukumu. Tas ir viss! Tika apsvērta LCD 1602 savienošana ar Arduino Uno.

Kas ir I2C un kāpēc tas ir vajadzīgs?

Kā minēts iepriekš, displeja pievienošana prasa daudz tapu. Piemēram, strādājot ar vairākiem sensoriem un LCD displeju, 1602 kontaktiem var vienkārši nepietikt. Bieži radioamatieri izmanto Uno vai Nano versijas, kur nav daudz kontaktu. Tad cilvēki nāca klajā ar īpašiem vairogiem. Piemēram, I2C. Tas ļauj savienot displeju tikai ar 4 tapām. Tas ir divas reizes mazāk. I2C modulis tiek pārdots gan atsevišķi, kur nepieciešams pašam pielodēt, gan jau pielodētsLCD displejs 1602.

I2C modulis LCD displejam 1602
I2C modulis LCD displejam 1602

Savienojums ar I2C moduli

LCD 1602 pievienošana Arduino Nano ar I2C aizņem maz vietas, tikai 4 kontakti: zemējums, jauda un 2 datu izejas. Mēs pievienojam strāvu un zemi attiecīgi ar 5 V un GND uz Arduino. Atlikušie divi kontakti: SCL un SDA ir savienoti ar jebkurām analogajām tapām. Fotoattēlā varat redzēt piemēru LCD 1602 savienošanai ar arduino ar I2C moduli:

Displeja savienojumi, izmantojot I2C moduli
Displeja savienojumi, izmantojot I2C moduli

Programmas kods

Ja darbam ar displeju bez moduļa bija nepieciešams izmantot tikai vienu bibliotēku, tad darbam ar moduli ir nepieciešamas divas bibliotēkas. Viens no tiem jau ir Arduino IDE - Wire. Vēl viena bibliotēka LiquidCrystal I2C ir jālejupielādē atsevišķi un jāinstalē. Lai instalētu bibliotēku Arduino, lejupielādētā arhīva saturs ir jāaugšupielādē bibliotēku saknes mapē. Koda piemērs, izmantojot I2C:


include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Displeja iestatīšana void setup() { lcd.init(); lcd.backlight();// Ieslēdziet displeja fona apgaismojumu lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Iestatīt kursoru uz otro rindiņu un nulles rakstzīmi. lcd.setCursor(0, 1); // Izdrukājiet sekunžu skaitu kopš arduino palaišanas lcd.print(millis()/1000); }

Kā redzat, kods ir gandrīz tāds pats.

Kā pievienot savu simbolu?

Šo displeju problēma ir tāda, ka navatbalsts kirilicai un simboliem. Piemēram, displejā jāielādē kāda rakstzīme, lai tā to atspoguļotu. Lai to izdarītu, displejs ļauj izveidot līdz pat 7 rakstzīmēm. Prezentēt tabulu:

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

Ja 0 - tur nekā nav, ja 1 - tas ir ēnots laukums. Iepriekš minētajā piemērā varat redzēt "smaidoša smaidiņa" varoņa izveidi. Izmantojot programmas piemēru Arduino, tas izskatītos šādi:


include include // Iekļaut nepieciešamo bibliotēku // Smaida simbols bitmaskas baits 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); // Iestatīt ekrāna izmēru lcd.createChar(1, smile); // Izveidot rakstzīmes numuru 1 lcd.setCursor(0, 0); // Novietojiet kursoru uz 1. rindas sākumu lcd.print("\1"); // Parādīt smaidiņu (rakstzīmes numurs 1) - "\1" } void loop(){ }

Kā redzat, tika izveidotsbitmaska ir tāda pati kā tabula. Kad tas ir izveidots, to var izvadīt kā mainīgo displejā. Atcerieties, ka atmiņā var saglabāt tikai 7 rakstzīmes. Principā ar to pietiek. Piemēram, ja vēlaties parādīt grāda simbolu.

Pielāgotu rakstzīmju pievienošana LCD 1602
Pielāgotu rakstzīmju pievienošana LCD 1602

Problēmas, kuru dēļ displejs var nedarboties

Ir gadījumi, kad displejs nedarbojas. Piemēram, tas ieslēdzas, bet nerāda rakstzīmes. Vai arī tas vispār neieslēdzas. Vispirms pārbaudiet, vai esat pareizi pievienojis kontaktus. Ja agrāk lcd 1202 pievienojāt Arduino bez I2C, tad ir ļoti viegli sapīties vados, kā rezultātā displejs var darboties nepareizi. Jums arī jāpārliecinās, ka displeja kontrasts ir palielināts, jo pie minimālā kontrasta pat nav redzams, vai LCD 1602 ir ieslēgts vai nē. Ja tas nepalīdz, iespējams, problēma var būt kontaktu lodēšanai, tas ir, izmantojot I2C moduli. Arī izplatīts iemesls, kāpēc displejs var nedarboties, ir nepareizs I2C adreses iestatījums. Fakts ir tāds, ka ir daudz ražotāju, un viņi var iestatīt citu adresi, jums tas ir jālabo šeit:


LiquidCrystal_I2C lcd(0x27, 16, 2);

Iekavās var redzēt divas vērtības - 0x27 un 16,2 (16, 2 ir displeja izmērs, bet 0x27 ir tikai I2C adrese). Šo vērtību vietā varat mēģināt ievietot 0x37 vai 0x3F. Nu, vēl viens iemesls ir vienkārši bojāts LCD 1602. Ņemot vērā, ka gandrīz viss Arduino ir ražots Ķīnā, nevar būt 100% pārliecināts, ka iegādātaisprece nav bojāta.

LCD 1602 plusi un mīnusi

Apskatīsim LCD 1602 plusus un mīnusus.

Profi

  • Cena. Šo moduli var iegādāties par ļoti pieņemamu cenu Ķīnas veikalos. Cena ir 200-300 rubļu. Dažreiz pat pārdod ar I2C moduli.
  • Viegli savienojams. Droši vien mūsdienās neviens nepievieno LCD 1602 bez I2C. Un ar šo moduli savienojumam nepieciešamas tikai 4 tapas, nebūs vadu “tīklojumu”.
  • Programmēšana. Pateicoties gatavām bibliotēkām, darbs ar šo moduli ir vienkāršs, visas funkcijas jau ir reģistrētas. Un, ja jums ir nepieciešams pievienot savu varoni, tas aizņem tikai dažas minūtes.

Mīnusi

Tūkstošiem radioamatieru lietošanas laikā lieli mīnusi nav konstatēti, ir tikai laulības pirkšanas gadījumi, jo galvenokārt tiek izmantotas ķīniešu displeja iespējas

Šajā rakstā tika apspriests, kā savienot LCD 1602 displeju ar Arduino, kā arī parādīti programmu paraugi darbam ar šo displeju. Tas patiešām ir viens no labākajiem savā kategorijā, ne tikai tūkstošiem radioamatieru to izvēlas saviem projektiem!

Ieteicams: