Inalámbrico de acelerómetro controlado rgb-LED (3 / 4 paso)

Paso 3: Programación en C

El código está escrito en C ya no me importaba para aprender la lengua "más fácil" de procesamiento que arduino se basa en. Yo mismo escribió la interfaz SPI y rf del transceptor para la experiencia de aprendizaje, pero pidió prestado el código ensamblador de i2c de avrfreaks.net. La interfaz de shiftbright es bitbanged en el código de C.
Uno de los problemas que encontré fue irradic pequeñas variaciones en la salida de acelerómetro, esto hizo el led parpadear mucho. Había solucionado esto con un filtro de paso bajo de software. Una media móvil ponderada en los valores de acelerómetro.
El transceptor rf soporte hardware crc y ack con transmisión automática, pero para este proyecto el en tiempo real, actualización de lisa de los leds fue más importante. Cada paquete con valores de acelerómetro no necesita llegar intacto al receptor, siempre y cuando se descarta los paquetes corruptos. No he tenido problemas con paquetes perdidos de RF dentro de 20 metros línea de vista. Pero lejos el enlace llegó a ser inestable, y los leds no se actualizan continuamente.

El bucle principal del transmisor en seudocódigo:

Initialize();

mientras {}
Valores = abs (obtener x, y, z acelerómetro values());
RF_send(values);
Delay(20ms);
}

El bucle principal del receptor en seudocódigo:

Initialize();

mientras {}
nuevos valores = blocking_receiveRF());
rgbValues = rgbValues + 0.2*(newValues-rgbValues);
Escriba rgbValues para shiftbrigth;
}

Artículos Relacionados

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
Robot de acelerómetro controlado (recogida y lugar)

Robot de acelerómetro controlado (recogida y lugar)

La mayoría de robots industriales todavía está programada mediante el proceso de enseñanza típica, mediante el uso del robot enseña colgante. En este trabajo se propone un sistema basado en el acelerómetro para controlar un robot industrial con dos p
Acelerómetro controlado, cabeza seguimiento Rover

Acelerómetro controlado, cabeza seguimiento Rover

Este proyecto fue una combinación de varias ideas que han venido juntos para crear a un impresionante rover.   El Rover es controlado usando un reloj equipado con un acelerómetro para registrar los movimientos y la inclinación de la muñeca.  El rover
Acelerómetro controlado Guanteletes Luz

Acelerómetro controlado Guanteletes Luz

Este Halloween, decidí ser Alina Starkov de La trilogía de Grisha por Leigh Bardugo. En los libros, ella es la solo sol invocador, haciendo magia con la luz y el calor.Puesto que esos poderes eran más allá de mí, armé un conjunto de guanteletes contr
Vidrio con luz de acelerómetro controlado

Vidrio con luz de acelerómetro controlado

He empezado este proyecto como un vidrio de lado de la cama con función de iluminación. Cuando he avanzado exploré diferentes usos en diferentes contextos.Escenario de cristal de lado de cama:Cuando el usuario se despierta y necesita beber agua, él o
Exhibición de la temperatura cromática - Arduino controlado RGB LED Infinity Mirror

Exhibición de la temperatura cromática - Arduino controlado RGB LED Infinity Mirror

Este proyecto se inspiró libremente en , una pantalla de estación cuyo color depende de la temperatura exterior. Tuve un compañero de cuarto en la Universidad que tenía uno de estos y es muy útil, en Pittsburgh especialmente, sólo echar un vistazo en
Tiras de LED de Phone Remote-Controlled inalámbrico: RasPi con conductor Fadecandy con WS2811/WS2812 direccionable LED tiras con TouchOSC Smartphone App con el Iphone o el Droid

Tiras de LED de Phone Remote-Controlled inalámbrico: RasPi con conductor Fadecandy con WS2811/WS2812 direccionable LED tiras con TouchOSC Smartphone App con el Iphone o el Droid

Aquí va un resumen de diseño cada vez más amplia de mi último proyecto. A continuación, un vídeo que he subido mostrando algunas funciones:La progresión de la idea original fue algo como lo siguiente:Tira de LED direccionable (s siempre queremos más
Mini coche controlado por bluetooth acelerómetro

Mini coche controlado por bluetooth acelerómetro

Hola amigos,Hace poco entré en el mundo de arduino y su impresionante open source programación y desarrollo. Así que decidí hacer un coche mini cool acelerómetro controlado por Bluetooth. Esto suena increíble pero el concepto es simple es controlado
Aumentar la gama de un termómetro inalámbrico de barbacoa (rev 2)

Aumentar la gama de un termómetro inalámbrico de barbacoa (rev 2)

este instructivo describe un proceso muy simple para aumentar la gama de un termómetro inalámbrico de barbacoa.Mientras que el proceso debe ser similar para casi todos los termómetros RF, el modelo específico que estoy Pirateando es un "Maverick Redi
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
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
Nunchuck Wii inalámbrico controlado por Arduino

Nunchuck Wii inalámbrico controlado por Arduino

Utilizar un sin modificar totalmente inalámbrico Wii Nunchuck como un sistema de control para cualquier proyecto basado en Arduino. No pares de transmisor/receptor de radio mayor etc..Este instructable asumir alguna experiencia con el microcontrolado
LINTERNA LED EXTRA brillante soplete taladro inalámbrico conversión

LINTERNA LED EXTRA brillante soplete taladro inalámbrico conversión

De vez en cuando tengo que cambiar de unidades de consumo / tableros de fusibles y esto exige una desconexión de la red eléctrica a una propiedad. Por lo tanto, para iluminar el trabajo, tengo muchas antorchas LED / linternas, incluyendo linternas de