• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 1 Hlas(ů) - 2 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
HD44780 - informační displej na RPi
#1
Information 
   
Nedalo mi to a objednal jsem si jednu z nejlevnějších variant displeje HD44780 20x4 (4 řádky, 20 znaků na řádek) na ebay za necelých 100 kč. 

Rozměry:
   

Propojení s RPi je poměrně snadné stačilo postupovat podle návodu zde : http://www.sknorrell.de/blog/lcd-display...pberry-pi/

Zapojeno mám přesně takto (viz odkaz výše):
   

Mezi pin 15 a 16 jsem přidal potenciometry s hodnotou 10k Ohm pro regulaci jasu a kontrastu.
Obrázek je jen informativní a vyčtete z něj zapojení poťáků. Ostatní zapojení zůstává podle odkazu výše nebo můžete použít vlastní zapojení a poté změnit v LCDd.conf !!!
   


V Kodi mám aktivovanou podporu ovladače pro LCD a nainstalovaný doplněk LCDproc (součástí repozitáře Kodi).
         

Dále už jen zkopírovat soubory HD44780.so, LCD.xml a LCDd.conf do patřičných složek v RPi a po restartu již displej naběhl.
LCDd.conf     → /storage/.config
LCD.xml         → /storage/.kodi/userdata
hd44780.so  → /storage/downloads/

Moje verze ke stažení zde: https://uloz.to/!ML01r37rFQWL/hd44780-rar

Displej však neumí zobrazit českou diakritiku a misto toho tam házel otazníky (Po?as?). Po úpravě souboru LCDd.conf (zakomentování charsetu) bylo zobrazení správné, ale již bez použití diakritických znamének.

Drobné změny jsem prováděl i v LCD.xml , v němž se konfigurují zobrazované informace více zde: http://kodi.wiki/view/LCD.xml 
Použitelné informační popisky zde: http://kodi.wiki/view/InfoLabels

Pořídil jsem i krátké video, kde můžete vidět odezvu displeje:



Edit (6.3.2017):
Již nějakou dobu mám zprovozněno vypínání displeje, hodně mi v tomto pomohl jeden šikukla ze stránek astromik.org, především s výberem součástky a správným zapojením.
Nakonec jsem se rozhodl pro vypínání pouze podsvícení, protože při odpojování napájení docházelo k chybovosti a tím i k špatnému zobrazení znaků.
Potřebovat budete tranzistor 2N7000 nebo BS170 a odpor 10k ohm, cenově se vejdete do 10kč.

Schéma zapojení:
   

Další věc která je potřeba jsou dva skripty na odpojení a zapojení podsvitu:

Vypnutí (hd44780off.py)
Kód:
import sys
sys.path.append('/storage/.kodi/addons/virtual.rpi-tools/lib')
import RPi.GPIO as GPIO

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(40, GPIO.OUT)
GPIO.output(40, False)

Zapnutí (hd44780on.py)
Kód:
import sys
sys.path.append('/storage/.kodi/addons/virtual.rpi-tools/lib')
import RPi.GPIO as GPIO

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(40, GPIO.OUT)
GPIO.output(40, True)

Skripty jsou napsány na LibreELEC, v OpenELEC je jiná cesta ke GPIO knihovně ! Samozřejmě číslo pinu si upravte podle vašeho zapojení, jak je vidět já jsem použil pin č. 40.
Jestli máte správně zapojeno, displej se automaticky vypne při vypnutí RPi, pro automatické zapnutí po startu LibreELEC/OpenELEC mám zapsáno v autostart.sh takto :
Kód:
python /storage/skripty/hd44780on.py &

Automaticky ovládat lze pomocí doplňku Kodi Callback, kde zadáte cestu ke skriptu a pak vyberete akci, kdy se má spustit. Takto můžete například vypínat/zapínat při aktivaci a deaktivaci screensaveru.

Možnosti manuálního ovládání:
1. odesláním příkazu do Kodi pomocí PuTTY nebo mobilní aplikace
2. namapováním tlačítek na dálkovém ovladači : RunScript(cesta)
3. přidáním položky (podnabídky) do hlavního menu, popisováno zde: http://www.xbmc-kodi.cz/prispevek-pridan...vniho-menu
RPi 4B - LibreELEC
RPi Zero W - LibreELEC
 
Citovat
#2
Šikula  Thumbup
S905X 2/3 → CE 20 \ RPi4 → LE 19 \ HTPCLE 18 \ NAS Synology DS212J/DS220+ \ Vero 4K+ → OSMC 19
 
Citovat
#3
Taky jsem se na to díval a posilhaval, ale vadí mi že je to přes tolik drátů, někteří to dokázali rozchodit před I2C sběrnici to jsou snad jen 4 dráty.

Máš někde foto jak to vypadá u tebe v reálu, jak jsi to vyřešil konstrukčně ?

A pokud se vypne malina nesvítí displej?
 
Citovat
#4
Podsvícení se vypne jelikož je napájen z GPIO. Kabelový management zas takový problém není viz. můj příspěvek informace o videu je foto, jak to jde pořešit. I2C se já osobně peru na Arduinu a zatím neúspěšně, zatím jsem display rozchodil klasicky a čekám na další display, jestli nebyl vadná převodník. U raspi to bude podle mě obdobná pakárna. Malá inspirace je tady:
http://www.astromik.org/malymenu/menuraspi.htm
 
Citovat
#5
Jak píše cuore drátů není až tak moc (12 z displeje a 8 do RPi). Stojánek bude, jen nevím kdy, zatím to mám nasázené ve zkušební desce. RPi mám stále zapnuté a při nečinosti mi na displeji naskočí hodiny. Každopádně kdyby někdo věděl řešení na dálkově ovládané vypínání (odpojení konkrétního pinu) , tak určitě napište.
RPi 4B - LibreELEC
RPi Zero W - LibreELEC
 
Citovat
#6
Co je potřeba nakonfigurovat, aby při nečinnosti naskocily hodiny, ale předpokládám že hodiny budou jenom na jednom řádku.

A jde nastavit aby při nečinnosti display nesvítil, v okamžiku když stmavne obraz na TV že by zhasnul i display?
 
Citovat
#7
Zobrazení času je přes celý displej viz video, nastavuje se v LCD.xml - položka <screensaver> ....
Zautomatizovat vypínání displeje není špatný nápad, jen by jsi musel mezi napájení (pin 2) vložit vhodnou součástku, která by obvod rozpínala/spínala a k tomu skriptík co by hlídal spuštění screensaveru .
RPi 4B - LibreELEC
RPi Zero W - LibreELEC
 
Citovat
#8
Odchyťte screensaver aby to šlo použít ve scriptu a program napíšu. jedno řešení mě napadlo sledovat zátěž CPU a pokud bude vytížení, nebo třeba takt nějakou dobu pod určitou hodnotou, vypnout podsvícení.
 
Citovat
#9
to Petrvald: nedival jsem se do konce videa, takze jsem si tech hodin nevsiml az ted a vypada to cool. 
Mozna by se hodilo i ostatnim kdybys ses podelil, treba v prvnim prispevku s tvym nastavenim  HD44780.so, LCD.xml a LCDd.conf

tohle by mohlo byt taky zajimave resni pro nekoho
http://www.raspberrypirobot.com/20x4-lcd...ion-board/
+ video https://www.youtube.com/watch?v=VIG1gdzlg2k
 
Citovat
#10
Máš to doplněné, jinak z prvního odkazu to lze též vyčíst.....
RPi 4B - LibreELEC
RPi Zero W - LibreELEC
 
Citovat
#11
Super, díky!
 
Citovat
#12
Tak uz jsem taky hrdym majitelem HD44780 a mel bych jeden poznatek a to, ze zapojeni podle obrazku nefunguje Big Grin, musel jsem pouzit zapojeni podle popisku viz "Zapojeno mám přesně takto:"

Otazky na zkusenejsi:
1. Po vypnuti RPI pres system mi zustane sviti display vcetne napisu hello, mam nekde chybu nebo je to normalni. Pripadne da se to zmenit, aby se display vypnul take?
2. Pokud si hraju s nastavenim LCD.xml, je potrebny restart, existuje jina moznost jak nacist nove nastaveni?
3. V screensaver mode se zobrazuje cas, coz je cely duvod proc jsem to stavel Big Grin, neslo by, aby se obcas objevily informace o pocasi, treba teplota?
4. Nenarazili jste na nejakou krabicku s otvorem pro display?
 
Citovat
#13
Obrázek je jen informativní kvůli zapojení poťáků, ale samozřejmě že je i funkční, stačí změnit piny v LCDd.conf .
1. Nyní mám zapojeno i s tranzistorem, který vypíná podsvícení. Můžu tedy vypínat manuálně přes telefon nebo automaticky. (časem doplním do prvního příspěvku)
2. Jak píšeš nastavení se změní po restartu, neměl jsem potřebu řešit jinak.
3. Displej má čtyři řádky, takže můžeš nakonfigurovat až čtyři popisky. Projdi si Infolabels: odstavec 16. Weather labels
4. Mám v plánu spíše stojánek než krabičku, ale pouze domácí výroby, nic kloudného jsem nenašel :-(
RPi 4B - LibreELEC
RPi Zero W - LibreELEC
 
Citovat
#14
Ted chapu, ze obrazek byl jenom kvuli potakum a je mi jasne ze piny se daji nakonfigurovat, ale kdyz to ma clovek poprve zapojene a nejede tak nevi co udelal spatne jestli SW nebo HW stranku, ale chvile laborovani to vyresila.
1. Vypinat pres telefon jak to chapat? Kazdopadne na zapojeni s tranzistorem se tesim.
3. Na konfiguraci (Infolabels) jsem se dival, ale protoze to mam dal od televize, jednoradkovy font je necitelny, takze me zajimalo, jestli nejde nektere informace zobrazit na vice radku, stejne jako jsou hodiny v screensaver mode.
 
Citovat
#15
K bodu jedna: pokud jen Raspberry vypneš softwarově, display ti bohužel bude svítit. Jelikož máš LED+ na PIN2, který je trvale pod napětím. Jde vyřešit třeba zmiňovaným tranzistorem, spínaným přes GPIO. Ten nápis tam máš proto, že při vypnutí neukončí kodi regulérně script pro obsluhu displaye. Musel by si nahodit vstup E a poslat na display prázdné řádky, nebo resetovat display shozením VDD.
 
Citovat
#16
trochu zapasim s nastavenim hodin v screensaver mode, kdyz jsem to ozivoval, mel jsem tam chvili ty hodiny v tucnejsim fontu, ale ted at delam co delam s nasavenim v LCD.xml tak to vypada porad stejne jako ve videu v prvnim prispevku.

Displays the time in 2x1 sized characters
LCD.Time21
LCD.Time22

Displays the time in 2x2 sized characters
LCD.TimeWide21
LCD.TimeWide22

Displays the time in 4x3 sized characters
LCD.Time41
LCD.Time42
LCD.Time43
LCD.Time44
 
Citovat
#17
Nepodařilo se někomu již rozběhnout přes I2C? Nebo najít dobrý popis?
 
Citovat
#18
Návod na zapojení přes I2C : http://raspberry-at-home.com/lcd-for-ras...-openelec/
RPi 4B - LibreELEC
RPi Zero W - LibreELEC
 
Citovat
#19
Nevypadá to složitě, chtělo by to zkusit, mrknu kolik stojí ten I2C převodník a uvidím. Ale je blbé že je tam jenom jeden potak pro nastavení backlight, kdo ví jak bude vypadat kontrastem.

edit
Co jsem se dival na ebay tak vsude to maji s popisem pro dvouradkovy display 1602.
http://www.ebay.com/itm/1pcs-PCF8574-IIC...SwRLZT1GCd
 
Citovat
#20
btw nezkouseli jste si nekdo hrat s formatem hodin viz muj predchozi prispevek.

[Obrázek: FWmZT9m.jpg]

[Obrázek: uL477Tj.jpg]
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)