Stap 12: Sketch software voor zes cap sensoren:
#include < CapacitiveSensor.h >
#include < VoiceShield.h >
/*
* Touch gebeurtenisgeluid speler
*
-De gebruik van de de SpikenzieLab stem Shield, spelen een ander geluid afhankelijk van
* op welke touch werd sensor ingedrukt.
*
* Versie 0.1 - oktober 12, 2014
* Luis Carlos Bañuelos Chacon en Cesar Valle
* luiscarlos.banuelos
*/
/*
* Instructies
*
* 1. Op Configuratie,
* Wijzig CS_NUM met het aantal sensoren nodig,
* CS_THRESHOLD wijzigen door het verminderen van het aantal als de sensoren niet reageert
* en als ze ook gevoelig zijn, verhoging van het aantal
* Wijzig VS_VOICES zodat deze overeenkomen met de stemmen die is geprogrammeerd in het schild van de stem.
*
* 2. Op matrix van capacitieve sensoren, de aanrakingssensoren te initialiseren door het aangeven van de
* gemeenschappelijke pin en de pincode in die de sensor is aangesloten.
*
* 3. Op de reeks van geluiden, in dezelfde volgorde staan als de matrix van capacitieve sensoren geven
* de ID van het geluid moet worden afgespeeld wanneer de sensor wordt gedrukt.
*/
/*
* Configuratie
*/
#define CS_NUM 6 / / hoeveel touch sensoren
#define CS_SAMPLES 30 / / hoeveel monsters te nemen wanneer het meten van de GLB-sensor
#define CS_THRESHOLD 30 / / drempel te beschouwen als een touch-evenement te lezen
#define VS_VOICES 80 / / aantal stemmen geprogrammeerd op stem schild
/*
-Array van capacitieve sensoren
*
* De eerste parameter is de gemeenschappelijke pin, moet hetzelfde zijn voor alle exemplaren.
* De tweede parameter is de pin van de sensor.
*/
CapacitiveSensor cs [] {} =
CapacitiveSensor (6, 7),
CapacitiveSensor (6, 8),
CapacitiveSensor (6, 9),
CapacitiveSensor (6, 10),
CapacitiveSensor (6, 11),
CapacitiveSensor (6, 12),
};
/*
-Array van geluiden
*
* Deze array bevat de ID van het geluid dat elke sensor moet maken.
* De volgorde moet overeenkomen met de array van capacitieve sensoren.
*/
int [geluid] = {}
13,
28,
38,
29,
19,
4
};
/*
-De maken van stem Shield
*/
VoiceShield vs(VS_VOICES);
/*
* readCS
*
* Leest de array van capacitieve sensoren en geeft als resultaat
* welke sensor is aangeraakt of -1 als er niets is.
*/
int readCS() {}
for (int i = 0; ik < CS_NUM; i ++) {}
Als (cs[i].capacitiveSensor(CS_SAMPLES) > CS_THRESHOLD) terug i;
}
retourneren -1;
}
void setup {vs
; //pinMode (13, OUTPUT);
}
void loop {}
int cs_pressed = readCS(); Lees allerlei sensoren
Als (cs_pressed > = 0) {/ / als een sensor is aangeraakt
digitalWrite (13, 1); Evenement op LED aangeven
VS. ISDPLAY_to_EOM(sound[cs_pressed]); Geluid afspelen
delay(1000); Kleine vertraging voor LED
digitalWrite (13, 0); Uitschakelen van de led
while(readCS() == cs_pressed); Blok tot sensor wordt vrijgegeven
}
}