Kiekvienas radijo mėgėjas, atlikęs paprastą „pasidaryk pats“darbą, pasiekia tikslą sukurti kažką didingo naudojant jutiklius ir mygtukus. Juk daug įdomiau duomenis rodyti ekrane nei prievado monitoriuje. Bet tada kyla klausimas: kurį ekraną pasirinkti? Ir apskritai, kaip jį prijungti, ko reikia prijungti? Atsakymai į šiuos klausimus bus aptarti šiame straipsnyje.
LCD 1602
Iš daugybės ekranų parinkčių norėčiau išskirti LCD1602 ekraną, pagrįstą HD4478 valdikliu. Šis ekranas yra dviejų spalvų: b altos raidės mėlyname fone, juodos raidės geltoname fone. LCD 1602 prijungimas prie Arduino taip pat nesukels problemų, nes yra įmontuota biblioteka ir nereikia nieko papildomai atsisiųsti. Ekranai skiriasi ne tik kaina, bet ir dydžiu. Dažnai radijo mėgėjai naudoja 16x 2, t. y. 2 eilutės iš 16 simbolių. Tačiau yra ir 20 x 4, kur yra 4 eilutės po 20 simbolių. Matmenys ir spalva nevaidina jokio vaidmens jungiant lcd 1602 ekraną su Arduno, jie jungiami taip pat. Matymo kampas yra 35 laipsniai, ekrano reakcijos laikas - 250 ms. Gali dirbti nuo -20 iki 70 laipsnių Celsijaus temperatūroje. Dirbdamas jis naudoja 4 mA ekranui ir 120 mA foniniam apšvietimui.
Kur jis naudojamas?
Šis ekranas yra populiarus ne tik tarp radijo mėgėjų, bet ir tarp didelių gamintojų. Pavyzdžiui, spausdintuvai, kavos aparatai taip pat naudoja LCD1602. Taip yra dėl mažos kainos, Kinijos svetainėse šis ekranas kainuoja 200–300 rublių. Ten verta pirkti, nes mūsų parduotuvėse šio ekrano maržos yra labai didelės.
Prisijunkite prie Arduino
LCD 1602 prijungimas prie Arduino Nano ir Uno nesiskiria. Su ekranu galima dirbti dviem režimais: 4 bitų ir 8. Dirbant su 8 bitų ekranu, naudojami ir žemesni, ir aukštesni bitai, o su 4 bitų – tik žemesni. Nėra jokios ypatingos prasmės dirbti su 8 bitais, nes prisijungimui bus pridėti dar 4 kontaktai, o tai nepatartina, nes greitis nebus didesnis, ekrano atnaujinimo limitas yra 10 kartų per sekundę. Apskritai lcd 1602 prijungimui prie Arduino naudojama daug laidų, tai sukelia tam tikrų nepatogumų, tačiau yra specialių ekranų, bet apie tai vėliau. Nuotraukoje parodytas ekrano prijungimas prie „Arduino Uno“:
Kodo pavyzdys:
įtraukti //Pridėkite reikiamą biblioteką LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Nustatyti ekrano matmenis lcd.setCursor(0, 0); // Nustatykite žymeklį į 1 eilutės pradžią lcd.print("Sveikas, pasauli!"); // Rodyti tekstą LCD setCursor(0, 1); // Nustatykite žymeklį į 2 eilutės pradžią lcd.print("fb.ru"); // Išvesties tekstas } void loop(){ }
Ką daro kodas? Visų pirma, prijungiama darbo su ekranu biblioteka. Kaip minėta aukščiau, ši biblioteka jau įtraukta į Arduino IDE ir jums nereikia jos papildomai atsisiųsti ir įdiegti. Toliau apibrėžiami kontaktai, kurie yra prijungti prie kaiščių: atitinkamai RS, E, DB4, DB5, DB6, DB7. Tada nustatomas ekrano dydis. Kadangi dirbame su 16 simbolių ir 2 eilučių versija, rašome tokias reikšmes. Mes nustatome žymeklį į pirmosios eilutės pradžią ir rodome pirmąjį tekstą Hello World. Tada užveskite žymeklį ant antrosios eilutės ir parodykite svetainės pavadinimą. Tai viskas! Buvo svarstoma galimybė prijungti LCD 1602 prie Arduino Uno.
Kas yra I2C ir kam jis reikalingas?
Kaip minėta aukščiau, norint prijungti ekraną, reikia daug kaiščių. Pavyzdžiui, dirbant su keliais jutikliais ir LCD ekranu 1602 kontaktų gali tiesiog nepakakti. Dažnai radijo mėgėjai naudoja Uno arba Nano versijas, kur nėra daug kontaktų. Tada žmonės sugalvojo specialius skydus. Pavyzdžiui, I2C. Tai leidžia prijungti ekraną tik 4 kontaktais. Tai yra du kartus mažiau. I2C modulis parduodamas tiek atskirai, kur reikia patiems lituoti, tiek jau prilituotasLCD ekranas 1602.
Jungtis su I2C moduliu
LCD 1602 prijungimas prie Arduino Nano naudojant I2C užima mažai vietos, tik 4 kontaktai: įžeminimas, maitinimas ir 2 duomenų išvestys. „Arduino“maitinimą ir įžeminimą prijungiame atitinkamai prie 5 V ir GND. Likę du kontaktai: SCL ir SDA yra prijungti prie bet kokių analoginių kaiščių. Nuotraukoje matote LCD 1602 prijungimo prie arduino su I2C moduliu pavyzdį:
Programos kodas
Jei norint dirbti su ekranu be modulio reikėjo naudoti tik vieną biblioteką, tada norint dirbti su moduliu reikia dviejų bibliotekų. Vienas iš jų jau yra „Arduino IDE“– „Wire“. Kitą biblioteką „LiquidCrystal I2C“reikia atsisiųsti ir įdiegti atskirai. Norėdami įdiegti biblioteką Arduino, atsisiųsto archyvo turinys turi būti įkeltas į bibliotekos šakninį aplanką. Kodo pavyzdys naudojant I2C:
įtraukti įtraukti LiquidCrystal_I2C lcd(0x27, 16, 2); // Ekrano nustatymas void setup() { lcd.init(); lcd.backlight();// Įjungti ekrano apšvietimą lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Nustatykite žymeklį į antrą eilutę ir nulinį simbolį. lcd.setCursor(0, 1); // Išspausdinti sekundžių skaičių nuo arduino paleidimo lcd.print(millis()/1000); }
Kaip matote, kodas beveik toks pat.
Kaip pridėti savo simbolį?
Šių ekranų problema yra ta, kad nėrakirilicos ir simbolių palaikymas. Pavyzdžiui, į ekraną reikia įkelti kokį nors simbolį, kad jis jį atspindėtų. Norėdami tai padaryti, ekrane galite sukurti iki 7 simbolių. Pateikite lentelę:
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 |
Jei 0 – nieko nėra, jei 1 – tai užtemdyta sritis. Aukščiau pateiktame pavyzdyje galite pamatyti „šypsančios šypsenėlės“personažo kūrimą. Naudojant pavyzdinę programą Arduino, ji atrodytų taip:
include include // Įtraukti reikiamą biblioteką // Šypsenos simbolis bitmask byte smile[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; Skystųjų kristalų lcd (7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Nustatyti ekrano matmenis lcd.createChar(1, smile); // Sukurti simbolio numerį 1 lcd.setCursor(0, 0); // Nustatykite žymeklį į 1 eilutės pradžią lcd.print("\1"); // Rodyti šypsenėlę (1 simbolis) - "\1" } void loop(){ }
Kaip matote, buvo sukurtabitmask yra toks pat kaip lentelė. Sukūrus jį kaip kintamąjį galima išvesti į ekraną. Atminkite, kad atmintyje gali būti išsaugoti tik 7 simboliai. Iš principo to pakanka. Pavyzdžiui, jei norite rodyti laipsnio simbolį.
Problemos, dėl kurių ekranas gali neveikti
Būna atvejų, kai ekranas neveikia. Pavyzdžiui, jis įsijungia, bet nerodo simbolių. Arba visai neįsijungia. Pirmiausia patikrinkite, ar tinkamai prijungėte kontaktus. Jei anksčiau lcd 1202 jungėte prie Arduino be I2C, tada labai lengva įsipainioti į laidus, dėl kurių ekranas gali veikti netinkamai. Taip pat turėtumėte įsitikinti, kad ekrano kontrastas yra padidintas, nes esant minimaliam kontrastui net nesimato, ar LCD 1602 įjungtas, ar ne. Jei tai nepadeda, galbūt problema gali kilti dėl kontaktų litavimo, tai yra naudojant I2C modulį. Be to, dažna priežastis, kodėl ekranas gali neveikti, yra neteisingas I2C adreso nustatymas. Faktas yra tas, kad yra daug gamintojų ir jie gali nustatyti kitą adresą, jį reikia pataisyti čia:
LiquidCrystal_I2C lcd(0x27, 16, 2);
Skliausteliuose galite matyti dvi reikšmes – 0x27 ir 16, 2 (16, 2 yra ekrano dydis, o 0x27 yra tik I2C adresas). Vietoj šių verčių galite pabandyti įdėti 0x37 arba 0x3F. Na, o kita priežastis – tiesiog sugedęs LCD 1602. Turint galvoje, kad beveik viskas, kas skirta Arduino, yra pagaminta Kinijoje, negalite būti 100% tikras, kad įsigytasprekė neturi defektų.
LCD 1602 privalumai ir trūkumai
Pažvelkime į LCD 1602 privalumus ir trūkumus.
Privalumai
- Kaina. Šį modulį galima įsigyti už labai prieinamą kainą Kinijos parduotuvėse. Kaina yra 200-300 rublių. Kartais netgi parduodamas su I2C moduliu.
- Lengva prijungti. Tikriausiai šiais laikais niekas nejungia LCD 1602 be I2C. Ir naudojant šį modulį, jungtis užtrunka tik 4 kontaktus, nebus laidų „tinklo“.
- Programavimas. Dėl paruoštų bibliotekų dirbti su šiuo moduliu paprasta, visos funkcijos jau užregistruotos. Ir jei jums reikia pridėti savo personažą, tai užtruks tik kelias minutes.
Trūkumai
Per tą laiką, kai jį naudojo tūkstančiai radijo mėgėjų, didelių minusų nenustatyta, tik pasitaikė santuokos pirkimo atvejų, nes dažniausiai naudojamos kiniškos ekrano parinktys
Šiame straipsnyje aptarta, kaip prijungti LCD 1602 ekraną prie Arduino, taip pat pateiktos pavyzdinės programos, skirtos darbui su šiuo ekranu. Tai tikrai vienas geriausių savo kategorijoje, ne tik tūkstančiai radijo mėgėjų renkasi jį savo projektams!