Étape 6: Rendre sans fil !
Voir détails de RevIO épingles à
Il suffit de brancher la carte de dérivation dans les charges, le croquis et joue !
Est-ce qui est l’esquisse ?
RevIO ou Arduino surveille les broches analogiques connectés à FSRs. chaque fois que la FSR se pressé, il transmet la commande sans fil via XBee émetteur (attaché à l’Arduino) au module de récepteur XBee connecté au PC.
Et le programme de traitement sur le PC va traduire la commande et jouer du tambour sonore en conséquence.
Voici une esquisse de l’Arduino, Télécharger le croquis sur Arduino. (déjà inclus dans les fichiers zip dans l’étape suivante, FSRControl.ina)
Remarque : Le module XBee ou besoin de Conseil XBee Breakout être enlevé pendant le téléchargement de l’esquisse à l’Arduino ou RevIO.
Puisque les broches TX et RX adaptateur FTDI pour le téléchargement de croquis partagent les mêmes broches TX et RX du module XBee.
/*
FSRControl.ino
*/
lecture minimale des capteurs qui génère une note
const int seuil = 25 ;
int pinA0 = 0 ;
int pinA1 = 1 ;
int pinA2 = 2 ;
int pinA3 = 3 ;
public static const int avgCount = 4 ;
int valFSR1, valFSR2, valFSR3, valFSR4 = 0 ;
int arr1 [avgCount] ;
int arr2 [avgCount] ;
int arr3 [avgCount] ;
int arr4 [avgCount] ;
int i ;
int index = 0 ;
La moyenne des valeurs dans les tableaux de calcul de la moyenne
avg() Sub
{
valFSR1 = valFSR2 = valFSR3 = valFSR4 = 0 ;
pour (i = 0; i < avgCount; i ++)
{
valFSR1 += arr1 [i] ;
valFSR2 += arr2 [i] ;
valFSR3 += arr3 [i] ;
valFSR4 += arr4 [i] ;
}
valFSR1 / = avgCount ;
valFSR2 / = avgCount ;
valFSR3 / = avgCount ;
valFSR4 / = avgCount ;
}
void setup() {}
réinitialiser les tableaux moyennes
pour (i = 0; i < avgCount; i ++)
{
Arr1 [i] = 0 ;
Arr2 [i] = 0 ;
arr3 [i] = 0 ;
arr4 [i] = 0 ;
}
index = 0 ;
Démarrez le port série à 9600 bits/s :
Serial.Begin(9600) ;
}
void loop() {}
les valeurs réelles dans les tableaux de calcul de la moyenne
Arr1 [index] = analogRead(pinA0) ;
Arr2 [index] = analogRead(pinA1) ;
arr3 [index] = analogRead(pinA2) ;
arr4 [index] = analogRead(pinA3) ;
indice d’augmentation d’échelon,
Si l’indice dépasse les tailles de pile remis à zéro
index ++ ;
Si (index > = avgCount)
{
index = 0 ;
}
calculer les valeurs moyennes
AVG() ;
divise la valeur de 4 pour mettre à l’échelle jusqu'à 0 - 255
FSR 1
Si ((valFSR1 / 4) > seuil) {}
Serial.Print (valFSR1/4, DEC) ; Serial.Print (",") ;
Serial.Write('1') ;
}
FSR 2
sinon si ((valFSR2 / 4) > seuil) {}
Serial.Print (valFSR2/4, DEC) ; Serial.Print (",") ;
Serial.Write('2') ;
}
FSR 3
sinon si ((valFSR3 / 4) > seuil) {}
Serial.Print (valFSR3/4, DEC) ; Serial.Print (",") ;
Serial.Write('3') ;
}
FSR 4
sinon si ((valFSR4 / 4) > seuil) {}
Serial.Print (valFSR4 4, DEC) ; Serial.println() ;
Serial.Write('4') ;
}
else {}
Serial.Write('0') ;
}
Delay(100) ;
}
Sans fil XBee
Afin de communiquer sans fil entre PC et Arduino, nous avons besoin de deux Modules XBee et Uncâble FTDI. Un module XBee sera relié à l’Arduino sans câble FTDI.
Le deuxième XBee Module sera être connecté au PC ou ordinateur portable via le câble FTDI (ou xBee Buddy).
Il faudrait beaucoup de temps et l’espace pour expliquer l’installation, configuration et test du module XBee. Au lieu de cela, je vous fournir les liens que vous pourriez utiliser comme point de départ sur l’utilisation des modules XBee.
Voici mes tutoriels du WIKI XBee, montrer comment configurer et tester le module XBee en utilisant Hyperterminal et X-CTU :
XBee configurer à l’aide aux commandes.
Configurer le XBee à l’aide du logiciel X-CTU.
Mon tutoriel vidéo XBee.