Paso 4: El código
Ahora vamos a echar un vistazo al código para el brazo de la grúa de corredera, que se puede encontrar a continuación. El código utiliza 2 bibliotecas: la biblioteca de StepperAK y la librería IRremote. He incluido ambos en el archivo .zip.
Para ayudar a organizar el código, el proyecto ha sido dividido en 4 pestañas basadas en qué parte del sistema de control que interactúa con. Permite iniciar a través de sliderControl.ino. Este archivo contiene el código para importar y configurar las bibliotecas necesarias, declara las variables que se utilizarán durante todo el programa e incluye la configuración y el bucle principal. Dos cosas importantes a señalar son los códigos de infrarrojos y el bucle principal. Los códigos IR dependerá del mando a distancia que utiliza; para averiguar los códigos para los botones en su control remoto, puede utilizar al Serial Monitor para verlas. Simplemente quite el comentario de dos líneas que mencionan serie. Mudanza en el bucle principal, Arduino comprueba si ha recibido entrada de un control remoto. Si es así, llama a la función decideAction(). De lo contrario, comprueba si la inactividad debe ser ilumina o si la grúa es la carga y descarga.
A continuación, echemos un vistazo a la IR_Codes.ino. Contiene las funciones relacionadas con el sensor de infrarrojos. La única función de dentro es la función de decideAction() bastante largo. Esta función realiza toda la lógica necesaria para averiguar qué botón ha sido presionado y lo que debe hacer. Tenga en cuenta la estructura de esta función. En primer lugar, comprueba si los botones de carga y descarga que se haya pulsado. Esto permite que el brazo de la grúa sea fácilmente puesto en o sacado la base ejecutando continuamente los motores. A continuación, comprueba si la carga/descarga son en. Si bien son, no otras medidas. Esto impide que la grúa se dañar posiblemente pulsando un botón del control remoto mientras se carga y descarga.
Por último, tenemos el Stepper_Control.ino. Esto incluye todas las funciones relacionadas con los motores paso a paso. Estas son funciones bastante simples, pero cuenta que cada función fija stepsTaken a la nueva cantidad, lo que impide que el motor sí mismo extendiendo demasiado. Una función que se destaca en este grupo es la función setBase(). Esto restablece stepsTaken a 0. Esto permite que la grúa ser "recalibrado" después de la carga o descarga.