Touchdisplays voor de Raspberry Pi
Compacte touchscreens voor de Raspberry Pi
Een scherm met touchbediening is bij veel eigen knutselprojecten de kers op de taart. Uit onze test is echter gebleken dat er flinke verschillen zijn wat betreft resolutie, beeldkwaliteit, aansturing, stevigheid, montage en prijs.
De Raspberry Pi nodigt uit tot experimenteren. Bij veel projecten zou je er graag een scherm bij willen hebben, waar je niet alleen gegevens en graphics op ziet, maar dat je ook kunt aansturen met touchgebaren. We hebben zes displays getest met beelddiagonalen van 2,8 tot 10,1 inch en prijzen van 30 tot meer dan 300 euro.
Er zijn allerlei verschillende verbindingen nodig om een scherm aan een Pi te koppelen: een interface voor de beeldweergave (HDMI, DSI, SPI), een aansluiting voor de touchsensors (USB, I2C en SPI), een kabel voor de stroomverzorging en tenslotte de mechanische bevestiging. Op twee van de geteste modellen schroef je de Raspberry Pi aan de achterkant vast. Twee plaats je bovenop de Pi en twee verbind je via een kabel, net als een monitor bij je pc.
De vier schermen met HDMI- en sommige ook VGA-aansluiting kun je niet alleen op een Pi aansluiten, maar ook op andere doe-het-zelf-apparaatjes of een Windows- of Linux-pc.
Grote verschillen zijn er wat het touchdeel betreft: drie zijn resistief, oftewel drukgevoelig, en kunnen maar één aanraking registreren. De drie anderen hebben capacitieve multitouch-sensors zoals je die kent van smartphones.
De capacitieve schermen zijn handiger in het gebruik en bij de geteste modellen wordt de beeldkwaliteit minder beïnvloed dan bij veel resistieve sensors. Die hebben dan weer het voordeel dat ze niet alleen op droge vingers reageren, maar dat ze ook werken als je natte handen hebt of handschoenen draagt. Bovendien werken ze met elk gewenst voorwerp. Je kunt ze gebruiken met een plastic pennetje, dat dan ook geen vette vegen op het scherm achterlaat.
Er zijn vergelijkbare modellen verkrijgbaar zonder touchsensors, iets waar je goed op moet letten wanneer je ze bestelt. De fabrikant Waveshare, die zich heeft gespecialiseerd in knutselcomponenten, verscheept zijn producten via Amazon Marketplace vanuit China. De betreffende bestelpagina is nogal verwarrend, net als bij de andere displays moet je soms even goed zoeken voordat je de documentatie kunt vinden.
Montage
Een van de schermen in onze test, de Toguard WR952, kun je neerzetten als een kleine pc-monitor. Je kunt de standhoek van het scherm aanpassen en Toguard
levert er een plaksteun bij waarmee je hem bijvoorbeeld op het dashboard van je auto kunt bevestigen. Of dat stevig genoeg is om te blijven zitten als je over een hobbelpad rijdt is een beetje de vraag.
Alle andere schermen moeten bevestigd worden. Het minuscule schermpje van Watterott en het 3,2"-scherm van Waveshare steek je direct op de pin-gridarray van de Pi. Daar halen die schermen ook hun stroom vandaan. Je hebt er dus geen aparte voeding voor nodig, wel een wat krachtigere voeding voor de Raspberry Pi met scherm. Bovendien hoef je geen aparte interface te koppelen voor de touchverbinding. De 40 GPIO-pinnen kun je dan niet meer gebruiken voor andere knutselprojecten. Het kleine 2,8-inch display past in veel plastic behuizingen.
Het officiële 7-inch scherm voor de Raspberry Pi en het 10,1-inch scherm van Waveshare hebben schroefgaten waar je de Pi aan kunt vastschroeven. Voor het Pi-scherm zijn er ook aparte behuizingen verkrijgbaar van externe fabrikanten. Waveshare levert plastic onderdelen mee waarmee je het scherm inclusief Pi als een fotolijstje kunt neerzetten. Dat vereist wel wat puzzelwerk en geduld.
Het display van Faytech, dat eigenlijk voor de industriële markt wordt vervaardigd, is bedoeld om in een schakelpaneel of een andere behuizing in te bouwen. Aan de voorzijde is hij IP65 waterdicht en voorzien van een siliconenafdichting, zodat hij bij het inbouwen in een rechte omlijsting strak aansluit. Voor de Pi moet je dan wel een apart plekje bedenken
Aansluitingen
De schermen met HDMI-ingangen sluit je net als een pc-scherm op de Pi aan. Schermen met 1280 × 800 pixels werken direct. Voor een scherm met 480 × 320 pixels moet je in het bestand /boot/config.txt een regel toevoegen met de aansturingsparameters (zie het kader op deze pagina).
De schermen van 2,8 en 7 inch gebruiken een aparte interface. Het 7"-scherm is het 'officiële' touchscreen van de Raspberry Pi Foundation. Je schroeft de Pi op de achterzijde vast en met de meegeleverde foliekabel wordt via een MIPI Display Serial Interface (DSI) verbinding met het scherm gemaakt. De DSI is een interface die voor smartphonechips zoals de BCM2387 is ontwikkeld en ook in de Raspberry Pi wordt gebruikt. De stroom komt uit de Pi via twee eenaderige kabeltjes die je op de GPIO-pinnen aansluit. De voeding van de Pi moet dan wel ten minste 2,5 ampère kunnen leveren.
In elke recente versie van Raspbian zitten drivers voor het touchscreen. Bij sommige oudere Pi's heb je twee extra kabels nodig voor de I2C-interface van de touchsensor. Bij recentere Pi-modellen loopt dat mee via de foliekabel. Het 7"-scherm is in de praktijk alleen geschikt voor Raspberry Pi's.
Dat laatste geldt ook voor het 2,8-inchscherm van Watterott. Je steekt het direct op de poort van de Pi en zowel de touchgegevens als beelddata worden via de Serial Peripheral Interface (SPI) gestuurd. SPI is veel trager dan HDMI, waardoor de resolutie en refreshrate beperkt blijven. Bovendien vereist het enkele redelijk ingewikkelde instellingen in het besturingssysteem van de Pi. Het werkt nog het beste met het officiële Raspbian. Watterott biedt een voorgeconfigureerde Raspbian-image voor een microSD-kaart, waarmee je de Pi met scherm kunt starten.
Touch-drivers
Bij het 3,5"-scherm van Waveshare lopen de beeldsignalen via een speciale haakse HDMI-stekker. De stroom en touchgegevens lopen via SPI van en naar de GPIOpinnen van de Pi. Ook daarbij moet je de drivers voor de resistieve sensor handmatig in Raspbian installeren. De handleidingen daarvoor staan op de Wiki-pagina's van de betreffende schermen, zie de link onderaan dit artikel. De resistieve touch-
screens moeten vaak ook eerst worden gekalibreerd voordat het lukt om de kleine pictogrammen goed aan te raken. Hiervoor moet je in Raspbian een tekstbestand bewerken, wat nogal een gedoe is.
De touchsensors van de andere drie schermen sturen hun signalen via usb door. Daar is een aparte kabel voor nodig, die dan een van de weinige usb-poorten op de Pi bezet. Zowel de capacitieve sensors van de 10,1"-schermen van Faytech en Waveshare als de resistieve sensors van de Toguard WR952 worden automatisch herkend door een actuele Raspbian, wat erg prettig is. We hebben die schermen bij de test niet hoeven kalibreren. Onder Windows 10 werken alleen de capacitieve sensors net zo makkelijk. Voor de resistieve eGalax-sensor van het Toguard-schermpje moet je in Windows 10 eerst nog een driver van producent EETI installeren. Dat Raspbian touchinvoer herkent, is maar de helft van het verhaal. Er is namelijk nauwelijks software die geschikt is voor touchbediening. Juist voor de kleinste displays zijn toepassingen nodig die grote knoppen met leesbare tekst tonen, anders kun je niet zien waar je mee bezig bent. Daar is wel aparte software voor, zoals we die eerder besproken hebben in c't 12/2016 [1]. Daar vind je ook informatie over hoe je het moet configureren en voorbeelden over het draaien van het scherm.
Conclusie
Als je een bouwproject met een bijpassend scherm wilt opleuken, moet je goed voor ogen hebben met welk doel je het wilt gebruiken. De kleine schermen zijn niet voor elke toepassing geschikt, maar juist voor specifieke doelen. Het officiële 7"-scherm werkt gewoon probleemloos. Dankzij de resolutie van 800 × 480 pixels toont het voldoende informatie om indien nodig ook via de console te kunnen werken.
De hele kleine schermen van maar 2,8 of 3,5 inch zijn leuk zolang er software op draait die daar geschikt voor is. De grote 10,1-inch schermen kosten relatief veel en zijn alleen interessant voor specifieke projecten. Het industriële display van Faytech valt een beetje uit de toon vanwege zijn hoge prijs. Het is dan ook met name bedoeld voor gebruiksomstandigheden waarin het tegen een stootje moet kunnen. (ddu)