Sólo Veggin con un Arduino Beetbox (7 / 8 paso)

Paso 7: Arduino completo Beetbox código

#include < CapacitiveSensor.h >
#include < WaveHC.h >
#include < WaveUtil.h >

/*
* Utiliza un resistor de alto valor por ejemplo 10M entre enviar pin y recibir el pin
* Resistencia efectos de sensibilidad, experimento con valores de 50K - 50M. Valores mayores de resistencia producen valores de sensor más grandes.
* Recibir el pin es el pin del sensor.
*/

Tarjeta SdReader;    Este objeto contiene la información de la tarjeta
FatVolume vol;    Contiene la información de la partición en la tarjeta
FatReader raíz;   Esto contiene la información para el directorio de raíz de volúmenes
Archivo FatReader;   Este objeto representa el archivo WAV de un dígito de pi o un período
Ola WaveHC;      Este es el único objeto (audio) de la onda, puesto que sólo jugaremos uno a la vez

char nombre [13];

Descomentar la siguiente línea para habilitar la depuración Serial.print() declaraciones
#define DEBUG

#define error(msg) error_P(PSTR(msg))

CapacitiveSensor cs_9_6 = CapacitiveSensor(9,6);        10 M resistencia entre los pines 9 y 6, pin 6 pin sensor, añadir un alambre y papel de aluminio si se desea
CapacitiveSensor cs_9_7 = CapacitiveSensor(9,7);
CapacitiveSensor cs_9_8 = CapacitiveSensor(9,8);

Float calVal1 = 0.0;
Float calVal2 = 0.0;
Float calVal3 = 0.0;
flotador total1 = 0.0;
flotador total2 = 0.0;
flotador total3 = 0.0;
int i = 0;

void setup()
{
Serial.Begin(9600);

Si (! {card.init())}
error ("tarjeta init. no se pudo!");
}
Si (! {vol.init(card))}
error ("no hay partición!");
}
Si (! {root.openRoot(vol))}
error ("no pudo abrir dir");
}

PgmPrintln ("archivos encontrados:");
root.LS();

cs_9_6.reset_CS_AutoCal();  canal de autocalibrate 1
cs_9_7.reset_CS_AutoCal();  autocalibrate canal 2
cs_9_8.reset_CS_AutoCal();  autocalibrate canal 3

cs_9_6.set_CS_AutocaL_Millis(0x00001000);     intervalo autocalibrate en el canal 1
cs_9_7.set_CS_AutocaL_Millis(0x00001000);     intervalo autocalibrate en el canal 2
cs_9_8.set_CS_AutocaL_Millis(0x00001000);     intervalo de autocalibrate en canal 3

pinMode (14, salida);
}

void loop()
{
total1 = cs_9_6.capacitiveSensor(30);

total2 = cs_9_7.capacitiveSensor(30);
total3 = cs_9_8.capacitiveSensor(30);

Si (i < 60) {/ / base de calibrar el Sensor
digitalWrite (14, alto);
calVal1 = 0.1*float(total1) + 0.9 * calVal1;
i ++;
}
else if (< 120) {
/ / base de calibrar el Sensor
digitalWrite (14, LOW);
calVal2 = 0.1*float(total2) + 0.9 * calVal2;
i ++;
}
else if (< 180) {
/ / base de calibrar el Sensor
digitalWrite (14, alto);
calVal3 = 0.1*float(total3) + 0.9 * calVal3;
i ++;
}
Else {}
digitalWrite(14,LOW);
}

#ifdef DEBUG
Serial.Print(total1);               
/ / imprimir salida sensor 1
Serial.print("\t") de ;
Serial.Print(total2);              
/ / imprimir salida de sensor 2
Serial.print("\t") de ;
Serial.println(total3);              
/ / imprimir salida de sensor 3

Serial.Print ("CAL: \t");
Serial.Print(calVal1);               
/ / imprimir salida sensor 1
Serial.print("\t") de ;
Serial.Print(calVal2);               
/ / imprimir salida de sensor 2
Serial.print("\t") de ;
Serial.println(calVal3);               
/ / imprimir salida de sensor 3
#endif

Si (total1 > 0.8 * calVal1 & & total2 > 0.8 * calVal2) {}
strcpy_P (nombre de archivo, PSTR ("BUFF1. WAV"));
Serial.println(FileName);
playfile(FileName);
}
else if (total2 > 0.8 * calVal2 & & total3 > 0.8 * calVal3) {}
strcpy_P (nombre de archivo, PSTR ("sombrero. WAV"));
Serial.println(FileName);
playfile(FileName);
}
else if (total1 > 0.8 * calVal1) {}
strcpy_P (nombre de archivo, PSTR ("CLICK1. WAV"));
Serial.println(FileName);
playfile(FileName);
}
else if (total2 > 0.8 * calVal2) {}
strcpy_P (nombre de archivo, PSTR "(BOOM1. WAV"));
Serial.println(FileName);
playfile(FileName);
}
else if (total3 > 0.8 * calVal3) {}
strcpy_P (nombre de archivo, PSTR ("BOOMHAA1. WAV"));
Serial.println(FileName);
playfile(FileName);
}

Delay(10);                             retardo arbitrario limitar datos al puerto serie
}

/////////////////////////////////// HELPERS

/*
* imprimir mensaje de error y detener la
*/
error_P void (const char * str) {}
PgmPrint ("Error:");
SerialPrint_P(str);
sdErrorCheck();
while(1);
}

/*
* imprimir mensaje de error y detener si error E/S SD
*/
void sdErrorCheck(void) {}
Si (! card.errorCode()) retorno;
PgmPrint ("\r\nSD I/O error:");
Serial.Print(Card.ErrorCode(), hexagonal);
PgmPrint (",");
Serial.println(Card.errorData(), hexagonal);
while(1);
}

/*
* Reproducir un archivo y esperar a que termine
*/
void playcomplete(char *name) {}
playfile(Name);
mientras (wave.isplaying);


ver si el error al jugar
sdErrorCheck() de ;
}

/*
* Abrir y empezar a reproducir un archivo WAV
*/
void playfile(char *name) {}
Si (wave.isplaying) {
/ / así que ya está reproduciendo algo, stop!
Wave.STOP(); Basta
  }
Si (! file.open (raíz, nombre)) {}
PgmPrint ("no puede abrir archivo");
Serial.Print(Name);
retorno;
}
Si (! {wave.create(file))}
PgmPrintln ("no un válido WAV");
retorno;
}

OK el tiempo para jugar!
Wave.Play();
}

Artículos Relacionados

Cómo medir la temperatura con gran exactitud con un Arduino y un tablero de Sensor de temperatura de TSYS01.

Cómo medir la temperatura con gran exactitud con un Arduino y un tablero de Sensor de temperatura de TSYS01.

Mientras estudiaba en la Universidad fuimos desafiados como parte de un trabajo de curso en diseño de una caja con control de temperatura muy preciso. Si el proyecto fuera a tener éxito, múltiples cajas debían ser construido y utilizado en un proyect
Señal de tráfico / luz de freno cables con controlador Arduino

Señal de tráfico / luz de freno cables con controlador Arduino

siempre ha querido una vieja señal de tráfico y finalmente consiguió uno recientemente.  Sin embargo, fue muy simple cableado para que todas las luces estaban fijos en.  ¿Qué divertido es esto?  También quería probar un controlador Arduino y pensé qu
Controlando un Motor paso a paso con un Arduino

Controlando un Motor paso a paso con un Arduino

Este tutorial le mostrará cómo funciona un motor de paso a paso que fue rescatado de una impresora antigua con un Arduino.Paso 1: ¿Qué es un Motor paso a paso? Un motor paso a paso consta de dos partes principales: un rotor y un estator. El rotor es
ARD-e: el robot con un Arduino como un cerebro

ARD-e: el robot con un Arduino como un cerebro

cómo crear un robot de código abierto Arduino controlado por menos de $100.Esperemos que después de leer esto instructable usted será capaz de dar su primer paso en robótica. ARD-e cuesta unos $90 a $130 dependiendo de cuánto electrónica repuesto tie
Enviar datos del sensor (DHT11 & BMP180) a ThingSpeak con un Arduino, mediante cable o WiFi (ESP8266)

Enviar datos del sensor (DHT11 & BMP180) a ThingSpeak con un Arduino, mediante cable o WiFi (ESP8266)

Escribí este instructable porque Thingspeak - no importa lo fácil fijar para arriba - tiene algunos obstáculos que me topé y que, a juzgar por las reacciones, otras personas están luchando con así.Cosas que usted necesita:ArduinoEthernetShield WS5100
Etiquetas de RFID de lectura con un Arduino

Etiquetas de RFID de lectura con un Arduino

en este proyecto, aprenderás a leer una etiqueta RFID utilizando el lector de novedades ID-12 y un Arduino Duemilanove.Paso 1: Comencemos! Usaremos el ID innovaciones ID-12 para realizar la tarea de leer una etiqueta RFID. Como mínimo, requiere de +
Wii remoto IR cámara Hack con interfaz Arduino

Wii remoto IR cámara Hack con interfaz Arduino

físicamente a extraemos la cámara IR desde el control remoto Wii e interfaz con un arduino controlar un servo.La cámara de infrarrojos de Wii es una cosa maravillosa. Tiene un procesador integrado que las posiciones X e Y y el tamaño de los 4 puntos
Controlar múltiples LEDs con un Arduino Uno.

Controlar múltiples LEDs con un Arduino Uno.

Este instructable coversssets de instrucciones para el uso de un microcontrolador, llamado el Arduino Uno para crear diferentes secuencias de iluminación de diodos electroluminosos, más popularmente conocida como LED. Las siguientes instrucciones cub
Programación Arduino con otro Arduino

Programación Arduino con otro Arduino

Este es mi primer Instructable. En este Instructable voy a mostrarle cómo programar un Arduino con otro Arduino. No hay controladores son necesarios! Este Instructable es también útil para subir bocetos a chino ArduinoPaso 1: Cosas necesarias1. un Ar
Hyduino - automatizado hidropónicos con un Arduino

Hyduino - automatizado hidropónicos con un Arduino

Por lo tanto, usted se estará preguntando... ¿Qué es la hidroponía?Básicamente, hidroponía está creciendo plantas sin el uso de un medio tradicional de la suciedad mediante el uso de una solución de agua rica en nutrientes. Los medios utilizan para "
Datalogger con un Arduino de carreras

Datalogger con un Arduino de carreras

Este es un proyecto mío que me pidió un par de veces durante un poco y pensé que sería postearlo para personas interesados. Existen algunas limitaciones actuales como la resolución de datos y sincronización de datos desde diferentes entradas, pero es
Tener Python hable con el Arduino Yun

Tener Python hable con el Arduino Yun

Así que quieres python 2 (corriendo al lado de tu Arduino Yun Linino ) para pernos de encendido y apagado en el lado de Arduino de la Yun. Aquí es cómo hacerlo.Paso 1:En la imagen se pueden ver dos LEDs conectados a los pines digitales 12 y 13 a trav
Controlar EL alambre con un Arduino

Controlar EL alambre con un Arduino

en este instructable le mostraré cómo controlar EL alambre con un Arduino.Lo que se necesita:EL alambre y el inversor - recomiendo http://ez-el.com/ez-el-wire/10ft-ez-el-wire-3v-inverter-kit/Arduino o cualquier microcontrolador que permite controlar
Cómo controlar un RGB LED con un Arduino

Cómo controlar un RGB LED con un Arduino

En este Instructable, yo lo se que muestra cómo controlar un LED RGB con un Arduino.Para completar este proyecto, necesitarás:1 x Arduino (estoy usando la Arduino Uno R3)1 LED x RGB3 x 150-220 ohm resistencias4 x cables de puente1 x Breadboard1 x ord