Welkom op Codingkids

Programmeren voor kinderen

Raspberry Pi met Capacitive touch sensor

Je hebt nodig: Een Capacitive Touch Sensor van Adafruit, Krokodillenbek kabeltjes en wat fruit of andere materialen die geleiden.

capacitive-touch-sensor-adafruit.jpg

capacitive touch sensor adafruit

kabeltjes

Krokodillenbek connector kabels

Deze Capacitive touch sensor van Adafruit kun je eenvoudig op je GPIO pinnen drukken. Je maakt zo van je Raspberry Pi een soort Makey Makey maar dan met wel 12 touch sensors. Lees op de Adafruit website meer over deze Capacitive Touch HAT voor Raspberry Pi. In Nederland kun je hem bijvoorbeeld hier bestellen. Hij kost ongeveer 17 euro. Je moet wel zelf even de socket-header eraan solderen.

Hieronder een filmpje over de Capacitive touch sensor van Adafruit



Voordat je kan starten met het aansluiten van je appels en peren moet je eerst wat voorbereidingen doen. Je moet eerst I2C aanzetten op je Raspberry Pi, dit is nodig voor de datacommunicatie tussen je Pi en de Sensor Hat. Je kan dit aanzetten door je Terminal te openen en deze regel te typen of gebruik kopieren en plakken:

sudo bash -c "echo 'dtparam=i2c_arm=on' >> /boot/config.txt"

Daarna moet de software voor de Python MPR121 library geinstalleerd worden. Dit doe je ook in de Terminal met de volgende regels:

sudo apt-get update sudo apt-get install build-essential python-dev python-smbus python-pip git

cd ~ git clone https://github.com/adafruit/Adafruit_Python_MPR121.git

cd Adafruit_Python_MPR121 sudo python setup.py install

De installatie is nu klaar!



Voorbeeld code

Je bent nu klaar om alles aan te sluiten. Druk de Sensor op je Pi, sluit de krokodillen kabels aan en zoek wat fruit om eraan vast te maken. In de Terminal open je de map Adafruit_Python_MPR121, en daarna open je het bestand playtest.py:

cd /home/pi/Adafruit_Python_MPR121/examples sudo python playtest.py

Hoor je geen geluid? Gebruik je externe geluidsboxen aangesloten op de stereo uitgang? Of gebruik je HDMI? Lees deze handleiding over geluidsinstellingen: Geluid

Geluiden aanpassen in de Python code

Wil je andere geluiden dan kun je het voorbeeld bestand playtest.pyaanpassen. Het is wel handig om de aanpassingen in een kopie van het bestand te maken.

sudo cp /home/pi/Adafruit_Python_MPR121/examples/playtest.py /home/pi/Adafruit_Python_MPR121/examples/mijntest.py sudo nano /home/pi/Adafruit_Python_MPR121/examples/mijntest.py

Scroll naarbeneden in het bestand en kijk naar het gedeelte SOUND_MAPPING

SOUND_MAPPING = {
  0: '/opt/sonic-pi/etc/samples/drum_bass_soft.wav',
  1: '/opt/sonic-pi/etc/samples/drum_bass_hard.wav',
  2: '/opt/sonic-pi/etc/samples/drum_snare_soft.wav',
  3: '/opt/sonic-pi/etc/samples/drum_snare_hard.wav',
  4: '/opt/sonic-pi/etc/samples/drum_tom_lo_soft.wav',
  5: '/opt/sonic-pi/etc/samples/drum_tom_mid_hard.wav',
  6: '/opt/sonic-pi/etc/samples/drum_tom_hi_hard.wav',
  7: '/opt/sonic-pi/etc/samples/drum_heavy_kick.wav',
  8: '/opt/sonic-pi/etc/samples/drum_cymbal_open.wav',
  9: '/opt/sonic-pi/etc/samples/drum_cymbal_hard.wav',
  10: '/opt/sonic-pi/etc/samples/drum_cymbal_soft.wav',
  11: '/opt/sonic-pi/etc/samples/perc_bell.wav',
}

De nummers 0 t/m 11 zie je ook terug op de Capacitive Touch Sensor. Die .wav bestanden worden dus afgespeeld als je de Sensor aanraakt. Sluit het bestand weer af met Ctrl x.

Wil je andere geluiden? Ga naar de map waar geluidvoorbeelden staan:

cd /opt/sonic-pi/etc/samples ls



Wil je een wav geluidsbestand afspelen? Dat doe je met aplay, kijk hieronder voor een voorbeeld:

sudo aplay drum_bass_hard.wav

Test nog maar wat meer geluidsbestanden en en schrijf ergens op welke je leuk vind. Daarna ga je weer terug naar mijntest.py om de aanpassingen onder SOUND_MAPPING te maken. Sla het op met Ctrl X en daarna y.

sudo nano /home/pi/Adafruit_Python_MPR121/examples/mijntest.py

Veel plezier verder met de Capacitive Touch Sensor!

Tip: in plaats van fruit aan te sluiten kun je natuurijk ook een drumstel van karton maken met koperfolie op de trommels.

Bananen drum!

Voorbeeld



Share on Facebook Share on Google+ Share on LinkedIn Share on Twitter





Ondersteun deze website!