¿Acelerómetro powered LED vestido (6 / 7 paso)

Paso 6: Más programación

Una vez que tienes las lecturas, la última parte es decidir qué lecturas a utilizar. Opté por usar la lectura de xAvg.

Ahora es sólo el proceso de agregar una declaración simple 'if' y entonces programar las luces.  Asegúrese de indicar el LED en la parte superior al lado de las clavijas del acelerómetro. Y también al declararlas salida o entrada.

Aquí está el código que he utilizado.

Código adaptado de programación de interactividad (pp. 234-235) por Joshua Noble ***

flower1 int = 5;       Pasadores LED
int flower2 = 6;
int flower3 = 9;
flower4 int = 10;
flower5 int = 11;

int xpin = A3;         eje x del acelerómetro
int ypin = A4;         eje y
zpin int = A5;         eje z (sólo en modelos de 3 ejes)

xVal int = 0;
yVal int = 0;
zVal int = 0;

int xVals [8]; una amplia gama de los últimos 8 x coordenadas lecturas
int yVals [8]; una matriz de los último 8 lecturas de coordenadas y
int zVals [8]; una matriz de las últimas 8 lecturas de coordenadas z
int xAvg = 0; Finalmente leeremos el valor de x
yAvg int = 0;
int zAvg = 0;

int currentSample = 0;

void setup()
{
pinMode (flower1, salida);     configurar el pinModes para que las luces se apaga y enciende.
pinMode (flower2, salida);
pinMode (flower3, salida);
pinMode (flower4, salida);
pinMode (flower5, salida);
pinMode (xpin, entrada);
pinMode (ypin, entrada);
pinMode (zpin, entrada);
Serial.Begin(9600);     Inicializa la comunicación con los equipos
}

void loop()
{
Utilizamos currentSample como un índice en la matriz e incremento en la
final de la loop)() principal, así que ver si necesitamos restablecer en el
principio del bucle

Si (currentSample == 8) {}
currentSample = 0;
}
xVal = analogRead(xpin);
yVal = analogRead(ypin);
zVal = analogRead(zpin);
Esto almacena 8 valores. Básicamente, almacena
el pasado 8 leer los valores y lo continuamente promedios (más adelante en el código).
xVals [currentSample] = xVal;
yVals [currentSample] = yVal;
zVals [currentSample] = zVal;

Aquí es donde los valores son lo que usted
finalmente obtener los valores últimos 8

para (int i = 0; i < 8; i ++) {}
xAvg += xVals [i];
yAvg += yVals [i];
zAvg += zVals [i];
}
Estos van a leer los primeros 7 ciclos, pero que no hará una gran diferencia
a menos que necesite leer inmediatamente el valor del acelerómetro

Calcular el promedio
xAvg = (xAvg 20);
yAvg = (yAvg / 20);
zAvg = (zAvg 20);

Imprimir la media

Serial.Print(xAvg);
Serial.Print("");
Serial.Print(yAvg);
Serial.Print("");
Serial.println(zAvg);
Delay(100);

Si (xAvg < 180) //set if instrucción a reaccionar según sus lecturas.
{
digitalWrite (flower1, HIGH);     las luces se enciende y se apaga les otra vez
Delay(300);
digitalWrite (flower2, HIGH);
digitalWrite (flower1, LOW);
Delay(300);
digitalWrite (flower3, HIGH);
digitalWrite (flower2, bajo);
Delay(300);
digitalWrite (flower4, HIGH);
digitalWrite (flower3, bajo);
Delay(300);
digitalWrite (flower4, LOW);
}
else if (xAvg > 190 & & xAvg < 195)
{
digitalWrite (flower4, HIGH);
Delay(500);
digitalWrite (flower4, LOW);
Delay(500);
digitalWrite (flower3, HIGH);
Delay(500);
digitalWrite (flower3, bajo);
Delay(500);
digitalWrite (flower2, HIGH);
Delay(500);
digitalWrite (flower2, bajo);
Delay(500);
digitalWrite (flower1, HIGH);
Delay(500);
digitalWrite (flower1, LOW);
Delay(500);
}
else if (xAvg > 195 & & xAvg < 215)
{
digitalWrite (flower1, HIGH);
digitalWrite (flower3, HIGH);
digitalWrite (flower2, bajo);
digitalWrite (flower4, LOW);
Delay(600);
digitalWrite (flower1, LOW);
digitalWrite (flower2, HIGH);
digitalWrite (flower3, bajo);
digitalWrite (flower4, HIGH);
Delay(600);
}


currentSample ++; incremento de la muestra

}

Artículos Relacionados

Acelerómetro basado en reconocimiento de gestos para controlar un LED

Acelerómetro basado en reconocimiento de gestos para controlar un LED

Estos materiales y la información contenida en este instructivo son proporcionan por los estudiantes matriculados en el Software de lugares (www.softwareofplaces.com)Clase en la Universidad PUC-Rio. El contenido representado aquí es el proyecto final
Inalámbrico de acelerómetro controlado rgb-LED

Inalámbrico de acelerómetro controlado rgb-LED

acelerómetros MEMS (sistemas Micro electromecánicos) son de uso generalizado como sensores de inclinación en los teléfonos móviles y cámaras. Acelerómetros simples están disponibles ambos como ic chip y pcb-tablas de desarrollo económico.Chips inalám
Casco para bicicleta LED controlada por acelerómetro

Casco para bicicleta LED controlada por acelerómetro

si usted ciclo para diversión, ejercicio, ir al trabajo o compulsión, es importante estar bien iluminado y visible en la noche. Manteniendo el casco iluminado es una buena opción porque le da su principal protección extra. Este casco, el siguiente en
Acelerómetro Tilt control inalámbrico RGB LED-luces

Acelerómetro Tilt control inalámbrico RGB LED-luces

este es el video de mi instructable acelerómetro Tilt control inalámbrico RGB LED-luces. Muestra el transmisor inclinado en diferentes direcciones y la correspondiente luz de la lámpara.Instructivo
Acelerómetro controlado del LED

Acelerómetro controlado del LED

Controlar el brillo de los LED por su movimiento. El módulo de acelerómetro rastrea los movimientos de ejes X, Y y Z y controla el LED.Paso 1: materiales Un Arduino UnoMódulo de acelerómetroDe LEDConexión de los cablesUn tablero de panCable de datos
Bluetooth/giroscopio/acelerómetro controlado Lightball (con leds ajustables individuales en cada lado)

Bluetooth/giroscopio/acelerómetro controlado Lightball (con leds ajustables individuales en cada lado)

Finalmente (casi el tópico) hice mi lightball personal.(A.k.a.: otro día en el FabLab de Aquisgrán)Cada lado es enlighted individualmente con un LED inteligente (WS2812b, en un protoboard pequeño) detrás. Un microcontrolador (MSP430G2553, PDIP.) pued
Gola acelerómetro camisa

Gola acelerómetro camisa

Esta tapa fue inspirada por la alegría que tengo de estar boca abajo y haciendo volteretas!Sólo un círculo de LEDs que comienzan a girar (algo así como el spinning playa bola de la muerte).¡ Disfrute!Paso 1: Necesita cosasMaterialesLilypad Arduino US
Captura de movimiento con un acelerómetro de Arduino con XBee comunicaciones

Captura de movimiento con un acelerómetro de Arduino con XBee comunicaciones

***************************************ACTUALIZADO 10 DE JUNIO DE 2014 ***Según lo prometido, este Instructable ha sido actualizado para incluir una sección sobre comunicación XBee. Además, un Instructable nuevas se publicarán pronto sobre el desarro
Interactive Arduino Powered LED esquís

Interactive Arduino Powered LED esquís

¿Enfermos de la oscuridad mate de esquí nocturno? ¡ No temáis! Esquís de LED interactivos programables Arduino aclarará su noche.Estas casa esquís tienen LEDs incrustados en la hoja superior y p-tex. Un Arduino y un acelerómetro controla las luces. S
Cómo hacer un viento Powered LED de un VCR

Cómo hacer un viento Powered LED de un VCR

este tutorial explica cómo hacer un viento powered LED de un viejo VCR y un molinete. También puede utilizar una vieja unidad de CD-ROM si no tienes un reproductor de vídeo.Si usted está interesado en el tutorial sobre cómo hacer esto desde una unida
Registrador de datos geo: Arduino + GPS + SD + acelerómetro para registrar, sello de tiempo y datos del sensor geo-tag

Registrador de datos geo: Arduino + GPS + SD + acelerómetro para registrar, sello de tiempo y datos del sensor geo-tag

versiones17 de octubre de 2013: he publicado una guía sobre el uso de tu teléfono Android para llevar a cabo una tarea similar al aprovechar tu Android dispositivo de construido en GPS y sensores.06 de febrero de 2013: Aparece en GeoAwesomeness http:
Game Pad USB con inclinación-acelerómetro ratón

Game Pad USB con inclinación-acelerómetro ratón

Hacer un cojín con un acelerómetro dentro del juego!Este tutorial de proyecto le mostrará cómo puede convertir un gamepad de consola en un ratón de teclado USB para jugar en tu PC. El Gamepad USB se puede utilizar con casi cualquier software, como un
Visualización de ángulo con Edison, acelerómetro y Python de la inclinación

Visualización de ángulo con Edison, acelerómetro y Python de la inclinación

Hace poco compré una placa arduino de Edison de Intel. Después de parpadear el LED a bordo, que quería hacer algo un poco más interesante pero bastante simple. Después de leer Internet, me decidí por acelerómetro basado en detección de inclinación.Po
Escudo de acelerómetro para clase de física y más allá

Escudo de acelerómetro para clase de física y más allá

durante una clase de física nos preformado un experimento de física para medir el accleration debido a graivty - 9.8 m/s ^ 2 y mientras que no hizo ningún nuevos descubrimientos de la física que tenía una idea para mejorar el experimento. La manera e