Trådlös Finger Drum (6 / 7 steg)
Steg 6: Göra det trådlöst!
Se detaljer RevIO Pins på
Anslut bara breakout styrelsen i massor den skiss, och lekar!
Vad är skissen gör?
RevIO eller Arduino övervakar analoga stiften ansluten till FSRs. närhelst FSR få pressat, det sänder kommandot trådlöst via XBee sändare (bifogas Arduino) till XBee mottagare modul är ansluten till datorn.
Och ordbehandlingsprogram på datorn kommer att översätta kommandot och spela trumman ljud därför.
Följande är en Arduino skiss, ladda upp skissen till Arduino. (redan ingår i zip-filer i följande steg, FSRControl.ina)
Obs: XBee modul eller XBee Breakout styrelsen behöver tas bort samtidigt som du laddar upp skissen till Arduino eller RevIO.
Eftersom TX och RX stiften på FTDI adapter för att ladda upp skiss dela samma TX och RX stift XBee modul.
/*
FSRControl.ino
*/
minsta läsning av sensorer som genererar en anteckning
CONST int TRÖSKEL = 25;
int pinA0 = 0;
int pinA1 = 1;
int pinA2 = 2;
int pinA3 = 3;
statisk const int avgCount = 4;
int valFSR1, valFSR2, valFSR3, valFSR4 = 0;
int arr1 [avgCount];
int arr2 [avgCount];
int arr3 [avgCount];
int arr4 [avgCount];
int i;
heltal index = 0;
Medelvärden i genomsnitt matriser
void avg()
{
valFSR1 = valFSR2 = valFSR3 = valFSR4 = 0;
för (jag = 0; jag < avgCount; i ++)
{
valFSR1 += arr1 [i];
valFSR2 += arr2 [i];
valFSR3 += arr3 [i];
valFSR4 += arr4 [i];
}
valFSR1 = avgCount;
valFSR2 = avgCount;
valFSR3 = avgCount;
valFSR4 = avgCount;
}
void setup() {
återställa genomsnittliga matriser
för (jag = 0; jag < avgCount; i ++)
{
arr1 [i] = 0;
arr2 [i] = 0;
arr3 [i] = 0;
arr4 [i] = 0;
}
index = 0;
Starta serieport på 9600 bps:
Serial.BEGIN(9600);
}
void loop() {
faktiska värden i genomsnitt matriser
arr1 [index] = analogRead(pinA0);
arr2 [index] = analogRead(pinA1);
arr3 [index] = analogRead(pinA2);
arr4 [index] = analogRead(pinA3);
Increment index,
om index överstiger array storlekar nollställs
index ++;
om (index > = avgCount)
{
index = 0;
}
beräkna medelvärden
AVG();
delas värdet med 4 att skala det ner till 0 - 255
FSR 1
om ((valFSR1 / 4) > TRÖSKEL) {
Serial.Print (valFSR1/4, DEC); Serial.Print (",");
Serial.write('1');
}
FSR 2
annars om ((valFSR2 / 4) > TRÖSKEL) {
Serial.Print (valFSR2/4, DEC); Serial.Print (",");
Serial.write('2');
}
FSR 3
annars om ((valFSR3 / 4) > TRÖSKEL) {
Serial.Print (valFSR3/4, DEC); Serial.Print (",");
Serial.write('3');
}
FSR 4
annars om ((valFSR4 / 4) > TRÖSKEL) {
Serial.Print (valFSR4 /4, DEC); Serial.println();
Serial.write('4');
}
annat {
Serial.write('0');
}
Delay(100);
}
Trådlösa XBee
För att kommunicera trådlöst mellan dator och Arduino, behöver vi två XBee moduler och en FTDI kabel. En XBee modul kommer att anslutas till Arduino utan FTDI kabel.
Den andra XBee modulen ansluts till PC eller bärbar dator via FTDI kabel (eller xBee kompis).
Det skulle ta upp mycket utrymme och tid att förklara installation, konfiguration och test modulen XBee. Istället vill jag ge dig länkar som du kan använda som utgångspunkt för hur du arbetar med XBee modul (s).
Här är min WIKI XBee tutorials, visar hur du konfigurerar och testar XBee modul genom att använda Hyperterminal och X-CTU:
Konfigurera XBee använda AT-kommandon.
Konfigurera XBee med X-CTU programvara.
Min XBee video tutorial.