Kletsende afscheidskaart met Speaker pHAT en Raspberry Pi

Een collega nam deze week afscheid van het team en na enig brainstormen kwamen we tot de conclusie dat het afscheidskado iets met 'een kaart met onze namen', 'gadget', 'irritant' en 'iets met lopen' moest zijn. Genoeg aanknopingspunten om een A4-kaart met ingebouwde ghettoblaster en "goedbedoelde adviezen van de oud-collega's" te knutselen.

Collega Klaas nam het kaart-deel voor z'n rekening, iedereen kwam met een opname van wat goedbedoelde adviezen en ik heb het technische deel opgepakt: een Raspberry Pi Zero en een Pimoroni Speaker pHAT.

Pimoroni Speaker pHAT en Raspberry Pi Zero in zwart A4 foamboard met airbrush wit en groen/blauw, met namen van teamleden in goudkleurige viltstift. Achterzijde heeft USB powerbank en standaard

Van de audioboodschappen heb ik een stuk of 50 verschillende .wav bestanden gemaakt en die met scp naar de Raspberry Pi geupload. Het resultaat was een directory met allemaal verschillende .wav bestanden.

De Speaker pHAT komt met een handige one-line installer van Pimoroni, die ervoor zorgt dat de benodigde software wordt geïnstalleerd en dat de SPI-aansturing, waarmee de Speaker pHAT werkt, wordt ingesteld:

curl -sS https://get.pimoroni.com/speakerphat | bash

De aangemaakte Pimoroni directory kun je gelijk weggooien: het enige bruikbare is een grappig audiobestand test.wav. Een .wav afspelen gaat met het geïnstalleerde programma aplay. Om een willekeurige .wav uit een directory af te spelen combineer ik de linux commando's ls en shuf:

aplay -N "$(ls /home/pi/wavs/*.wav | shuf -n1)"

Ik laat het commando iedere minuut uitvoeren door een regel in de crontab.

Pimoroni Speaker pHAT op Raspberry Pi Zero

De Speaker pHAT maakt een wat ielig geluid. Zodra je het geheel in foamboard monteert echter, verandert dat als bij klokslag: het geluid wordt voller en luider. Achteraf gezien had ik het kleine luidsprekertje niet alleen vast moeten schroeven, maar ook met iets van kit moeten vastlijmen; dan was het geluid nog indrukwekkender geweest.