Připojení LCD 1602 k Arduino: popis, funkce, instrukce, funkce, problémy a jejich řešení

Každý rádiový amatér po určitém počtu jednoduchých výhonků přijde k cíli konstrukce něčeho velkolepého pomocí senzorů a tlačítek. Je mnohem zajímavější zobrazit data než port monitoru. Ale pak se objevuje otázka: Které zobrazení si vybrat? A obecně, jak se připojit, co je zapotřebí k připojení? Odpovědi na tyto otázky budou řešeny v tomto článku.

LCD 1602

Mezi mnoha možnostmi mezi displeji je žádoucí zaznamenat displej LCD1602 na základě regulátoru HD4478. Tento displej je ve dvou barvách: bílé písmo na modrém pozadí, černé písmena na žlutém pozadí. Připojení LCD 1602 k systému Arduino také nezpůsobí žádné problémy, protože je zde zabudovaná knihovna a žádné další stahování není nutné. Displeje se liší nejen cenou, ale také velikostí. Nejčastěji používají rádioamatéři 16 x 2, tj. 2 řádky se 16 znaky. Ale existuje také 20 x 4, kde 4 řádky 20 znaků. Rozměry a barvy nehrají žádnou roli při připojování displeje lcd 1602 k Arduno, ale stejným způsobem se připojí. Úhel zobrazení je 35 stupňů, doba odezvy displeje je 250 ms. Může pracovat při teplotách od -20 do 70 stupňů Celsia. Při práci používá pro obrazovku 4 mA a pro podsvícení 120 mA.


Kde se používá?

Tento displej má svou popularitu nejen u rádiových amatérů, ale také u velkých výrobců. Například tiskárny, kávovary používají také LCD1602. To je způsobeno jeho nízkou úrovnícena stojí za to zobrazení na čínských dvorech 200-300 rublů. Nákup je jen tam, jako v našich obchodech, značek na tomto displeji jsou velmi vysoké.

Připojení k Arduino

Připojení LCD 1602 k Arduino Nano a Uno se neliší. Displej může pracovat ve dvou režimech: 4 bitů a 8. Při práci s 8bitovými se používají jak mladší, tak i starší bity a s 4-bitovým juniorem. Neexistuje žádný zvláštní smysl pro práci s 8-bit, protože bude přidáno pro připojení dalších 4 kontaktů, což není účelné, protože rychlost nebude vyšší, omezení aktualizací displeje - 10 krát za sekundu. Obecně platí, že mnoho kabelů se používá k připojení lcd 1602 k Arduino, což přináší určité nepříjemnosti, ale existují speciální shildes, ale o to později. Obrázek ukazuje spojení displeje s Arduino Uno:


Příklad programového kódu:

# include //Přidejte požadovanou knihovnu
LiquidCrystal lcd (765 432); //(RS, E, DB4 DB5 DB6 DB7)

void setup () {
lcd.begin (16 2); //Nastavte velikost obrazovky

lcd.setCursor (0 0); //Nastavte kurzor na začátek prvního řádku
lcd.print ("Dobrý den, svět!"); //Výstupní text
lcd.setCursor (0 1); //Nainstalujte kurzor na začátek řádku 2
lcd.print ("fb.ru"); //Výstup textu
}

void loop () {
}

Co dělá kód? Prvním úkolem je připojit knihovnu k práci s displejem. Jak již bylo uvedeno výše, tato knihovna je již součástí Arduino IDE a není nutné žádné další stahování a instalace. Určete kontakty, které jsou připojeny k následujícím položkám: RS, E, DB4 DB5 DB6 DB7. Poté se určí velikost obrazovky. Jelikož pracujeme na verzi s 16 znaky a 2 řádky, pak píšímevýznam. Kurzor jsme nastavili na začátek prvního řádku a odvodili jsme první text Hello World. Potom vložte kurzor na druhý řádek a zobrazte název stránky. To je vše! Bylo zvažováno spojení lcd 1602 s Arduino Uno.


Jak je uvedeno výše, spojení na displeji zaberá spoustu kontaktů. Například při práci s více senzory a LCD displejem 1602 kontakty jednoduše nestačí. Často rádioamatéři používají verze Uno nebo Nano, kde není mnoho kontaktů. Pak lidé přicházeli se speciálními šildami. Například I2C. Umožňuje připojení displeje pouze se 4 kontakty. To je dvakrát méně. Modul I2C se prodává samostatně, kde je třeba ho spájet a již připájený na LCD displeji 1602.

Připojení pomocí I2C modul

pro propojení LCD 1602 na Arduino Nano s I2C zabírá málo místa, jen 4 kontakt: zemi, jídlo a 2 výstupy pro přenos dat. Napájení a uzemnění jsou připojeny na 5V a GND na Arduinu. Zbývají dva kontakty: SCL a SDA jsou připojeny k analogovým kolíkům. Na obrázku je vidět příklad připojení lcd 1602 k arduino s modulem I2C:

Programový kód

Pokud chcete pracovat s displejem bez modulubylo nutné použít pouze jednu knihovnu, pak pracovat s modulem vyžaduje dvě knihovny. Jeden z nich je již v Arduino IDE - Wire. Další knihovna, LiquidCrystal I2C, musí být stažena samostatně a nainstalována. Chcete-li nainstalovat knihovnu Arduino, musí být obsah staženého archivu stažen do kořenového adresáře Knihovny. Příklad kódu pomocí I2C:


Problém s těmito displeji spočívá v tom, že cyrilské znaky a symboly nejsou podporovány. Například potřebujete znak pro stažení displeje tak, aby mohl zobrazit. V tomto případě vám na displeji umožníte vytvořit až 7 znaků. Představte si tabulku:

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

Pokud 0 - není nic, pokud 1 je malovaná oblast. Ve výše uvedeném příkladu můžete vidět vytvoření smajlíku s úsměvem. Například program Arduino vypadá takto:

#include
#include //Potřebujeme knihovnu
//Bitmapová maska ​​smile
byte smile
=
{
B00010
B00001
B11001
B00001
B11001
B00001
B00010
};
Liquid Crystal lcd (765 432); //(RS, E, DB4 DB5 DB6 DB7)

void setup () {
lcd.begin (16 2); //Nastavte velikost obrazovky

lcd.createChar (1 úsměv); //Vytvořte znak na čísle 1

lcd.setCursor (0 0); //Kurzor nastavíme na začátek řádku 1
lcd.print ("1"); //Odstraňte smajlík (symbol na čísle 1) - "1"
}

void loop () {
}

stejně jako tabulka. Jakmile je vytvořen, může být na displeji zobrazen jako proměnná. Nezapomeňte, že v paměti lze uložit pouze 7 znaků. V zásadě to stačí. Například pokud chcete zobrazit znak ve stupních.

& lt; script async = „//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">

& lt; script & gt; (adsbygoogle = window.adsbygoogle || []) stisknout ({});

Problémy, které zařízení nemusí fungovat

Existují případy, kdy je displej nefunguje. Například se zapne, ale nezobrazuje znaky. Nebo vůbec neje zapnut. Nejprve zkontrolujte, zda máte kontakty správně připojené. Pokud jste použili spojení lcd 1202 s Arduino bez I2C, je velmi snadné se zaplést do drátu, což může způsobit nesprávné zobrazení displeje. Také se ujistěte, že se zvýší kontrast displeje, protože i při minimálním kontrastu není vidět, zda je LCD 1602 zapnutý nebo ne. Pokud to nepomůže, možná problém spočívá v pájení kontaktů, to je při použití modulu I2C. Častým důvodem, proč nemusí displej fungovat, je, že adresa I2C je nastavena nesprávně. Skutečnost, že mnoho výrobců a mohou dát jinou adresu, je nutné opravit tento:


& lt; script type = "text /javascript" & gt;
var blockSettings = {blockId: "R-A-70350-45", renderTo: "yandex_rtb_R-A-70350-45", asynchronní :! 0};
pokud (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings.statId = 70350;
! Funkce (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkce () {Ya.Context.AdvManager.render (blockSettings)}), e = b.getElementsByTagName ("scénář") , d = b.createElement ("scénář"), d.type = "text /javascript", d.src = „//an.yandex .ru /systém /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to, this.document,!" yandexContextAsyncCallbacks „);
LiquidCrystal_I2C lcd (0x27162);

V závorkách můžete vidět dvě hodnoty, 0x27 a 162 (16 2 - je velikost displeje a 0x27 stejně adresa I2C). Namísto těchto hodnot můžete zkusit zadat hodnotu 0x37 nebo 0x3F. A dalším důvodem je vadný LCD 1602. Vzhledem k tomu, že téměř vše, co je vyrobeno v Číně Arduino, nemůžete být 100% jisti, že zakoupený výrobek není manželství.

Výhody a nevýhody LCD v roce 1602

Podívejme se na výhody a nevýhody LCD displej 1602. Pros
  • cen. Tento modul je možné zakoupit vše za přijatelnou cenu v čínských obchodech. Cena je200-300 rublů. Někdy se prodává i s modulem I2C.
  • Snadné připojení. Pravděpodobně nikdo nepřipojí LCD 1602 bez I2C. A s tímto modulem má spojení pouze 4 kontakty, z drátu nebude žádný "pavouk".
  • Programování. Díky připraveným knihovnám je snadné pracovat s tímto modulem, všechny funkce jsou již registrovány. A pokud potřebujete přidat svůj symbol, trvá to jen pár minut.
  • Nevýhody
  • Během používání tisíc rádioamatérů nebyly zjištěny žádné závažné nevýhody, existují však případy sňatku, protože se používají především čínské varianty zobrazení.
  • Tento článek popisuje spojení LCD 1602 s Arduinem a příklady programů pro práci s displejem. Je opravdu jedním z nejlepších ve své kategorii, a to nejen proto, že je pro své projekty vybrán tisíci radioamatérů!

    Související publikace