Control de servomotores con Arduino mediante luz y teclado
1. TRABAJO EN CLASE 29 DE ABRIL
NOMBRES:
Dayan Quintero.
Edwin Fabián Barrera.
Jaiver Fabián Abril.
Daniel Ramírez.
1. Se procedió hacer el montaje respectivo indicado en la figura.
2. Cargue el programa arduino ubicado en “ejemplos”,”servo”,”sweep”. Explique el
programa.
SWEEP: Nos permite que la programación del giro constante del servomotor de 1° a 180°.
Sin necesidad de utilizar un potenciómetro ya que su giro es continúo en cuanto a distancia
y tiempo. Empleamos el mismo montaje, sin necesidad de conectar el potenciómetro.
2. 3. Conecte un potenciómetro y conecte ahora una fotorresistencia y programe su arduino
para que los valores de dicha fotorresistencia se puedan leer en el monitor serial.
KNOB: La opción que nos brinda la librería knob de modificar la posición y el sentido de
giro del servomotor a través de la manipulación del potenciómetro. Los servomotores
contienen tres cables: 1 negro o café, referente a GND, otro de color Rojo conectado al pin
de 5V y 1 blanco o amarillo conectado a la señal digital.
El potenciómetro va conectado a dos salidas una GND y la otra 5V. En la parte de
entradas analógicas.
4. Quite el potenciómetro y conecte ahora una fotorresistencia y programe su arduino para
que los valores de dicha fotorresistencia se puedan leer en el monitor serial.
3. 5. Programe su arduino para que a intensidad baja de luz, el servo vaya a 90º, intensidad
media vaya a 180º e intensidad alta, retorne a 0º.
4. 6. Programe ahora su arduino para que el servo se pueda manejar a través del teclado:
Con la letra “a” gire a 90º
Con la letra “b” gire a 180º
Con la letra “c” gire a 0º
7. Conecte ahora el servomotor 2. Implemente el programa que se muestra en la figura.
Abra el monitor seria e ingrese valores entre 0 y 180º.Explique lo que sucede.
5. Al subir el programo notamos que el servomotor se giró en posición al Angulo del valor
establecido, en conclusión con la programación controlamos el Angulo que le deseemos
establecer.
8. Explique el programa, que permite la función Serial.available y la función Serial.arselnt.
Serial.available: Es una función de fundamental, se encarga de limitar la ejecución del
código cuando hay datos disponibles en el puerto serial. Forma parte dentro de la función
selectiva “if”. Cuando dispone de datos para leer en el puerto serial, la función
Serial.available() asumirá un número mayor a cero, por lo tanto cumplirá con la condición
establecida en la función selectiva, el programa lee y ejecuta los comandos establecidos
en las llaves if.
Serial.arseInt: Cuando hay información disponible, ocupa los datos seriales únicamente si
esta información posee números enteros, en caso que no sean números enteros los ignora.
9. Establezca para qué valores el servomotor gira en dirección horaria, en dirección anti
horaria y que valor permite que el servomotor no gire. Establezca los valores de velocidad
máxima en dirección horaria y anti horaria.
DIRECCIÓN: Los servomotores hacen uso de la modulación por ancho de pulsos (PWM)
para controlar la dirección o posición de los motores de corriente continua, la mayoría
trabaja en la frecuencia de los cincuenta hertz, así las señales PWM tendrán un periodo de
veinte milisegundos. La electrónica dentro del servomotor responderá al ancho de la señal
modulada.
Si los circuitos dentro del servomotor reciben una señal entre 0.5 a 1.4 milisegundos, este
se moverá en sentido horario.
Si recibe una señal entre 1.6 a 2 milisegundos se moverá en servomotor en sentido
antihorario.
Y si la señal que recibe es de 1,5 milisegundos representa un estado neutro para los
servomotores.
10. Agregue a su circuito una fotorresistencia que permita controlar el servomotor, si hay
buena intensidad de luz que vaya hacia adelante a velocidad máxima (velocidad fija) y si
no la hay que pare.