Construir un CyberGlove $30k para $40 - enviado por BayLab para el programa de patrocinio de Instructables (6 / 7 paso)

Paso 6: código de

La forma más rápida de empezar es usando construido en boceto analógico pot que viene con Arduino. Te voy a mostrar el código que escribí, pero necesitarás modificar para sus propias necesidades. Mostrar cómo los valores de la escala y le da una plantilla buena aunque.

Este primer bosquejo utiliza valores codificado para la olla. Es decir, vi Qué salida de Arduino para las posiciones max y min de la olla y los utiliza para averiguar cuánto el dedo ha pasado:

/*
AnalogReadSerial
Lee un pin analógico de entrada en 0, imprime el resultado en el monitor serie.
Conecte la patilla central del potenciómetro al pin A0 y la exterior pins a + 5V y la tierra.

Este ejemplo de código es de dominio público.
*/

flotador analog0;
flotador analog1;
flotador analog2;
flotador analog3;
Float analog0_close;
Float analog1_close;
Float analog2_close;
Float analog3_close;
Float analog0_open;
Float analog1_open;
Float analog2_open;
Float analog3_open;

la rutina de instalación se ejecuta una vez al presionar reset:
void setup() {}
inicializar la comunicación serial a 9600 bits por segundo:
Serial.Begin(9600);
Serial.println ("codificado con max y min);
}

una y otra vez funciona para siempre la rutina bucle:
void loop() {}
analog0 = analogRead(A0);
Analog1 = analogRead(A1);
Analog2 = analogRead(A2);
Analog3 = analogRead(A3);

Escala de los valores a un rango de [0,1]
Float scaled_thumb = (analog0 - 854.00) /(920.00-854.00);
Float scaled_point = (analog1 - 860.00) /(923.00-860.00);
Float scaled_middle = (analog2 - 862.00) /(913.00-862.00);
Float scaled_ring = (analog3 - 848.00) /(902.00-848.00);
Si (scaled_thumb < 0.00) {}
scaled_thumb = 0.00;
}
Si (scaled_point < 0.00) {}
scaled_point = 0.00;
}
Si (scaled_middle < 0.00) {}
scaled_middle = 0.00;
}
Si (scaled_ring < 0.00) {}
scaled_ring = 0.00;
}

Serial.Print ("pulgar:");
Serial.Print(scaled_thumb);
Serial.Print ("punto:");
Serial.Print(scaled_point);
Serial.Print ("media:");
Serial.Print(scaled_middle);
Serial.Print ("anillo:");
Serial.println(scaled_ring);
Serial.Print(scaled_point);

Delay(1);        retardo entre lecturas para la estabilidad. Utilícelo para la depuración

}

Aquí está otra versión que escribí que trata de calibrar la posición max y min al principio. Encontré que esto no funciona tan bien debido a la flexibilidad de mi guante.

/*
AnalogReadSerial
Lee un pin analógico de entrada en 0, imprime el resultado en el monitor serie.
Conecte la patilla central del potenciómetro al pin A0 y la exterior pins a + 5V y la tierra.

Este ejemplo de código es de dominio público.
*/

flotador analog0;
flotador analog1;
flotador analog2;
flotador analog3;
Float analog0_close;
Float analog1_close;
Float analog2_close;
Float analog3_close;
Float analog0_open;
Float analog1_open;
Float analog2_open;
Float analog3_open;

la rutina de instalación se ejecuta una vez al presionar reset:
void setup() {}
inicializar la comunicación serial a 9600 bits por segundo:
Serial.Begin(9600);
Serial.println("calibrating...");
Serial.println ("mano abierta.");
Delay(2000);
analog0 = analogRead(A0);
Analog1 = analogRead(A1);
Analog2 = analogRead(A2);
Analog3 = analogRead(A3);

analog0_open = analog0;
analog1_open = analog1;
analog2_open = analog2;
analog3_open = analog3;
Serial.Print ("adquirido:");
Serial.Print(analog0_open);
Serial.Print("");
Serial.Print(analog1_open);
Serial.Print("");
Serial.Print(analog2_open);
Serial.Print("");
Serial.println(analog3_open);

Serial.println ("estrecha la mano");
Delay(2000);
analog0 = analogRead(A0);
Analog1 = analogRead(A1);
Analog2 = analogRead(A2);
Analog3 = analogRead(A3);
analog0_close = analog0;
analog1_close = analog1;
analog2_close = analog2;
analog3_close = analog3;

Serial.Print ("adquirido:");
Serial.Print(analog0_close);
Serial.Print("");
Serial.Print(analog1_close);
Serial.Print("");
Serial.Print(analog2_close);
Serial.Print("");
Serial.println(analog3_close);

Serial.println ("calibración completa.");
Serial.println("Running...");
Delay(2000);
}

una y otra vez funciona para siempre la rutina bucle:
void loop() {}
analog0 = analogRead(A0);
Analog1 = analogRead(A1);
Analog2 = analogRead(A2);
Analog3 = analogRead(A3);
imprimir el valor de leer:
Serial.Print ("pulgar:");
Serial.Print(analog0);
Serial.Print ("punto:");
Serial.Print(Analog1);
Serial.Print ("media:");
Serial.Print(Analog2);
Serial.Print ("anillo:");
Serial.println(Analog3);
Escala de los valores a un rango de [0,1]
Float scaled_thumb = (analog0 - analog0_open) / (analog0_close - analog0_open);
Float scaled_point = (analog1 - analog1_open) / (analog1_close - analog1_open);
Float scaled_middle = (analog2 - analog2_open) / (analog2_close - analog2_open);
Float scaled_ring = (analog3 - analog3_open) / (analog3_close - analog3_open);

Serial.Print ("pulgar:");
Serial.Print(scaled_thumb);
Serial.Print ("punto:");
Serial.Print(scaled_point);
Serial.Print ("media:");
Serial.Print(scaled_middle);
Serial.Print ("anillo:");
Serial.println(scaled_ring);

Delay(1);        retardo entre lecturas para la estabilidad

}

Artículos Relacionados

Alcoholemia portátil DIY - enviado por BayLab para el programa de patrocinio de Instructables

Alcoholemia portátil DIY - enviado por BayLab para el programa de patrocinio de Instructables

detectar su BAC wih un bolsillo tamaño alcoholemia.Paso 1: descargo de responsabilidadAntes que comencemos, un descargo de responsabilidad. Esto no pretende ser utilizado para decir si es aceptable para conducir o no. No es tan preciso como un policí
Otro cuadrotor barato - enviado por BayLab para el programa de patrocinio de Instructables

Otro cuadrotor barato - enviado por BayLab para el programa de patrocinio de Instructables

como básicamente todos estos días, que quería construir un cuadrotor. Aquí es cómo construí mina para bastante barato.Paso 1: Diseño mecánico construí mi cuadrotor con un amigo. Usé algunos escuadra aluminio fino de Home Depot como los puntales. Los
Gigante Web controladas Rover - enviado por BayLab para el programa de patrocinio de Instructables

Gigante Web controladas Rover - enviado por BayLab para el programa de patrocinio de Instructables

este Instructable le mostrará cómo convertir un carro PowerWheels en un rover web controlada. Te voy a mostrar cómo convertir incluso el coche de PowerWheels más antiguos, junkiest en un coche rápido de la telepresencia.Paso 1: Preparando el coche Po
¿Generador de música controlada - enviado por BayLab para el programa de patrocinio de Instructables del cerebro

¿Generador de música controlada - enviado por BayLab para el programa de patrocinio de Instructables del cerebro

sería genial si se puede crear música basada en su actividad cerebral? Siga este instructable y yo te mostraré cómo!Paso 1: La plataforma Para este proyecto, necesita una forma de leer las ondas cerebrales. Una de las maneras más baratas es hackear e
El Sr. Tea, alternativa del bebedor té a Mr. Coffee - enviado por BayLab para el programa de patrocinio de Instructables

El Sr. Tea, alternativa del bebedor té a Mr. Coffee - enviado por BayLab para el programa de patrocinio de Instructables

mayoría de la gente gusta beber café por la mañana, pero no me gusta el café, por lo que beber té. Quería un dispositivo simple para hacer té y tetera real cuesta alrededor de $300. Incluso no necesito una cafetera completa para hacer té, sólo una pl
¿Crecimiento de las plantas - enviado por BayLab para el programa de patrocinio de Instructables de hacking

¿Crecimiento de las plantas - enviado por BayLab para el programa de patrocinio de Instructables de hacking

quiere hackear sus plantas a nivel genético y hacerlos crecer enormes? Este instructable le mostrará cómo!Paso 1: el ácido giberélico Ácido giberélico es una planta natural de la hormona de crecimiento. Las plantas normalmente producen GA, y es lo qu
Puede RC / cilindro - enviado por BayLab para el programa de patrocinio de Instructables

Puede RC / cilindro - enviado por BayLab para el programa de patrocinio de Instructables

un par de años atrás, hubo un comercial que funcionó para Chef Boyardee que tenía una lata de sopa después de una niña en casa. Puedes ver aquí:su realmente no significa nada hasta que yo buscaba en la Web de industrias m5. M5 es una empresa de efect
Tubo de ojo mágico - enviado por BayLab para el programa de patrocinio de Instructables

Tubo de ojo mágico - enviado por BayLab para el programa de patrocinio de Instructables

ojo mágico de un tubo es un dispositivo antiguo que fue utilizado originalmente para indicar qué tan bien una radio fue sintonice a una estación específica. En este Instructable, usted aprenderá cómo trabajar tubos de ojo mágico, donde conseguirlos,
¿Crear un Linux Cluster - enviado por BayLab para el programa de patrocinio de Instructables

¿Crear un Linux Cluster - enviado por BayLab para el programa de patrocinio de Instructables

siempre deseó tener un cluster de Linux a los números de la crisis? Esta guía le enseñará a iniciado sobre la configuración de un cluster que puede cargar automáticamente equilibrio hilos y ayuda que usted aprende cómo funcionan los superordenadores.
Construir un tren de juguete a lucha por lo que es derecho

Construir un tren de juguete a lucha por lo que es derecho

Resumen EjecutivoEn un estilo puro de documentación técnica, muy simple, espero reflejar:(1) cómo la construcción de juguetes personales y personalizados ayuda a combatir el gran complejo comercial/industrial de sameinizing que nuestros hijos (este p
Construir A medida Stock para la Springfield M1A

Construir A medida Stock para la Springfield M1A

soy un gran fan del rifle de M1A en todos de configuraciones - es exacto, divertido para disparar y fiable como un yunque (y casi tan pesada - lol)- pero aún puede ser mejorada.  Me gusta también las poblaciones de empuñadura de pistola - sobre todo
Construir un útil accesorio para un ShopSmith Mark V

Construir un útil accesorio para un ShopSmith Mark V

Construir un útil accesorio para un ShopSmith Mark VEl año pasado compré un principios de los ochenta ShopSmith Mark V (modelo 500) de un miembro de la familia de un amigo en nuestra ciudad. Fue en una condición y, después de algunos meses de retoque
Construir tu propio torno para madera en 30 minutos

Construir tu propio torno para madera en 30 minutos

https://www.youtube.com/watch?v=p-fk3UalLng&feature=youtu.bePaso 1: Construir tu propio torno para madera en 30 minutos necesita! Paso 2: En este instructables voy a compartir una idea genial sobre como hacer un torno mini DIY energía. Paso 3: Se nec
Construir una máquina de arcade desarrollada por frambuesa pi para un bajo presupuesto

Construir una máquina de arcade desarrollada por frambuesa pi para un bajo presupuesto

así que me inspiré por los proyectos Sierra en línea como la NaCade y Porta-Pi y quería construir algo similar. Problema era, como un niño de 13 años, realmente no tienen mucho dinero para gastar, aparte de tarjetas de regalo. Así que en lugar de int