Lekce 5 - LCD displej
17.01.2013 18:05V dnešní lekci si k Arduinu připojíme LCD displej k zobrazení analogové hodnoty z minulého dílu. K tomu budeme potřebovat nějaký LCD displej s řadičem HD44780. Na trhu je jich spousta a pro naše pokusy jsem vybral typ WH2004A od firmy Winstar. Jedná se o displej se 20 znaky na 4 řádcích. Zapojení pinů těchto displejů se v celku moc neliší. Je však dobré se nejdříve podívat do datasheetu od výrobce. V mém případě je datasheet ke stažení zde.
Zapojení displeje
1 | Vss (GND) |
2 | Vdd (+5V) |
3 | Kontrast (0-5V) |
4 | RS |
5 | RW |
6 | E |
7-14 | DATA (v našem případě bude LCD pracovat v 4bit módu, takže zapojeny budou pouze D4-D7 |
15 | Podsvícení (5V +) |
16 | Podsvícení (GND) |
Takže zapojíme displej podle následujícího obrázku:
K řízení LCD dipleje pomocí Arduina máme k dispozici knihovnu, která je již integrována v Editor programu Arduina. Stačí pouze napsat direktivu #include
- LiquidCrystal objektLCD(RS, E, D4, D5, D6, D7); - vytvoří a inicializuje objekt displeje v tomto případě nazván "objektLCD" ( s tímto vytvořeným objektem se dále v programu pracuje) a nastaví kam jsou jednotlivé piny LCD připojeny k Arduinu. Tento objekt se deklaruje jako proměná, tedy na začátku programu, nikoliv do setup() a ani loop().
- objektLCD.begin(počet znaků, počet řádků); - zapne displej a nastaví počet řádků. V případě displeje s 16 znaky a 2 řádky to bude objectLCD.begin(16,2);. Tato funkce se obyčejně napíše do loop()
- objectLCD.setCursor(index řádku, index znaku); - posune kurzor na daný řádek a slouipec LCD dipleje. Pro první řádek a 3. znak to bude objectLCD.setCursor(0,2);
- objectLCD.print(text); - zobrazí na LCD v místě kurzoru daný text. Přiklad objectLCD.print("Ahoj svete");
- další funkce a jejich popis, případně použití, k LCD naleznete na arduino.cc
A nyní k našemu programu:
Samostatný úkol
———
ZpětDiskusní téma: Lekce 5 - LCD displej
Datum | 29.03.2014 |
---|---|
Vložil | pepa |
Titulek | zapojeni |
prosimvas nechcete mi sem hodit zapojeni?? nebo schema?? obrazek se mi zda nepřehledný, navic mam jiný display. Předem děkuji
———
Datum | 27.05.2015 |
---|---|
Vložil | gilhad |
Titulek | Re: zapojeni |
u jiného displaye budou piny osazeny jinak - ale obecně - připojíš napájení LCD na 5V/zem, připojíš RS, E a první 4 datové piny na nějaké piny Arduina a jejich čísla dáš do volání LiquidCrystal objektLCD(RS, E, D4, D5, D6, D7);
———
Datum | 19.03.2014 |
---|---|
Vložil | Jenda |
Titulek | LCD |
Ahoj, dá se sehnat LCD s řadičem i s "hřebínkem"? Koupil jsem Arduino start set a vypadá to že LCD odešlo do věčných lovišť. Kontrastně se zobrazí jen jeden řádek a pokusy o zobrazení textu jsou bez výsledné :o(
———
Datum | 18.06.2014 |
---|---|
Vložil | Crowley |
Titulek | Re: LCD |
Na aukru i jinde seženeš LCD modul bez hřebínku. Chvilka s pájkou a měl by fungovat.
TeĎ jsem si pořídíl Arduino UNO a hrátky s LCD mám v plánu.
———
Datum | 25.02.2014 |
---|---|
Vložil | Kempa |
Titulek | Dotaz |
Krása :-) přepojil jsem si to na UNO ale jedine co mi dela problem je že mám strašně přesvícene pixely že text a hodnotu vidim jen z boku :-) a žádnej trimr nadoladění nikde nemám.....na LCD
———
Datum | 24.07.2014 |
---|---|
Vložil | David |
Titulek | Re: Dotaz |
Ahoj, mam ulpně stejnej problem, nenašel někdo řešení, jak udělat aby byl display normálně čitelnej?
———
Datum | 30.07.2014 |
---|---|
Vložil | afteret |
Titulek | Re: Re: Dotaz |
Na displej lze připojit trimr na doladění kontrastu. Najdi si to v datasheetu nebo jinde, každej displej to má uplně stejně.
———
Datum | 04.03.2015 |
---|---|
Vložil | Ondra |
Titulek | Re: Re: Re: Dotaz |
Použil jsem potenciometr i trimr a stale mi to nejde doladit. muze byt chyba i nekde jinde..?
———
Datum | 09.07.2015 |
---|---|
Vložil | VaclavPolak |
Titulek | Re: Re: Re: Dotaz |
Je potřeba změnit delay a odpojit druhý pin a nápis půjde vidět.
———
Datum | 21.09.2015 |
---|---|
Vložil | Richard |
Titulek | Re: Re: Dotaz |
Mezi pin č.3 display a GND dej odpor 3,3k