Laboratorio 3 - Gaesillo/Lab-Robotica GitHub Wiki
Informe Laboratorio 3
Introducción
La experiencia documentada a continuación consistió en experimentación con dispositivos de tipo sensor, control y actuador en grupo. Para lo cual debía realizarse un circuito y código, el cual podría ser modificado y mejorado.
Desarrollo de actividades
Para el armado de un circuito original, se seleccionaron los siguientes componentes disponibles:
- Arduino Nano compatible: con base de extensión para servomotores, provisto por los autores.
- Motor de corriente continua: para fuente de 5V, apto para capacidades de potencia de Arduino.
- Relé SPDT: voltaje de bobina 5V, una vía, configuraciones NC y NO disponibles.
- Potenciómetro lineal 1K Ohm. Los que se configuraron formando un circuito de control para motor de corriente continua. Utilizando el Pin 2 del Arduino se controlará el encendido y apagado del motor mediante el relé disponible, utilizándose un potenciómetro como intermediario para el control de la velocidad del motor:
Para ello se desarrollaron dos programas:
- Original: en el cual se enciende y apaga el motor por intervalos de tiempo fijos previamente determinados.
- Modificado: mejora del código anterior, tras sugerencias del profesor. En este caso, el Arduino responde a entradas ingresadas por el usuario en el monitor Serie para encender o apagar el motor.
Conclusiones y análisis de resultados
Debido a la simplicidad del código utilizado, no se presentaron mayores problemas durante su utilización. El código original funciono sin problemas, sin embargo, se observaron algunas incompatibilidades al modificarlo:
- En primera instancia se modificó el código eliminando las declaraciones del loop y reemplazándolas por declaraciones con condición, utilizando como entrada para la variable t el monitor serie, declarando esta variable como entero:
- Esta declaración no arrojo resultados válidos, pues el monitor serie no interpreta** las entradas como números desde bytes, sino mediante caracteres.
- La solución implementada consistió en declarar la entrada del monitor serie como caracteres, y realizar la comparación de esta como string:
- Por falta de tiempo no se logró experimentar con la conversión de strings a enteros, pero esta debiese ser la solución correcta a la problemática.