Připojení sekundárního displeje uLCD 28 PTU k Raspberry Pi

Displej uLCD 28 PTU je dotykový displej australské firmy 4D Systems Pty Ltd. Nejedná se primárně o zobrazovací displej pro Raspberry Pi, ale o programovatelné zařízení, což znamená, že do zařízení je nejprve potřeba nahrát program, aby se na displeji něco zobrazilo. Po naprogramování může modul sloužit v různých úlohách, kde hlavním prvkem bude zobrazovací jednotka. Daný displej je možné zakoupit na našem eshopu.

uLCD_28PTU-display

Zařízení obsahuje další periférie:

  • PICASO procesor
  • čtečku micro SD karet
  • zvukový výstup + zesilovač + reproduktor
  • sériovou linku
  • GPIO
  • konektor pro Lithiovou baterii

Sériovou linku je možné použít ke komunikaci. Integrovaný zesilovače s reproduktorem lze použít k přehrávání zvuků a jako úložiště dat slouží SD karta.

K vývoji aplikací slouží vývojové prostředí 4D Systems' Workshop 4 IDE. V tomto článku popíši, jak tento displej zprovoznit s Raspberry Pi, konkrétně jak do něj nahrát program, jak ho propojit s R-Pi a jak s displejem komunikovat.

Obsah balení uLCD_28PTU_PI

Displej spolu s dalším příslušenstvím lze pořídit v sadě označené uLCD_28PTU_PI. Jedná se o balení určené přímo pro Raspberry Pi.

Sada obsahuje:

uLCD_28PTU_PI-sada
Sada uLCD_28PTU_PI obsahuje vše pro propojení modulu s R-Pi a také pro propojení s počítačem, pomocí kterého se displej programuje. K propojení s PC slouží USB-UART převodník (s čipem FTDI) a dále budete ještě potřebovat USB kabel s konektorem mini USB. Pro propojení s R-Pi slouží redukce.

Demo aplikace

Modul má už z výroby nahrané demo aplikace:

  • hudební a video přehrávač
  • prohlížeč obrázků
  • aplikace pro ovládaní vstupů/výstupů

Je tak možné vyzkoušet pokročilé možnosti zařízení. Pro jakékoli jiné použití je však potřeba do modulu nahrát příslušný program.

uLCD_28PTU-demo

Příprava prostředí pro vývoj

Software pro desktop

Pro programování displeje je potřeba OS Windows, protože musíme nainstalovat vývojové prostředí 4D Systems' Workshop 4 IDE. Dále je potřeba připojit USB-UART převodník, ke kterému OS automaticky nainstaluje ovladač. Přes sériovou linku se pak do modulu nahrává program.

Software na Raspberry Pi

Pro stažení a kompilaci dále zmíněných vzorových programů budou potřeba programy, které nainstalujete příkazem: sudo apt-get install git gcc g++ make

Uvolnění sériového portu

Raspberry Pi má pouze jeden hardwarový sériový port, který je ale používán jako sériová konzole. Je proto potřeba ho uvolnit.

Nejprve zazálohujte soubor /boot/cmdline.txt a pak ho otevřete v textovém editoru. Smažte následující část konfigurace:

console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 

V souboru /etc/inittab zakomentujte řádek

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Displej pak pomocí redukce a kabelu jde jednoduše propojit s R-PI.
uLCD_28PTU+raspberry_Pi
Ale dříve než se začne modul používat, je potřeba do něj nahrát příslušný program.

Serial Library

Nejjednodušší způsob, jak použít displej, je nahrát do modulu program, který komunikuje přes sériovou linku a vykonává zaslané příkazy. Modul se následně připojí k počítači Raspberry Pi, který do modulu posílá příkazy.

Serial Environment program

Připojte modul k PC a v IDE myší postupně volte tyto položky:

g378

  • volba typu modulu: uLCD-28 PTU -> Next

g394

  • Serial

g410

  • Menu->Tools
  • Tlačítko SPE Load

g426 

Po těchto úkonech IDE nahraje do modulu program uLCD-28PTU PmmC/Firmware. Nahrání probíhá po sériové lince po restartu zařízení.
Rychlost komunikace je přednastavena na 9600 baudů.

Raspberry Pi Serial Library

Způsob komunikace s program Serial Environment je popsán v dokumentaci. Výrobce však poskytuje již předpřipravené knihovny s API pro jednodušší vývoj vlastních programů. Jedná se o knihovnu určenou pro GNU/Linux čili funkční i na jiných zařízeních.

Stažení zdrojových kódů knihovny Picaso-Serial-Linux-Library provedete příkazem

git clone https://github.com/4dsystems/Picaso-Serial-Linux-Library.git

Následujícími příkazy se přesunete do adresáře se zdrojovými kódy, zkompilujete zdrojové kódy, knihovnu nainstalujete a připravíte pro použití

cd Picaso-Serial-Linux-Library/
make
make install
ldconfig -v

Přesuňte se do podadresáře BigDemo, který obsahuje ukázkový program pro práci s modulem a jeho displejem. Program zkompilujete příkazem:

gcc -o touch_test touch_test.c -lpicasoSerial

Následující příkaz nastaví souboru parametr spustitelnosti:

chmod +x touch_test

Nyní zařízení uLCD-28PTU s nahraným programem připojte k Raspberry Pi a můžete spustit vzorový program na R-Pi. Vyzkoušejte si vzorovou aplikaci na dotykovém displeji.

./touch_test

uLCD_28PTU_PI-serial

Python picaso LCD

Neoficiální leč velice zajímavou knihovnou je knihovna pro 4D Systems PICASO Display Library v jazyce Python. V Pythonu lze velice rychle programovat, není nutná kompilace programu a nebo je možné zadávat příkazy přímo do příkazové řádky interpretru jazyka Python. Jednoduše tak lze vyzkoušet jednotlivé příkazy jeden po druhém.

Pro správnou funkčnost a pro práci se sériovým portem bude potřeba Python knihovna. Tu nainstalujete příkazem:

sudo apt-get install python-serial

Stažaní zdrojový kódu knihovny Python picaso LCD provede příkazem

git clone https://github.com/cfaessler/python-picaso-lcd.git

Příkazem cd python-picaso-lcd se přesunete do adresáře se soubory knihovny.

Soubor examples/test.py je vzorový soubor pro vyzkoušení. Nejdříve je ovšem potře upravit jeho konfiguraci. Je potřeba upravit cestu k sériovému portu. Upravte řádek port='/dev/ttyUSB0' na port='/dev/ttyAMA0' Pak můžete příkazem python -um examples.test spustit vzorový program napsaný v jazyce Python, který používá pythonní knihovnu.

Dokumentace ke knihovně python-picaso-lcd je dostupná na internetu. Jednotlivé funkce můžete zadávat přímo po spuštění interpretru jazyka Python. Například můžete zadat postupně tyto příkazy a sledovat, jak se po jejich zadání mění informace na displeji.

import picaso_lcd
disp = picaso_lcd.Display('/dev/ttyAMA0')

disp.cls()
disp.text.put_string('Welcome\nThis is a nice library.')

disp.text.put_character('!')

ViSi-Genie

ViSi-Genie knihovna ulehčuje psaní programů pro komunikaci s modulem, na kterém běží ViSi-Genie program.

Raspberry Pi ViSi-Genie library

Stažení zdrojových kódu knihovny ViSi-Genie provedete příkazem:

git clone https://github.com/4dsystems/ViSi-Genie-RaspPi-Library.git

Následujícími příkazy se přesunete do adresáře se zdrojovými kódy, které následně zkompilujete a nainstalujete.

cd ViSi-Genie-RaspPi-Library/
make
make install

Dále je potřeba pro zkompilování demo aplikací knihovna WiringPi. Knihovnu stáhnete příkazem:

git clone git://git.drogon.net/wiringPi

Po přesunutí do adresáře, zkompilovaní a začlenění knihovny do systému je možno ji začít používat.

cd wiringPi
./build
ldconfig -v

Demo aplikace ViSi-Genie

Výrobce připravil šest ViSi-Genie demo aplikací a k nim příslušné programy pro Raspberry PI:

Jejich zprovoznění je totožné, proto popíši zprovoznění pouze jedné a to dema Kitchen Timer. Kitchen Timer je aplikace, která z displeje vytvoří nastavitelný budík použitelný například při vaření. Displej slouží jako user interface, logika aplikace běží na R-Pi.

Celý projekt se zdrojovými kódy a dalšími daty stáhnete příkazem:

git clone https://github.com/4dsystems/ViSi-Genie-RaspPi-Demo-Kitchen/

ZIP archiv obsahuje projekt ViSi-Genie aplikace. Zbylé soubory jsou určené pro R-Pi.

Na počítači s Windows, kde je nainstalován 4D Systems' Workshop 4 IDE, rozbalte soubor kitchenPi.zip. V IDE vytvořte nový projekt ViSi-Genie a otevřete nakopírovaný projekt. Ještě je potřeba připojit SD kartu, na tu se budou kopírovat soubory. Po kliknutí na tlačítko build se program zkompiluje a nahraje do displeje a na kartu se nahrají potřebné soubory (zvuky).

Na R-Pi se přesuňte do adresáře s programem a zkompilujte ho.

cd ViSi-Genie-RaspPi-Demo-Kitchen
make

Pokud máte v modulu displeje nahrán příslušný program a ten je připojený k R-Pi, spusťte aplikaci na R-Pi příkazem:

./kitchenPi

Závěr

Velkou možnost využití vidím i při použití s ještě slabšími zařízení než je R-Pi, například se zařízeními kde jsou 8-bit mikročipy. Ostatně knihovny například pro Arduino existují : Picaso-Serial-Arduino-Library ViSi-Genie-Arduino-Library

Programovatelný modul s displejem uLCD 28 PTU je velmi schopné zařízení. Kdo se s nim naučí pracovat může lehce vyvíjet různé zajímavé aplikace.

Autorem tohoto článku je Bc. Josef Jebavý, web www.xeres.cz, kterému děkuji za jeho přípravu.

Příspěvek byl publikován v rubrice Články a jeho autorem je Michal Pravda. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Connect with Facebook

Ochrana proti spamu * Time limit is exhausted. Please reload the CAPTCHA.