Minden rádióamatőr néhány egyszerű barkácsmunka után arra a célra jut, hogy érzékelők és gombok segítségével valami nagyszerűt alkosson. Hiszen sokkal érdekesebb adatokat megjeleníteni a kijelzőn, mint a portmonitoron. De akkor felmerül a kérdés: melyik kijelzőt válasszam? És általában, hogyan kell csatlakoztatni, mi kell a csatlakoztatáshoz? Az ezekre a kérdésekre adott válaszokat ebben a cikkben tárgyaljuk.
LCD 1602
A számos kijelző közül a HD4478 vezérlőn alapuló LCD1602 kijelzőt szeretném kiemelni. Ez a kijelző két színben van: fehér betűk kék alapon, fekete betűk sárga alapon. Az LCD 1602 Arduinóhoz való csatlakoztatása sem okoz gondot, hiszen van beépített könyvtár, és nem kell semmi extrát letölteni. A kijelzők nemcsak árban, hanem méretben is különböznek egymástól. A rádióamatőrök gyakran 16-ot használnakx 2, azaz 2 sor 16 karakterből. De van 20 x 4 is, ahol 4 sor van 20 karakterből. A méretek és a színek nem játszanak szerepet az lcd 1602-es kijelző Arduno-hoz való csatlakoztatásában, ugyanúgy vannak csatlakoztatva. A betekintési szög 35 fok, a kijelző válaszideje 250 ms. -20 és 70 Celsius fok közötti hőmérsékleten működik. Munka közben 4 mA-t használ a képernyőhöz és 120 mA-t a háttérvilágításhoz.
Hol használják?
Ez a kijelző nem csak a rádióamatőrök, hanem a nagy gyártók körében is népszerű. Például nyomtatók, kávéfőzők is használnak LCD1602-t. Ennek oka az alacsony ár, ez a kijelző 200-300 rubelbe kerül a kínai oldalakon. Érdemes ott vásárolni, mivel üzleteinkben nagyon magasak az árrések erre a kijelzőre.
Csatlakozás Arduino-hoz
Az LCD 1602 csatlakoztatása Arduino Nano-hoz és Uno-hoz nem más. A kijelzővel kétféle üzemmódban dolgozhatunk: 4 bites és 8. 8 bites kijelzővel való munkavégzésnél az alacsonyabb és a magasabb bitek is használatosak, a 4 bitesnél pedig csak az alsóbbak. Nincs különösebb értelme a 8 bitessel dolgozni, hiszen 4 további kontaktus kerül a csatlakozáshoz, ami nem célszerű, mert a sebesség nem lesz nagyobb, a kijelző frissítési határa 10-szer másodpercenként. Általában sok vezetéket használnak az lcd 1602 és az Arduino összekapcsolására, ami némi kellemetlenséget okoz, de vannak speciális pajzsok, de erről majd később. A képen a kijelző és az Arduino Uno csatlakozása látható:
Példa a kódra:
tartalmazza //Adja hozzá a szükséges LiquidCrystal lcd(7, 6, 5, 4, 3, 2) könyvtárat; // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Képernyő méretének beállítása lcd.setCursor(0, 0); // Állítsuk a kurzort az 1. sor elejére lcd.print("Hello, world!"); // Szöveg megjelenítése lcd setCursor(0, 1); // Állítsa a kurzort a 2. sor elejére lcd.print("fb.ru"); // Kimeneti szöveg } void loop(){ }
Mit csinál a kód? Először is, a kijelzővel való munkavégzés könyvtára csatlakoztatva van. Mint fentebb említettük, ez a könyvtár már benne van az Arduino IDE-ben, és nem kell további letöltése és telepítése. Ezután meg kell határozni a érintkezőket, amelyek a érintkezőkhöz csatlakoznak: RS, E, DB4, DB5, DB6, DB7. Ezután a képernyő mérete be van állítva. Mivel 16 karakteres és 2 soros verzióval dolgozunk, ilyen értékeket írunk. A kurzort az első sor elejére állítjuk, és megjelenítjük az első Hello World szövegünket. Ezután vigye a kurzort a második sorba, és jelenítse meg a webhely nevét. Ez minden! Megfontolásra került az lcd 1602 csatlakoztatása az Arduino Uno-hoz.
Mi az I2C, és miért van rá szükség?
Ahogy fentebb említettük, a kijelző csatlakoztatása sok tűt igényel. Például, ha több érzékelővel és LCD kijelzővel dolgozik, előfordulhat, hogy az 1602 érintkező egyszerűen nem elegendő. A rádióamatőrök gyakran az Uno vagy a Nano verziót használják, ahol nincs sok kapcsolat. Aztán az emberek különleges pajzsokat találtak ki. Például I2C. Lehetővé teszi a kijelző csatlakoztatását mindössze 4 tűvel. Ez kétszer kevesebb. Az I2C modul külön is megvásárolható, ahol saját kezűleg kell forrasztania, és már forrasztva isLCD kijelző 1602.
Kapcsolat az I2C modullal
Az LCD 1602 csatlakoztatása az Arduino Nano-hoz I2C-vel kevés helyet foglal el, mindössze 4 érintkező: test, táp és 2 adatkimenet. Az Arduino tápellátását és földelését 5 V-ra, illetve GND-re csatlakoztatjuk. A fennmaradó két érintkező: SCL és SDA bármilyen analóg érintkezőhöz csatlakozik. A képen láthat egy példát az lcd 1602 és az arduino csatlakoztatására I2C modullal:
Programkód
Ha a modul nélküli kijelzővel csak egy könyvtárat kellett használni, akkor egy modullal való működéshez két könyvtárra van szükség. Az egyik már az Arduino IDE - Wire-ben van. Egy másik könyvtárat, a LiquidCrystal I2C-t külön kell letölteni és telepíteni. A könyvtár Arduino-ban való telepítéséhez a letöltött archívum tartalmát fel kell tölteni a Libraries gyökérmappába. Kódpélda az I2C használatával:
include include LiquidCrystal_I2C lcd(0x27, 16, 2); // A kijelző beállítása void setup() { lcd.init(); lcd.backlight();// A kijelző háttérvilágításának bekapcsolása lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // A kurzort a második sorra és null karakterre állítja. lcd.setCursor(0, 1); // Kiírja az arduino indítása óta eltelt másodpercek számát lcd.print(millis()/1000); }
Amint látja, a kód majdnem ugyanaz.
Hogyan adhatom hozzá saját szimbólumomat?
Az a probléma ezekkel a kijelzőkkel, hogy nincsa cirill betűk és a szimbólumok támogatása. Például be kell töltenie valamilyen karaktert a kijelzőre, hogy az tükrözze azt. Ehhez a kijelző lehetővé teszi akár 7 karakter létrehozását. Mutasd be a táblázatot:
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 |
Ha 0 – nincs ott semmi, ha 1 – árnyékolt terület. A fenti példában láthatja a "mosolygó mosolygó" karakter létrehozását. Egy példaprogramot használva Arduino-ban ez így nézne ki:
include include // Tartalmazza a szükséges könyvtárat // Mosolyszimbólum bitmaszk byte 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); // Képernyő méretének beállítása lcd.createChar(1, smile); // 1. számú karakter létrehozása lcd.setCursor(0, 0); // Állítsa a kurzort az 1. sor elejére lcd.print("\1"); // A smiley megjelenítése (1. karakter) - "\1" } void loop(){ }
Mint látható, létrejötta bitmaszk ugyanaz, mint a táblázat. Miután létrehozta, változóként kiadható a kijelzőre. Ne feledje, hogy csak 7 karakter tárolható a memóriában. Elvileg ennyi is elég. Például, ha meg szeretné jeleníteni a fokozat szimbólumot.
Problémák, amelyek miatt a kijelző esetleg nem működik
Vannak esetek, amikor a kijelző nem működik. Például bekapcsol, de nem jelenít meg karaktereket. Vagy egyáltalán nem kapcsol be. Először ellenőrizze, hogy megfelelően csatlakoztatta-e az érintkezőket. Ha korábban I2C nélkül csatlakoztattad az lcd 1202-t az Arduino-hoz, akkor nagyon könnyen belegabalyodhatsz a vezetékekbe, ami miatt a kijelző hibásan működhet. Arra is ügyeljen, hogy a kijelző kontrasztja megnőjön, mivel minimális kontraszt mellett nem is látszik, hogy az LCD 1602 be van-e kapcsolva vagy sem. Ha ez nem segít, akkor a probléma az érintkezők forrasztásában lehet, ez az I2C modul használatakor. Szintén gyakori oka annak, hogy a kijelző nem működik, az I2C-cím helytelen beállítása. Az a tény, hogy sok gyártó létezik, és más címet is beállíthatnak, itt kell javítani:
LiquidCrystal_I2C lcd(0x27, 16, 2);
A zárójelben két érték látható, a 0x27 és a 16, 2 (a 16, 2 a kijelző mérete, a 0x27 pedig csak az I2C-cím). Ezen értékek helyett megpróbálhat 0x37 vagy 0x3F értéket tenni. Nos, a másik ok egyszerűen egy hibás LCD 1602. Tekintettel arra, hogy az Arduinohoz szinte minden Kínában készül, nem lehet 100%-ig biztos abban, hogy a megvásárolta termék nem hibás.
LCD 1602 előnyei és hátrányai
Nézzük meg az LCD 1602 előnyeit és hátrányait.
Profik
- Ár. Ez a modul nagyon kedvező áron megvásárolható a kínai üzletekben. Az ár 200-300 rubel. Néha még I2C modullal is eladják.
- Könnyen csatlakoztatható. Valószínűleg manapság senki sem köt LCD 1602-t I2C nélkül. És ezzel a modullal a csatlakozás csak 4 érintkezőt vesz igénybe, nem lesz vezetékek "hálója".
- Programozás. A kész könyvtáraknak köszönhetően ezzel a modullal könnyű dolgozni, minden funkció már regisztrálva van. És ha hozzá kell adnia a karakterét, az csak néhány percet vesz igénybe.
Hátrányok
A rádióamatőrök ezrei általi használat ideje alatt nagy mínuszokat nem állapítottak meg, csak házasságvásárlás esetei vannak, mivel főleg a kínai megjelenítési lehetőségeket használják
Ez a cikk az LCD 1602-es kijelző Arduino-hoz való csatlakoztatását tárgyalja, valamint bemutatott mintaprogramokat a kijelzővel való munkavégzéshez. Kategóriájában valóban az egyik legjobb, nem csak rádióamatőrök ezrei választják projektjeikhez!