Paso 6: Bola de plasma interactiva
La bola del plasma fue modificada para poder ser interactivo. Cuando alguien toca en la bola de plasma, reproducir un sonido.
Se utilizó un circuito con sensor de corriente, un arduino, un escudo de mp3 y altavoces.
Interactividad, desarrollado en colaboración con Achim Meyer y Aravinth Panchadcharam.
Este es el código:
#include / / biblioteca SPI
#include / / biblioteca SDFat #include / / SDFat Util biblioteca #include / Mp3 escudo biblioteca
SdFat sd; Crear objeto para manejar funciones de SD SFEMP3Shield MP3player; Crear objeto de biblioteca Mp3
volumen de uint8_t const = 0; Volumen de reproductor de mp3 0 = máximo, 255 = menor (const uint16_t monomodo off) = 1; Mono de ajuste 0 = 3 = máxima int sensorPin = 5; Seleccione la entrada de pin para el potenciómetro int ledPin = 13; selecciona el pin para el LED int sensorValue = 0; variable para almacenar el valor que viene desde el sensor
void setup() {/ / pinMode (sensorPin, entrada); Serial.Begin(9600); initSD(); Inicializar el SD tarjeta initMP3Player(); Inicializar el escudo MP3}
int filterLength = 1000;
umbral de int = 350; // 1. el valor del sensor y decidir ya sea encendido o apagado volumen 325 y 350 sin volumen
void loop() {sensorSum largo = 0; para (int i = 0; i treshold) {if (! Mp3Player.isPlaying()) {Serial.println("ON"); Mp3Player.playMP3("track001.mp3"); } / * else / / / * 2. Añadir {int d = (sensorValue - treshold); si (d > 50) d = 50; volumen de bytes = 50 - d; Serial.println(Volume); Mp3Player.setVolume (volumen, volumen); {}} / / * /} else {Serial.println("OFF"); si (MP3player.isPlaying()) MP3player.stopTrack(); / / MP3player.setVolume (254, 254); / / interruptor del volumen}}
para cambiar el volumen: 3 cosas
initSD() inicializa la tarjeta SD y comprueba un error. void initSD() {//Initialize SdCard. Si (! sd.begin (SD_SEL, SPI_HALF_SPEED)) sd.initErrorHalt(); if(!sd.chdir("/")) sd.errorHalt("sd.chdir");}
initMP3Player() toda la inicialización para configura el / escudo de reproductor de MP3. Se ejecuta la función begin(), cheques / errores, se aplica un parche si encuentra y establece el volumen / / / modo stero. void initMP3Player() {uint8_t resultado = MP3player.begin(); / init escudo del reproductor de mp3 si (resultado! = 0) / / comprobar el resultado, vea el archivo Léame para códigos de error. {/ / Comprobación de errores puede ir aquí!} Mp3Player.setVolume (volumen, volumen); Mp3Player.setMonoMode(monoMode); }