Está en la página 1de 1

Para el desarrollo del código primero son incluir las respectivas librerías.

Comenzando a definir las variables de los sensores en los cuales estos ayudaran a mantenerlos
controlados, siguiendo con eso ahora usaremos el volatile para cambiar el estado de variable
de sen1, esto es debido a que una variable debe ser declarada volatile cada vez que su valor
pueda ser cambiado por algo mas alla del control de la seccion del código, poniéndole su
duración basada en las constantes de kp,ki y kd que habíamos sacado anteriormente y
también su tiempo para el sensor de la pelota y de la mano.

Con esto, ahora se configurarán los pines para el trigger del sensor y para el echo del sensor.

Ahora inicializamos con la comunicación serial a 9600 baudios, configurando los pines del
primer sensor y del segundo sensor, usando el timer que saltara cada 50000 microsegundos.

Posteriormente ahora usando el void loop para la LCD. Con esto configuraremos todo lo que
pondrá la LCD. Empezando a mantener el texto con lcd.print, para que al momento de correr el
programa la LCD nos muestre lo que estamos diciendo y después ponemos el cursor en sus
respectivas coordenadas con un delay de 1000 microsegundos

Siguiendo con el código ahora usaremos un void control con if y while para que Arduino reciba
el mensaje para saber en qué modo ponerse, para después seguir generando un pulso
poniendo en high el trigger con un delay de 10 microsegundos para despues apagarlo con un
trigger low. Todo esto para que la duracion lea el echo pin, devuelva el tiempo de viaje de la
onda sonora en microsegundos. También tomamos la distancia de la pelota, con base al
tamaño del tubo

Para finalizar hacemos el control PID ya que compara las diferencias de altura conforme a las
variables kp, kd y ki, regulando la altura de la pelota y lo de 255 es porque la salida PID del
pwm su máxima salida de voltaje son 255 en lenguaje de Arduino, esto para que no se vaya de
mas y no estropee el control ya que puede dar números de mil, siendo este un dato
innecesario, por eso los limitamos de 255 a 0, también para que no agarre números negativos
siendo este menos que 0 es 0 y si es mayor a 255 es 255

También podría gustarte