Étape 6: Boule de plasma interactif
La boule de plasma a été modifiée pour pouvoir être interactive. Quand quelqu'un touche à la boule de plasma, il joue un son.
Nous avons utilisé un circuit fait avec capteur de courant, un arduino, un bouclier de mp3 et haut-parleurs.
Interactivité, développé en collaboration avec Achim Meyer et Aravinth Panchadcharam.
C’est le code :
#include / / bibliothèque SPI
#include / / bibliothèque SDFat #include / / SDFat Util bibliothèque #include / / Mp3 bouclier bibliothèque
SdFat sd ; Créez l’objet pour gérer les fonctions SD SFEMP3Shield MP3player ; Créez l’objet bibliothèque Mp3
const uint8_t volume = 0 ; Volume de lecteur MP3 0 = max, 255 = plus basse (off) const monoMode uint16_t = 1 ; Mono position 0 = off, 3 = max int sensorPin = 5 ; Sélectionnez l’entrée pin pour le potentiomètre int ledPin = 13 ; Sélectionnez le code pin de la LED int sensorValue = 0 ; variable pour stocker la valeur provenant de la sonde
void setup() {/ / pinMode (sensorPin, entrée) ; Serial.Begin(9600) ; initSD() ; Initialiser le initMP3Player() de carte SD ; Initialiser le bouclier MP3}
int filterLength = 1000 ;
seuil d’int = 350 ; // 1. comparer la valeur du capteur et décider soit allumé ou éteint volume 325 et 350 sans volume
void loop() {long sensorSum = 0; pour (int i = 0; j’ai treshold) {if (! MP3player.isPlaying()) {Serial.println("ON") ; MP3player.playmp3("track001.mp3") ; } / * autre / / / * 2. Ajouter {int d = (sensorValue - treshold); if (d > 50) d = 50 ; volume octets = 50 - d ; Serial.println(volume) ; MP3player.setVolume (volume, volume) ; {}} / / * /} else {Serial.println("OFF") ; if (MP3player.isPlaying()) MP3player.stopTrack(); / / MP3player.setVolume (254, 254); / / commutateur du volume}}
pour passer du volume: 3 choses
initSD() Initialise la carte SD et les contrôles d’erreur. void initSD() {//Initialize la SdCard. si (! sd.begin (SD_SEL, SPI_HALF_SPEED)) sd.initErrorHalt() ; if(!sd.chdir("/")) sd.errorHalt("sd.chdir");}
initMP3Player() met en place toute l’initialisation pour les / / bouclier de lecteur MP3. Il exécute la fonction begin(), contrôles / / pour les erreurs, s’applique un patch si trouvé et définit le volume / / / mode stéréo. void initMP3Player() {uint8_t résultat = MP3player.begin(); / / init le lecteur mp3 bouclier si (résultat! = 0) / / vérifier le résultat, consultez fichier Lisezmoi pour les codes d’erreur. {/ / Vérification des erreurs peut aller ici!} MP3player.setVolume (volume, volume) ; MP3player.setMonoMode(monoMode) ; }