Paso 6: Usando el controlador y hackeando el código
Abrir el código de Arduino en su entorno y cargarlo en el Arduino. Luego abra el bosquejo del proceso en su entorno y haga clic en el botón play. Una pantalla que parece la primera imagen debe saltar con el balón hacia la esquina superior, más cercana a usted.
Ahora coloque su puño en la parte superior, con el brazo apuntando hacia el extremo inferior (donde los 3 pedazos de cartulina se cruzan.)
Haga clic en el botón izquierdo del ratón y manténgalo presionado. Mueva lentamente el puño hacia el extremo inferior. Cuando llegue allí, suelte el botón.
Ahora el bosquejo de procesamiento sabe cuál es su rango de movimiento, y la gama de tiempos de carga puede esperar para cada placa. Ahora puede jugar y ver que la bola siga su mano!
Este seguimiento no será perfecto, especialmente hacia los bordes del cubo (probablemente debido a los campos marginales del condensador.) Sin embargo, al trabajar con cables blindados, asegurándose de que nada está en contacto eléctrico, y seleccionar un buen valor para el tamaño de las placas y las resistencias, deben ser capaces de mejorar la respuesta del sensor. Experimentar con esto! Trataron de unos tamaños de placa y se establecieron en cuadrado de 8 pulgadas, pero el camino lo hicimos distaba mucho de ser cuantitativa. No disponemos de tiempo para probar otros valores de resistencia. Recuerde que cuanto mayor sea el valor de la resistencia, menor el tiempo de carga o descarga. No estamos seguros cómo esto afectará la exactitud de las lecturas, aunque mi primera conjetura sería que tiempos más largos de descarga conduciría a una más precisa pero más lenta para responder a medida.
Hackeando el código:
La verdadera diversión de tener este sensor 3D es cómo se puede adaptar a todo tipo de dispositivos de control. Las aplicaciones más sencillas sería algo que simplemente conectar varios circuitos cuando la mano está en una posición determinada, y cuando la mano está en otro control.
En el bosquejo del proceso, las variables que indican las coordenadas de la mano se llaman .avg axyz [0], .avg axyz [1] y .avg axyz [2] (la sd es solo un factor de escala).
Usted puede imprimir los valores de estas variables mediante la adición de impresión declaraciones después de que las variables ven por primera vez, tales como: print(axyz[0]);
Imprimiendo los valores de estas variables, puede calcular hacia fuera qué números corresponden a las ubicaciones en el cubo.
A continuación, puede utilizar estas coordenadas a su ventaja! Por ejemplo, puede escribir un if instrucción en el bosquejo de procesamiento que indica el Arduino donde su puño es como:
Si (axyz [0] < 0.1 & & axyz [1] > 0.9 & & axyz [2] < 0.1) {}
serial.Write(1)
Este fragmento de código debe decirle a Arduino en serie que su puño en la esquina posterior
Tenga en cuenta que el código ya ha inicializado el puerto serie que se llamará "serial" en la línea 4
}
Luego en el código de Arduino, se puede escribir un if instrucción que dice "si mi puño está en este lugar, configurar el pin digital 5 a alto"
Por encima de
void setup()
escribir la instrucción:
int incomingByte = 0; declara una variable para almacenar el entrada byte Serial
Luego en el lazo, escribir
enviar datos sólo cuando recibas los datos:
Si (Serial.available() > 0) {}
leer el byte entrante:
incomingByte = Serial.read();
Si (incomingByte == 1) {}
digitalWrite (5, alto);
}
Ahora juega con el dispositivo que desea controlar. Lo desarma y ver lo que usted necesita, circuito de sabios manejarlo. Ahora tienes la flexibilidad para utilizar la ubicación de la mano a tu Arduino qué hacer con if declaraciones. Utilizarlo para bien o para mal.