Informe Arduino Python
Informe Arduino Python
N
Y
CONTROL
INDUSTRIAL
3. SERVO MOTOR DE 5 V
1. Anaconda 3
2. Spyder
3. Py serial
4. IDE Arduino
Hacemos click donde dice ARCHIVO -> ABRIR -> BRAZO ROBOTICO y cargamos la programación mostrada
en clases en el IDE de Arduino.
Una vez abierto el programa se procede a elegir el Puerto COM y el tipo de placa de arduino a utilizar.
Para este trabajo utilizamos la placa de ARDUINO UNO y el COM 4.
Realizado los ajustes principales , hacemos click en la parte superior izquierda en el primer simbolo de
“Verificar” para poder copilar el programa y asi , asegurarnos que no haya problemas de escritura al
momento de cargar el archivo a la placa. Una vez copilado el prorama nos encargamos de cargar el
archivo a la placa de arduino, para eso haremos click donde dice “Subir”.
2.2 Segundo Paso: Modificar la programacion para hacer girar el servo mediante
comunicación serial
Una vez, ya probado el programa en el Arduino, realizaremos cambios en la programación inicial para
hacer girar el servomotor mediante comunicación serial.
Lo primero que haremos será declarar una nueva variable entera llamada “OPTION”.
Luego en la función “Setup” agregaremos el comando “Serial.begin()” el cual nos sirve para inicializar la
comunicación serial, ya que para mandar caracteres por el puerto serial en Arduino se requiere que el
puerto este inicializado. En el paréntesis de la función añadimos la velocidad de transmisión de datos
(9600) que tiene nuestro puerto COM.
Imagen 11 : comando Serial.begin
En la funcion “Void loop” agregaremos la siguiente condicion para ello utilizamos el comando
“Serial.available()” nos permitira obtener el numero de bits o caracteres a leer enviados del puerto serial.
Ahora agregaremos la siguiente condicion que nos permitira controlar el encendido de un brazo robotico
con vision artificial. La condicion es la siguiente “if (option == ‘1’ )” la cual nos indica que cuando el
arduino reciba datos del puerto serial en especifico cuando sea un “1” la programacion del brazo robotico
se ejecutara, haciendo mover los servomotores.
Por ultimo agregamos el siguiente comando “options = Serial.read() ” , que nos permitira leer los datos
provenientes del puerto serial
Ya modificado el programa , procedemos a cargar el mismo en la placa de arduino y realizar las pruebas a
traves del monitor serie. Al momento de marcar “1” , se ve respuesta en el sistema , arrojando los valores
de 49 (corresponde al numero 1 en codigo ASCII) y 10 ( corresponde al salto de linea) respectivamente.
2.3 Tercer paso : Descargar los paquetes para lo comunicación y control de partida
mediante la ventana de comando de anaconda
Para descargar los paquetes de comunicación del Pyserial , nos vamos a la carpeta de anaconda , hacemos
click y elegimos la opción de anaconda prompt el cual lo ejecutamos como administrador.
Emergerá una ventana similar al CMD de Windows , en esta ventana es posible descargar los paquetes de
comunicación de Pyserial, para esto utilizaremos el comando “ pip install pyserial “ , este paquete nos
ayudara a enviar los caracteres por el puerto serial.
imagen 16: Ventana de comando para instalar los paquetes de comunicación requeridos
Una vez instalado el paquete nos dirigimos al interprete de Python, para eso digitamos “Python” en la
ventana de comando, después importamos el paquete que habíamos descargado anteriormente, para eso
utilizaremos el comando “import serial”.
imagen 17: paquete de comunicación Pyserial instalado
Una vez importado el paquete de comunicación procedemos a abrir el puerto serial, para eso
necesitaremos el comando “ser = serial.Serial()” , el comando nos permite habilitar el puerto serial
numero 3 (COM3) . Para definir en el comando el tipo de entrada serial, la velocidad de transmisión y el
tiempo de respuesta se tiene que anotar adentro del paréntesis del comando “ser = serial.Serial()” los
siguientes datos: velocidad de transmisión = 9600 , tiempo de respuesta = 1s y el COM a utilizar
Una vez ingresado los datos a la ventana de comando , procedemos a enviar los comandos por el puerto
serial al Arduino , para eso vamos a usar el siguiente comando “ ser.write(b ‘1’)” el cual 1 es para activar
nuestro brazo robótico.
2.4 Cuarto paso: Comunicación entre el programa Spyder de anaconda con Arduino
En el programa de anaconda, abriremos el programa de spyder, el cual lo usaremos para descargar el
programa de detección de colores y comunicarlo con el Arduino.
Una vez descargado el archivo, procedemos a agregar las librerías a la programación. Estas son :
Import serial
Import time
Imagen 22: librerías necesarias para realizar la comunicación
Ya agregadas las librerías, procedemos a abrir el puerto serial con el siguiente comando “ ser =
serial.Serial("COM3", 9600, timeout=1)” , después añadimos un pequeño tiempo de espera para iniciar la
programación “time.sleep(2)” .
Después nos dirigimos a la parte del programa donde se realiza la detección de colores y agregamos la
siguiente condición :
imagen 24: comando del programa que sirve para enviar el dato binario a Arduino
Esta condición nos indica que, si la visión artificial detecta el color programado , este hará funcionar los
servo motores del brazo robótico.