Kravox Draadloze Beweging & Aanraking Sensor Kit – Precisie Instrumentatie voor Arduino
Onderdelen en benodigdheden
| Arduino Nano R3 (2 stuks) - ~€3/stuk (2018), kies aanbod met kabel |
| USB-A naar Mini-USB kabel (2 stuks) - voor voeding (powerbank) en computer. Mini-USB = USB-C. |
| GY-521 MPU-6050 3-as Gyroscoop + Versnellingsmeter (1 stuks) - ~€1/stuk (2018) |
| MPR121 Aanrakingssensor Board (2 stuks) - ~€2/stuk (2018), goedkope kopieën uit China |
| nRF24L01+ radio transceiver (2 stuks) - ~€1/stuk (2018), koop 5+ (1 op de 10 kan defect zijn) |
| Condensator 10 µF (2 stuks) |
| Condensator 100 nF (2 stuks) |
| 40-pin female pin header (5 stuks) - ~€1/10 stuks (2018) |
| Male Header 40 Position 1 Row (0.1") (2 stuks) |
| Kabel, bijv. lintkabel in meerdere kleuren (2 stuks) - voor 24 aanrakingselektroden: ~3,5m + ~3m voor rest = min. 7-10m |
| LED (blauw, 5mm standaard) (3 stuks) - weerstand 150 Ohm voor stroombegrenzing |
| 10k Potentiometer (5 stuks) |
| 150 Ohm weerstand (1/4 Watt) (3 stuks) - voor LED's |
| Weerstand 220 ohm (3 stuks, optioneel) - als powerbank uitschakelt door laag verbruik |
| Perfboard (min. 50 gaten) (1 stuks) - controller: min. 9×50, receiver: 31×8, plus kleine bordjes voor headers |
| Kleine doos / voedingsbakje (1 stuks) - voor master-device, niet metalen (beïnvloedt radio) |
| Powerbank (1 stuks) - kleine USB-powerbank, deel van handcontroller |
| Oude dozen van huishoudartikelen (1 stuks) - creatief deel: bijv. clingfolie-dozen, waterpijpen, etc. |
| Soldeer (1 stuks) |
| Koperen tape (1 stuks) - voor aanrakingselektroden, ~4m (1cm breed) bij clingfolie-doos |
| Lijm (1 stuks) |
| Superlijm (1 stuks, optioneel) - voor samenlijmen female headers |
| Rubberen banden (1 stuks) |
Benodigde tools en machines
- Soldeerbout (soldeerstation is prettiger, maar simpele bout volstaat)
- Bormachine + M7 boor
- Stanleymes
- Kleine zaag
- Stalen liniaal
- Kabelstripper
- Kleine tang
- Lijmpistool
- Klem (handig bij lijmen dozen)
Apps en online diensten
- Arduino IDE
- Pure Data Vanilla
Over dit project
Een nieuw soort instrument
Kravox is ontstaan als onderdeel van een onderzoeksproject aan de Universiteit van Lund (Zweden) met als doel digitale muziekinstrument-controllers het gevoel van conventionele, mechanische instrumenten te geven.
Nu wordt Kravox voor iedereen toegankelijk gemaakt en dient het als een muzikaal experimentatieplatform. Deze gedetailleerde tutorial is gemaakt om zoveel mogelijk mensen in staat te stellen dit spannende nieuwe instrument te gebruiken!
Hoe speel je Kravox?
Kravox spelen is vrij eenvoudig. Stel je voor dat je speelt met een gewoon object zoals een bezem: de manier waarop je het aanraakt en door de ruimte beweegt, bepaalt hoe geluid gegenereerd wordt. Zie en hoor hoe je Kravox speelt in de video.

Wat is Kravox?

Kravox is een cross-platform compatibel, open source digitaal muziekinstrument dat uit drie componenten bestaat: controller(s), ontvanger en software.
Controller(s)
Maximaal drie draadloze controllers kunnen verbonden worden. Elke controller verwerkt oriëntatie- en versnellingsdata van een digitale MPU-6050 gyroscoop en aanrakingsdata van twee MPR121 aanrakingssensorboards aangesloten op een Arduino Nano. De controller(s) sturen de data naar een ontvanger via nRF24L01 radio transceiver(s).
Bij meer dan één controller moeten de tweede en derde unieke adressen krijgen. Zie de DECLARATIONS / NRF24L01 sectie in de controller-code voor meer info.
Ontvanger (Receiver)
De ontvanger stuurt de ontvangen data van de controller(s) via USB door naar een aangesloten computer, samen met data van diverse potentiometers. De meegeleverde ontvanger-code ondersteunt communicatie met maximaal drie controllers, maar werkt ook met één of twee zonder aanpassingen.
Software
De data van de ontvanger wordt verwerkt in een programma geschreven in Pure Data Vanilla dat geluid produceert.
Wat we in deze tutorial bouwen – Stap-voor-stap gids

De schoonheid van Kravox is dat de vorm, hoe het klinkt en hoe het gespeeld wordt, aangepast kan worden. Dit gaf de mogelijkheid om een makkelijk te repliceren Kravox-versie voor deze tutorial te ontwerpen.
(Ben je benieuwd? Op mijn YouTube-kanaal vind je ook een timelapse van hoe ik de grotere versie van Kravox maakte.)
Zowel de video als deze tutorial tonen alle benodigde stappen om volledig functionele controllers en een ontvanger te bouwen uit makkelijk verkrijgbare elektronische componenten en karton.
Deel 1 – Componenten en tools verzamelen
Je hebt de volgende componenten nodig voor een Kravox controller + ontvanger station:

Elektronica: {1x} 50×24 gat (minimaal) Perfboard, {5x} 40-pin female headers, {5x} 40-pin male headers, {5x} 10kΩ potentiometers met knopen, {3x} Blauwe 5mm standaard LEDs, {3x} 150Ω weerstanden, {2x} 10µF condensators, {2x} 100nF condensators, {2x} NRF24L01 radio transceivers, {2x} Arduino Nano's, {3x} 220Ω weerstanden, {2x} MPR121 aanrakingssensorboards, {1x} GY-521 MPU-6050 gyroscoop, {2x} USB-A naar USB-C kabels, {1x} 4 meter (min) 1cm brede koperen tape, {1x} powerbank, {2x} 7 meter (min) draad in veel kleuren, optioneel {1x} 0,2m ø=3mm krimpkous.
Tools: Zie afbeelding (soldeerbout, boor, mes, zaag, liniaal, stripper, tang, lijmpistool, klem).
Behuizingmateriaal: Lege kartondozen of vergelijkbaar.
Lijm/middelen: Lijm, lijmpistool, tape, klemmen, rubberen banden.
Deel 2 – De controller printplaat maken

Als je twijfelt over de soldeerplaatsen, raadpleeg dan het schakelingsschema om te controleren of de componenten correct verbonden zullen zijn zodra de Arduino en sensorboards worden aangesloten.

2.1 Perfboard en headers knippen en monteren
Knip de perfboard met een stanleymes en de female pin headers met een metaalzaag. Monteer ze samen met een kleine (100nF) en grote (10µF) condensator die de betrouwbaarheid van de radio-transceiver verbeteren. Let op de polariteit van de 10µF elektrolytische condensator (streep/kortste poot = ground). De 100nF condensator is niet gepolariseerd.

2.2 LED's met stroombegrenzende weerstanden
Soldeer de twee LED's met hun 150Ω weerstanden. Let op polariteit: afgeplatte kant/kortste poot = ground.

2.3 Voedingskabels (rood = 3.3V, blauw = GND)

2.4 I2C-communicatie (gele = SDA/A4, groen = SCL/A5, wit = gyroscoop interrupt)

2.5 SPI-communicatie voor radio transceiver (zwart, grijs, bruin, paars, oranje)

2.6 Componenten voorbereiden en plaatsen
Belangrijk voor MPR121 boards: Goedkope Chinese versies hebben hun adres-pin hardwired naar ground zonder pulldown-weerstand. Je moet deze verbinding fysiek doorknippen op de onderkant met een stanleemes (tussen de twee soldeerpads bij "ADD"). Controleer met multimeter of er geen verbinding meer is.

Na het soldeeren van male headers op alle componenten, plug je de Arduino Nano, gyroscoop, twee MPR121 boards en radio transceiver in de controller board.

2.7 Code uploaden en testen
Installeer eerst de benodigde bibliotheken:
- MPU-6050:
I2Cdev.henMPU6050_6Axis_MotionApps20.hdoor Jeff Rowberg - MPR121:
MPR121.hdoor Bare Conductive (NIET de Adafruit-versie) - NRF24L01:
nRF24L01.henRF24.hdoor TMRh20 (NIET de maniacbug-versie)
Upload de Kravox-Controller code. Voor testen: uncomment de laatste sectie van de code (verwijder /* en */), open Serial Monitor op 115200 baud. Je zou sensor-data moeten zien veranderen bij beweging en aanraking van de MPR121-pinnen (0-11).
2.8 Powerbank aansluiten
Als de powerbank niet na enkele seconden uitschakelt, is de controller board klaar. Ga door naar Deel 3.
2.9 Fix voor powerbanks die uitschakelen
Sommige powerbanks schakelen uit bij laag verbruik. Oplossing: 3× 220Ω weerstanden parallel tussen 5V en GND van de Arduino. Dit verbruikt extra stroom (warmte) zodat de powerbank aan blijft. Zelfs met kleine powerbank werkt het dagenlang.
Verwijder Arduino Nano, soldeer weerstanden, plaats componenten terug.

Deel 3 – De ontvanger printplaat maken
Proces is vergelijkbaar met de controller board. Zie schakelingsschema voor verbindingen.

Stappen: perfboard/headers knippen met condensators → voedingskabels → SPI-kabels → componenten (Arduino Nano, radio transceiver, 5 potentiometers, LED) plaatsen.

Deel 4 – De ontvanger interface maken
Interface met 4 potentiometers en een LED, aangesloten op de ontvanger board.

Stappen: 8-adern kabel aan potentiometers (middelste poot) → 2×17 gat perfboard met 17-pin male header → ground-kabels (blauw) aan één kant potentiometers + blauwe LED met 150Ω → 5V-kabels (groen) aan andere kant potentiometers.

Upload nu de Kravox Receiver code naar de Arduino Nano van de ontvanger.
Voor testen via Serial Monitor: comment #define WRITE_AS_BYTES uit en uncomment #define PRINT_VIA_SERIAL_MONITOR.
Deel 5 – Controller interface & behuizing
Aanraakinterface van koperen tape, direct geïntegreerd in de behuizing.

Stappen: markeer 24 elektrodenposities (geen overlap) → knip 24 koperen tape elektroden → plak op behuizing (bijv. lege clingfolie-dozen) → maak plug: 2×24 gat perfboard met 24-pin male header, soldeer 24 kabels (lengtes afgestemd op electrode-afstand) → soldeer andere uiteinden aan elektroden → bedek koper met niet-geleidende tape → vouw tot doos, lijm → lijm kleinere doos eraan voor powerbank → beklem controller board achterkant met karton → knip gaten voor LED's, plak LED's en powerbank (USB-kabel moet bereikbaar blijven) → sluit aanraakinterface aan, plaats in doos → maak uitsparing voor USB-kabel bij verbindingsplaats dozen, trek door en sluit aan op Arduino Nano.

Sluit af met rubberen banden. Bij ghost-touches: plaats niet-geleidend materiaal (clingfolie) tussen behuizing en board/kabels. Zorg dat powerbank aangesloten wordt terwijl aanraakgevoelig deel niets aanraakt.
Deel 6 – Ontvanger behuizing
Nog een kartondoos + knopen voor potentiometers.
Knip gaten voor potentiometers, LED, USB-kabel → lijm ontvanger board in (USB-C jack uitgelijnd met gat) → lijm LED, schroef potentiometers in (volgorde = schema) → zet knopen op.

Deel 7 – Ontvanger verbinden met Pure Data
Nu de hardware klaar is, tijd voor muziek! Software: Pure Data Vanilla (gratis download).
- Installeer Pure Data, open
Kravox.pduit de bijlagen. Zorg dat het in dezelfde map staat als dedrumsamplesmap. - Open de blauwe info-box in de interface en installeer de 4 "externals":
comport,zexy,freeverb,arraysize(via Help → Find additional objects on the internet). Herstart Pure Data indien nodig. De objecten moeten een volle outline hebben. 
- Sluit de ontvanger via USB aan. Als je de code in Deel 4 aangepast had voor Serial Monitor: herstel originele code, upload opnieuw, sluit Arduino Serial Monitor.
- Kijk in Pure Data's log/venster. Als je een snel updaterende datastream ziet: gelukt! Meestal zie je een rode foutmelding omdat Pure Data niet weet welke USB-poort (seriële poort) te luisteren.

- USB-poortnummers zijn wisselend (Mac: beide poorten als Serial Port 3, Windows: 8, 9, etc.). Gebruik de dialog in de Kravox.pd interface om door poortnummers te klikken tot er een verbinding ontstaat. Probeer ook "Show available ports" en "Show connected USB-devices" knoppen.

- Juiste poort gevonden? Datastream updatet snel. Klik save voor auto-connect bij volgende keer.

- Zet controller aan: sluit powerbank aan terwijl behuizing gesloten is en aanraakgevoelig deel NIET je handen of andere dingen aanraakt (sensoren calibreren bij opstarten op "onberaakte" toestand).
Veel plezier met Kravox spelen!
Code
Kravox Code voor Arduino en Pure Data
Download de Zip-bestand met Arduino-code voor controller en ontvanger, Kravox.pd voor Pure Data, en de benodigde drumsamples:
https://github.com/timkrahmer/Kravox
Raadpleeg de tutorial voor instructies over het gebruik van de bestanden.
Schema's


Productieproces
- Kanalen & sluizen: techniek, geschiedenis en toekomst van VS watervervoer
- De Saxofoon: Geschiedenis, Ontwerp en Moderne Productie
- De Evolutie en Vakmanschap van Bogen & Pijlen: Van Oude Jacht tot Moderne Ingenieurskunst
- De Tuba: Van 19e-Eeuwse Innovatie tot Modern Vakmanschap
- De Dulcimer: Geschiedenis, Ontwerp en Vakmanschap van een Tijdloos Instrument
- Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
- De Juiste Zaag Kiezen: Bandsaag vs. Cirkelzaag voor Uw Project
- Veiligheid integreren in beweegbesturing: Productiviteit verhogen zonder compromissen
- Rutronik biedt ultra-laag-vermogen, multi-protocol SoCs van Redpine Signals
- Besturingssystemen Verbinden: Betrouwbare Communicatie-interfaces voor Positie- en Bewegingssensoren
- Hoe 5G-draadloze netwerken IoT-adoptie en telecom-belasting zullen vormgeven