Paso 3: Escribir la lógica de las luces
Resultó que, cuando mis antebrazos eran paralelos al suelo, las lecturas de mi monitor de eje x (con la flecha que apunta hacia los dedos) fueron alrededor de 500.
Podría haber sólo Coloque el gatillo hay y escrito lógica para decirle a los LEDs a encender si la lectura fue por encima de 500 y para apagar si fueron menos de 500, pero quería un poco más de flexibilidad. El bucle que escribí parecía esto en su lugar:
void loop() {}
XVal = analogRead(accPin);
Si (Xval < 450) {}
digitalWrite (13, bajo);
};
Si (Xval > 550) {}
digitalWrite (13, HIGH);
};
Delay(100);
}
Configurar estos dos disparadores me dio la oportunidad de elegir , si quería que la luz debe estar encendido o apagado cuando mis manos estaban paralelas al suelo. Voy a anfitrión de una fiesta de estas, así que quiero poder a mano de una bebida sin cegar a alguien, pero también quiero ser capaz de lograr muchas poses cool, a plena potencia.
Porque sólo prende la un poco más arriba del punto donde yo sería tenerlos recta, necesito sacarlos bruscamente hasta para encender inicialmente, pero luego, puedo moverlos sin demasiado temor a que lo apague. Para ellos bajar vuelvo a mis brazos a mis lados, y luego, una vez que estén apagado, yo puedo todavía moverlos todo el camino hasta mis antebrazos son planas sin encender innecesariamente.
Ya que solo estuve probando mi código, para asegurarse de que estaba leyendo mi sensor correctamente, solo estaba iluminando el LED incorporado en el tablero en el número del pin 13. Comencé con números un poco distintos, pero yo seguí los afinando y reexportación el código hasta que los gatillos derecho y sincronizado hasta con mis movimientos como deseaba.