GPIO Zero is een Python-bibliotheek met bruikbare bits code die het eenvoudiger maken om fysieke hardware met een Raspberry Pi aan te sturen: leds knipperen, zoemers zoemen, en wielen draaien. Het is ontworpen om de Pi toegankelijker te maken, in het bijzonder voor gebruik in scholen.

Met de update naar versie 1.5 is het stukken eenvoudiger geworden om een GPIO Zero-held te worden.

Dat is geweldig nieuws als je aan projecten in physical computing wilt beginnen met je Pi, zoals robots of domotica. Heel wat kits die vroeger een boel programmeren vereisten, zijn nu immers standaard ondersteund. Dat geldt zo voor de Xmas Tree met knipperende leds en de Jam HAT — ModMyPi’s verkeerslicht met een piëzozoemer en knoppen in de vorm van een HAT.

Probeer maar eens de aangepaste versie van Claire Pollards toonzoemer. GPIO Zero-maker Ben Nuttall zegt dat de nieuwe update de klasse TonalBuzzer bevat, evenals een Python-dictionary om je te helpen om geschikte midi-noten en -frequenties te kiezen.

Apparaten aankoppelen

Er is een mooie manier bijgekomen om apparaten te verbinden met callback-functies. “In GPIO Zero v1.5 hebben we het nog eenvoudiger gemaakt om apparaten te verbinden”, zegt Ben. Dat kan nu op de volgende eenvoudige manier:

led.source = button

Naast de standaard pin factories (RPi.GPIO, pigpio, RPIO en native), zullen gevorderde gebruikers zeker graag horen dat GPIO Zero aangepaste pin factories ondersteunt.

Zo heeft Google zijn eigen pin factory voor de AIY Vision Kit geschreven.

Dat betekent dat je de pigpio-bibliotheek zou kunnen gebruiken om op afstand individuele pennen en sensoren aan te sturen. Als je in het verleden geworsteld hebt met de klasse DistanceSensor, werk GPIO Zero dan bij naar versie 1.5 en gebruik de pin factory van pigpio voor accuratere uitlezingen.

GPIO Zero naar de nieuwste versie bijwerken, doe je met de volgende opdrachten in de Terminal:

sudo apt update
sudo apt install python3-gpiozero python-gpiozero

Een volledige lijst van wat er nieuw is in GPIO Zero 1.5, vind je in de changelog.