La caprichosa nocturno - Jed Diller y Ken Hoff (2 / 6 paso)

Paso 2: Electrónica Resumen

De nuestra experiencia, su sensor funcionan según lo previsto es una de las partes más difíciles de este proyecto. Mientras que los sensores de luz son estables, micrófonos baratos no lo son. Si usted desea tener una luz de la pantalla sensible puede omitir esta sección siguiente sobre el micrófono y cabeza abajo a la sección de cableado.

Conseguir el micrófono bajo Control:

Mucho tiempo en este proyecto estuvo tratando de tomar el micrófono bajo control. Tuvimos un montón de cuestiones que el ruido en los datos a un nivel que era realizable. La escala analógica en un puerto de Arduino es 0-1023. Usando la chispa electret romper con el tablero de la diversión y los valores analógicos de monitoreo ser leer, se observó que los valores oscilan entre 350-650 incluso en los entornos más reliquias tranquilos. Para obtener datos utilizables para desencadenar el comportamiento de LED, se utilizó un método llamado convolución. Convolución es en esencia una forma de suavizar los datos mediante la aplicación de una curva de campana a una cola de valores. En este caso, convolución se aplicó a una cola de 7 valores, el número de valores en la cola puede variar dependiendo de la cantidad de suavizado se desea. Cada uno de los siete valores se multiplica por un coeficiente y la suma de los coeficientes de siete debe ser igual a uno. El valor alisado de interés es la suma de los siete valores analógicos se lee en multiplicadas por sus coeficientes. A continuación se da un ejemplo de esta circunvolución. Para explicación más precisa sobre convolución, consulte la página de wikipedia.

Ejemplo de convolución C código de Arduino:

---------------------------------------------------------------------------------------------------

Ejemplo de convolución
Por Jed Diller
02 de abril de 2012

Se aplica la convolución para valores analógicos se lee en un sensor en el puerto A0
Si el valor está por encima de un umbral, es hacer algo. En este caso
un valor se escribe en el pin 9 en un Adruino Uno

constantes:
const int sensorPin = A0;
const int ledPin = 9;

DEPURACIÓN booleano = true; para imprimir declaraciones ejecutar monitor serial y establecido en true

umbral de int = 550; Estos valores se determinó a través del uso de ensayo y error la serie impresión de depuración a
determinar un valor razonable
flotador de a0 = 0,3;   coeficiente para el valor actual
flotador de a1 = 0.2;  coeficientes para plus y minus 1 de calc
flotador de a2 = 0.1;  coeficientes de para más y menos 2 de calc
flotador de a3 = 0. 05;  coeficientes para plus y minus 3 de calc

definir las variables:
int sensorValue;  valor del sensor para la lectura
int sV_adjusted;    valor ajustado

int sV_m3;    valor del sensor 3 anterior a calc
int sV_m2;    valor del sensor 2 previo a calc
int sV_m1;    valor del sensor 1 previo a calc
int sV_0;     valor del sensor se calcula, centro de curva
int sV_p1;    valor del sensor 1 después a calc
int sV_p2;    valor sensor 2 después de calc
int sV_p3;    valor del sensor 3 después a calc (Qué es actaully ser leído)

void setup()
{

Serial.Begin(9600);
pinMode (13, salida);
digitalWrite (13, HIGH);
analogWrite (ledPin, 0); Inicio LED en apagado para evitar el pequeño flash entre
cada iteración del bucle conductual

Delay(2000);
digitalWrite (13, bajo);

primeros 6 valores (sV_m3 por sV_p2)
sV_m3 = analogRead(sensorPin);
sV_m2 = analogRead(sensorPin);
sV_m1 = analogRead(sensorPin);
sV_0 = analogRead(sensorPin);
sV_p1 = analogRead(sensorPin);
sV_p2 = analogRead(sensorPin);

}

void loop()
{

obtener nuevo valor
sV_p3 = analogRead(sensorPin);

calcular el valor ajustado
sV_adjusted = (int) (a3 * (float) sV_m3 + a2 * (float) sV_m2 + a1 * (float) sV_m1 + a0 * sV_0 (flotador) + a1 * (float) sV_p1 + a2 * (float) sV_p2 + a3*(float)sV_p3);

valores de cambio alrededor para la siguiente iteración
sV_m3 = sV_m2;
sV_m2 = sV_m1;
sV_m1 = sV_0;
sV_0 = sV_p1;
sV_p1 = sV_p2;
sV_p2 = sV_p3;

valor ajustado hacia fuera contra el umbral de la prueba
Si (sV_adjusted > umbral)
{
analogWrite (ledPin, 255);
} else {}
analogWrite (ledPin, 0);
}

Si (depurar)
{
Serial.Print ("ajustar valor:");
Serial.println(sV_adjusted);
}

}

---------------------------------------------------------------------------------------------------

Mediante convolución el raw ruido analógico de más o menos 150 se redujo a alrededor de 10. Un umbral luego fue escogido para ser cerca de 15 por encima de los valores medios de la enrevesada. Un umbral más alto se traduce en una entrada más grande que violan el umbral. Ajuste el coeficiente de la curva y la curva de bell "aplanador" y uso de valores más en la cola más harán los datos estable pero también hará que el evento de interés más difícil de detectar. Haciendo la curva de la campana más grande en el centro por la ponderación de los valores del centro de la cola más pesadamente tendrá el efecto contrario y los datos serán más ruidosos pero más fácilmente se detectan eventos de interés.

Más problemas de ruido y la razón de dos Arduino:

Había otro problema que enfrentamos con el micrófono que hicimos. Si hay cualquier otro hardware en el tablero, decir un servo que fue trasladada dependiendo del valor del sensor enrevesada, el ruido otra vez haría los datos inutilizables. Por esta razón, la ONU fue utilizada para supervisar el micrófono y hacer la convolución de los datos. Si los valores eran entonces por encima del umbral fue escrito un valor a un puerto que estaba monitoreando la Mega. Si el Mega detecta que el valor estaba monitoreando es sobre algún otro umbral, en consecuencia cambiaría el comportamiento de los LED. La detección del micrófono no se podía hacer en el Mega por el ruido de todos lo LED de ser escrito.

Cableado:

El cableado del micrófono es bastante fácil con sus encabezados etiquetados de VCC, GND y AUD. Observe que el encabezado superior de la imagen de abajo es unUD como en audio, no AVD como en voltaje analógico. AUD es la salida del micrófono que se lee en un puerto analógico en el Arduino.

Cableado el LED también era fácil, si no un poco lentos. Para cada LED, soldar un cable (de un color determinado, elegimos rojo o azul) a la más de las dos patillas del LED (que es el voltaje en) y otro alambre de la soldadura (de distinto color, elegimos el negro) al perno más corto, el conector de tierra del LED. Para los pares de ojos, de la soldadura de los extremos cortos y largos de dos LED para el cable del mismo respectivamente. Utilizamos hilo único para facilitar la interfaz con los puertos de la placa de Arduino. Asegúrese de que los cables sean lo suficientemente largos para llegar a la Arduino desde donde usted puede colocar el LED en su pantalla. Para calcular esto, merece la pena sacar qué crees que la pantalla se verá como, como se ve en el paso 4.

Artículos Relacionados

Hada de los dientes, la marioneta de la felpa rugiendo

Hada de los dientes, la marioneta de la felpa rugiendo

este es el segundo proyecto del curso de ciencia computadoras cosas que pensar en la primavera de 2012 en la Universidad de Colorado, Boulder. El objetivo de este proyecto era crear un peluche que también se utiliza computación de alguna manera. El e
Sable láser de Luke (el retorno del Jedi) - Cómo a DIY

Sable láser de Luke (el retorno del Jedi) - Cómo a DIY

Luke Skywalker es un legendario Jedi en el universo de Star Wars. Su historia es la base de la trilogía original. Parte de lo que lo hace fresco es su que auto construida sable de luz verde en el retorno del Jedi.Con mi guía a través de vídeo te most
Mini Sculpey Jedi Maestro Yoda

Mini Sculpey Jedi Maestro Yoda

Yoda: "para hacer tu propio mini sculpey Jedi Maestro Yoda con este instructable debes aprender.  Herh herh herh."¿Ha pensado alguna vez a ti mismo, si sólo tenía un Yoda del tamaño de un palillo de dientes mi vida estaría completa?  Instructabl
Desbloqueo réplica de holocrón Jedi de Star Wars: las Guerras Clon animadas

Desbloqueo réplica de holocrón Jedi de Star Wars: las Guerras Clon animadas

Este es un tutorial para hacer una luz y desbloqueo réplica del Jedi holocrón en Star Wars: The Clone Wars Animated.Esto puede ir desde una configuración de "bloqueada" a una configuración de "desbloqueo" y luego a una configuración &q
Soporte de auricular de Jedi

Soporte de auricular de Jedi

Hola. Esta creación se inspiró en la inmortal saga del Jedi.Con él, simplemente utilice la "fuerza" que existe dentro de TI para tener el auricular en tus manos.Videos:Paso 1: funcionamiento El funcionamiento es muy sencillo:Cuando se aproxime e
Coser un Jedi, Harry Potter túnica o manto

Coser un Jedi, Harry Potter túnica o manto

este instructable requiere una máquina de coser y el conocimiento de la utilización de uno. Si no cumples estos requisitos, mejor encontrar alguien que la tenga.HistoriaAlguien me pidió para hacer una bata de Colegio de Harry Potter. Era tamaño para
Barbie y Ken

Barbie y Ken

mi novio y yo fuimos a una fiesta de Halloween como Barbie y Ken.Hicimos el traje con la compra de un muchacho de gran armario de un almacén de alimentación móvil, cortar por la mitad, corte los paneles frontales en forma y pintando. Los toques eran
Jedi Gym Bob

Jedi Gym Bob

he visto algunos diferentes entrenamientos en línea que impliquen un régimen de entrenamiento Jedi.  Pensé que si alguien fuera a hacer su propio centro de entrenamiento Jedi en casa - Bob sería una gran adición.Si fueras un Jedi y fueron en el comba
Jedi Nagai Sentinel: Cosplay DIY Star Wars

Jedi Nagai Sentinel: Cosplay DIY Star Wars

¡ Bienvenidos todos a mi tutorial rápido de "Hágalo usted mismo" Cosplay de Star Wars!Como un ávido fanático de Star Wars fue inflexible sobre completar un Jedi disfraz/Cosplay antes del lanzamiento de los Star Wars: la fuerza despierta película
Caliente y picantes Kosher Dills (sin vinagre)

Caliente y picantes Kosher Dills (sin vinagre)

Estas es la mejor receta de salmuera, después de pasar años decepcionados con la disponibilidad de un gran eneldo Kosher con una pequeña mordida, fuera del área metro de NY, experimenté hace años con la perfecta mezcla de especias, sal, ajo, eneldo y
1959 original traje de baño Barbie y Ken

1959 original traje de baño Barbie y Ken

aunque renuente, convencí a mi novio a vestirse para arriba como Ken para que coincida con mi traje de Barbie! Todos los materiales para mi traje fueron comprados en una tienda de tejido local (Mary-Jo en Gastonia, NC) y un amigo utiliza un patrón de
Traje de Jedi, genérico

Traje de Jedi, genérico

esto es una túnica de jedi genérico instructable basado en de algunos otros que he encontrado en otros lugares en el internets.  Estoy usando algunas opciones y consejos que he encontrado en otros sitios-it de una túnica de jedi, por lo que es no es
Argón Tano, la Jedi Padawan

Argón Tano, la Jedi Padawan

este traje fue creado para mi hijo de seis años. Él es un ventilador enorme de galaxias, cada año desde que tenía 3, ha sido un personaje diferente de SW, Luke Skywalker, Boba Fett de joven, Starkiller. Este año quería un traje de encargo, y que la m
Jedi Lightsaber de metal con un presupuesto

Jedi Lightsaber de metal con un presupuesto

rápido! Es casi la noche de la fiesta de halloween y no tienes todos su traje Jedi junto! ¡¿A qué te dedicas?!Tal vez esto ayudará. Este es mi sable de luz de metal construido principalmente con piezas de fontanerÃa. Se puede hacer en pocos minutos,