Pi met touch
Touchscreens en vingervriendelijke bediening voor de Raspberry Pi
De Raspberry Pi heeft zijn plekje als universeel bedieningsapparaat allang veroverd. Zet je er een klein touchscreen op, dan kun je hem zelfs met je vinger bedienen. Met een beetje knutselen heb je er ook een passende interface bij.
Er zijn touchscreenmodules voor de Raspberry Pi in verschillende groottes. Het makkelijkste is het als je ze kunt aansluiten op de DSI-aansluiting (zie afbeelding rechts) of via hdmi en usb. Moet de module ongeveer dezelfde afmetingen als de Pi hebben en direct bovenop de Pi te prikken zijn, dan blijft de keuze beperkt tot displays met een beelddiagonaal van maximaal 3,5 inch en die de Serial Peripheral Interface (SPI) op de GPIO-pinnen van de Pi gebruiken [1].
Zulke modules hebben meestal displays met resoluties van 320 × 240 pixels bij een kleurdiepte van 16 bit (65.536 kleuren), waar een resistief touchscreen opgeplakt is. Ze kosten in de online-shops tussen de 10 en 50 euro, hoewel ze qua technische gegevens op het eerste gezicht nauwelijks van elkaar verschillen. Daarom hebben we de voor- en nadelen van enkele van die touchscreenmodules eens bekeken. Zo hebben de connectors van bepaalde displays – bijvoorbeeld die van de firma Waveshare – zuiver mechanisch veel meer contacten dan nodig is, zodat je niet meer goed bij de andere GPIO-pinnen kunt komen die je wellicht voor bepaalde projecten wilt gebruiken.
Op modules met een resolutie van 320 × 240 pixels worden vaak controllers als de ILI9340 of de ILI9341 gebruikt, die al beschikken over de benodigde SPIaansluiting. De adapterprints op zulke modules dienen primair voor de mechanische omzetting van de verbinding. De controllers van displays met een 480 × 320-resolutie (zoals de ILI9486) hebben daarentegen meestal een parallelle 16-bit interface. Deze hebben een extra schuifregister op de adapterprint van de module nodig om compatibel te zijn met de SPI van de Pi.
Display-snelheid
De specsheet van de ILI9341 geeft voor de 'serial clock cycle' 100 ns aan, wat overeenkomt met een SPI-klok van maximaal 10 MHz respectievelijk 10 Mbit/s. Bij 16 bit per pixel en 320 × 240 pixels zijn je 1.228.800 bits per frame nodig, wat neerkomt op een maximale framerate van ruim