Arduino y Python
Arduino y Python
Arduino y Python
PC con Python
Me gusta
Tería necesaria
Python - pyserial
Necesitamos aprender cómo usar la librería py-serial en Python la cual nos permitirá
enviar y recibir comandos de nuestro Arduino, o en general cualquier microcontrolador
que se pueda comunicar por el puerto serial.
1. local = "COM" + str(number) # /dev/ttyUSBx COMx
2. ser = serial.Serial(local, 115200, rtscts=False, dsrdtr=False)
Arduino - Serial
Cuando trabajamos con el módulo de Arduino, necesitamos habilitar explícitamente
el puerto serial para que pueda recibir y enviar información por el puerto serial a través
del terminal USB.
1. Serial.begin(115200); //Iniciando puerto serial
2. Serial.setTimeout(50); // ms de tiempo de corte y espera a la comunicación
En Arduino podemos activar el detector de eventos serial, es decir cada vez que el
Arduino reciba una señal de datos por el puerto serial, esta funcionalidad de activará y
realizará las operaciones que hayamos programado. Esto ahorra energía y tiempo de
cómputo del programa principal.
1. void serialEvent()
2. { // TODO }
Artículo relacionadoCómo convertirse en programador paso a paso
La profesión de programador puede que sea una de las más demandadas en la
actualidad y no tiene pinta de que esto vaya a cambiar. Saber programar es tan
importante como saber construir edificios, los ...
Editores de Texto
Desarrollo
Lo primero que necesitaremos será un Arduino uno, un cable USB tipo B, ( para este
modelo en específico) y un par de servomotores. Nada interesante hasta el momento.
Ahora necesitaremos lo primordial, ... alguien que sepa programación, en serio no es
broma, sí o si necesitas programar para lo que se viene. No es para nada complicado,
pero sin una base clara será muy difícil.
1. Un Arduino UNO
2. Un cable USB
4. Un programador**
Ahora lo que sigue es diseñar nuestro sistema de control del Arduino, esta es la parte
difícil en general para cualquier proyecto de programación, es lo que define lo que vas
a codificar. Luego lo demás es superficial, ya que tienes una meta clara, solo sigue para
adelante. Sin un objetivo no puedes anotar, Casey Neistat.
3. Los datos salen del PC y se van directamente hacia el Arduino, el cual los interpretará
5. Una vez realizada la acción, el Arduino enviará una respuesta de regreso como señal de
conformidad o error.
La verdad que parece mucho trabajo ... y lo es ... ahora imaginence lo que
tomaría programar un robot más complejo con muchas más funcionalidades.
Cada una de estas 5 etapas definidas arriba pueden ser llevadas a código. Recordemos
que ahora estamos trabajando en dos lenguajes de programación, en C++ y en Python.
Los principios son los mismos pero la sintaxis es distinta.
Coding time
Adruino:
Iniciar el serial
Crear la función para reconocer los eventos de entrada
Crear las respuestas para cada comando, los cuales son 3
Python:
Crear una clase que nos sirva para reconocer al Arduino automáticamente
Crear métodos dentro de la clase que envíen los comandos que necesitaremos
Crear un Loop que constantemente nos pida una acción, mover el servo o solicitar el
estado.
Test
Veremos que tal nos va nuestra implementación realizada, nunca esperen que funcione a
la primera, de hecho casi nunca funciona, en mi caso como soy un experto, esto debería
funcionar así que .... aún tenemos que hacer una ultima acción y esto es conectar
nuestro Arduino al PC.
Observaciones
No todo es color de rosa amigos, esto fue posible debido a que el Arduino y estos servos
en particular consumen muy poca energía, por lo que nuestro puerto USB proveer con
suficiente para que todo funcione, sin embargo, si hubiera sido otro servo, esto no
funcionaría, hubiéramos necesitado otra fuente de alimentación para nuestros
servomotores.
Conclusiones