Automatizar su hogar por los movimientos de su dedo (4 / 6 paso)

Paso 4: Controlador (código de la Arduino)

Para usar el acelerómetro necesita la biblioteca HMC5883L

Para la comunicación infrarroja se debe usar esta biblioteca

Diseñé mi código para algunas funciones:

flotador getRotation (char x):

Esta función get la rotación acelerómetro y X variable definen ejes de bruja para volver.

 float getRotation(char x) {float heading; sensors_event_t event; mag.getEvent(&event); //read the data from the accelerometer if (x=='x'){heading = atan2(event.magnetic.x, event.magnetic.y);} else if (x=='y'){heading = atan2(event.magnetic.y, event.magnetic.z);} else if (x=='z'){heading = atan2(event.magnetic.z, event.magnetic.x);} return heading * 180/M_PI; } 

bool verificar (flotador corriente [3], flotador origen [4] [3], fila bytes):

Esta función de verificar si el acelerómetro está en una posición específica mediante la comparación de los datos leídos en el array 'corriente [3]' a los datos de la matriz de origen [4] [3] esta matriz tiene 4 filas para cada punto (en nuestros dibujos tenemos sólo 4 puntos) y la variable 'row' fila de bruja para usar.

 bool Verify(float current[3], float origin_[4][3],int row){ byte toler=37;//this variable set the tolerance to respect //return True if the next conditions are true return origin_[row][0]-toler<=current[0] && current[0]<origin_[row][0]+toler && origin_[row][1]-toler<=current[1] && current[1]<origin_[row][1]+toler && origin_[row][2]-toler<=current[2] && current[2]<origin_[row][2]+toler ;} 

getPoint bytes (flotador origen [4] [3]):

Esta funciones las dos últimas funciones combinan y devolución la posición del acelerómetro:

(Up(return 1), derecha (vuelta 2), abajo (3 vuelta), Left(return 4))

 byte getPoint (float origin__[4][3] ){ byte return_=0; float current[3]={getRotation('x'), getRotation('y'), getRotation('z')}; if(Verify(current, origin__,0)){return_=1;} else if(Verify(current, origin__,1)){return_=2;} else if(Verify(current, origin__,2)){return_=3;} else if(Verify(current, origin__,3)){return_=4;} return return_; } 

bool comparar (byte Mdrawing [4] [4], fila bytes):

Esta función obtiene los puntos sucesivos y ver si están en el mismo orden de los puntos almacenados en 'Mdrawing[4] [4]' hay 4 raws de esta matriz que depende cuánto dibujos ha declarado, en este tenemos solo 4 dibujos

 bool Compare (byte Mdrawing[4][4],byte row){ byte Cpoint=getPoint( origin); //read the current point of the accelerometer(origin is a global variable ,it's the rotations of each point ) byte Ppoint=0;// this variable will stock previous points byte y=0; byte x=0; while(Mdrawing[row][x]!=0 && x<4){x++;}//get the number of columns that the value is different than 0 while(y<x){ Cpoint = getPoint( origin);//read the current point if (Cpoint==Mdrawing[row][y] && Cpoint!=0){Ppoint=Cpoint;//if the current point is in the same order of the point in 'Mdrawing' while (Ppoint==Cpoint && y!=x-1){Cpoint=getPoint(origin);}// wait that the current point change y++;}//pass to the next point else if(Cpoint!=Mdrawing[row][y] && Cpoint!=0){return 0;}}//if the current point is different than the point in 'Mdrawing' return 1;} 

origen del flotador [4] [3]:

esta matriz contiene la rotación de cada puntos que se puede definir con el archivo de calibración. Parece que:

 float origin[4][3]= {{71.93,149.56,-29.04},//up point {5.97,126.75,-82.03},//right point {-72.14,162.31,-134.71},//down point {97.64,-174.11,-52.44}};//left point 

byte Mdrawing [4] [4]:

esta matriz contiene la orden que lo debe para hacer un dibujo específico por ejemplo:(picture 1)

Artículos Relacionados

Utilizar RPi, Azure y Cortana para automatizar su hogar!

Utilizar RPi, Azure y Cortana para automatizar su hogar!

IntroducciónHay nueva tecnología alrededor de nosotros y solamente más que todos los días. Los micro controladores son cada vez más rápido, son teléfonos que más inteligente, y la nube es cada vez más fuerte. Con esta nueva tecnología todos se pregun
Cómo: Proteja su hogar contra los ladrones en un fin de semana

Cómo: Proteja su hogar contra los ladrones en un fin de semana

Usted ha invertido mucho tiempo y dinero en su casa, así que es importante que usted mantenga protegido. Hay varias medidas de seguridad simple puede hacer cambio de imagen su hogar y hacerla más segura. SafeWise ha elaborado una lista de algunas de
Lucha contra postura Coaching dispositivo (pivote) - previene el pie de pivote Slacking por los ladridos

Lucha contra postura Coaching dispositivo (pivote) - previene el pie de pivote Slacking por los ladridos

Lucha contra principiantes a través de los veteranos puede ahora entrenar con un entrenador incansable que está con usted cada paso del camino, para mejorar la Fundación más básica y vital para ganar una pelea, la postura básica. Enfrentémoslo, sin a
Horno solar por los magos de la ciencia

Horno solar por los magos de la ciencia

¡ Hola! Nuestros nombres son Gaby, Cambria y Vanessa. Actualmente estamos en Ciencias de la tierra, un curso de Ciencias en nuestra escuela y vamos a ser diseñar y construir un horno solar. Construcción de horno solar será difícil pero al final estam
Google orientados más por los spammers en febrero - Kaspersky Lab

Google orientados más por los spammers en febrero - Kaspersky Lab

Google dirigida más por los Spammers en febrero-Kaspersky Lab - Funny blooper videos están aquí http://www.telecomtiger.com/Technology_fullstory.aspx?passfrom=topstory&storyid=17151&section=S210Google orientados más por remitentes de spam en comen
Cómo jugar a los palillos (juego de dedos)

Cómo jugar a los palillos (juego de dedos)

Así que primero tienes que hacer el tablero de juego en 500 pasos complicados... Oh espera eso no es todo! Es realmente muy simple! En primer lugar conseguir a un socio y sobresalen las manos delante de usted con un dedo sobre ellos. Tienen su pareja
Cómo proteger su hogar de los ladrones.

Cómo proteger su hogar de los ladrones.

Lo que sigue es un PSYWAR (guerra psicológica) contra los pedazos de bolsa de suciedad de la basura que se aprovechan de los débiles (haciendo los ladrones asumir que tendría menos problemas, menos riesgo de ir a la cárcel otra vez o herido) y en hac
Tejer por los zurdos

Tejer por los zurdos

Mi pareja siempre ha luchado por aprender a tejer cuando se enseñó por diestros. Después de un tiempo ella desarrolló su propio estilo de hacer punto para zurdos y me he animado a compartir con todos ustedes para ayudar a cualquier los zurdos que hay
Archivo por lotes: Movimiento básico

Archivo por lotes: Movimiento básico

La mayoría de las técnicas utilizadas para crear movimiento en un archivo por lotes que encuentro es manera más complicada de lo que necesitan para ser, por lo que he creado una versión básica cuando estaba aburrido. ¡ Disfrute!Paso 1: El códigoSolo
¿Aprender los movimientos básicos de Zumba

¿Aprender los movimientos básicos de Zumba

Ever quería probar Zumba? ¿Le dejó la falta de instrucciones?Zumba puede ser intimidante si no bailas. Pero puedo enseñarte los fundamentos! Siga estos sencillos pasos y ver cómo lo haces.  Clase es simple una vez que domines los conceptos básicos. H
Recubierto de azúcar miel de abejas - o - como se prueba por los ácaros Varroa

Recubierto de azúcar miel de abejas - o - como se prueba por los ácaros Varroa

¿Trastorno de colapso de Colonia le pusimos? Puede onda tus brazos en el aire, tear drop texto emoticonos de compartir con tus amigos sobre cuánto amaste a tus abejas muertas, hashtag su decepción, culpa a los pesticidas, pero hagas lo que hagas, no
Caer por los agujeros de camiones

Caer por los agujeros de camiones

de este Instructable vamos a ver algunas maneras de recorte sus propia caída por carro los agujeros utilizando una plantilla de router.** Gota a través de camiones agujero plantillaUsted puede encontrar plantillas de papel en línea que pueden utiliza
Cómo lavarse correctamente los pinceles de maquillaje con artículos para el hogar todos los días

Cómo lavarse correctamente los pinceles de maquillaje con artículos para el hogar todos los días

Usar maquillaje en lo cotidiano puede hacer pinceles crear acumulación de aceite de la piel, las bacterias, maquillaje sí, polvo y otros fragmentos. Asegurarse de lavarlos cada dos semanas no sólo evitará que la suciedad de construcción, transferenci
Reducir el desorden por los alambres de torsión

Reducir el desorden por los alambres de torsión

proyectos de electrónica pueden conseguir desordenados de muchas maneras, incluyendo tener los cables lo que hace difícil navegar por el interior o fuera de su proyecto. Este Instructable le mostrará cómo rápida y fácilmente reducir el desorden en su