0% encontró este documento útil (0 votos)
7 vistas

Lab 6 - Interface Graficas Con Python

El laboratorio se centra en la comunicación entre Python y Arduino, incluyendo la instalación de software y librerías necesarias, así como el control de dispositivos como LEDs y servomotores. Se detallan procedimientos para la configuración de entornos y la ejecución de programas en ambos lenguajes. Además, se discuten otras interfaces gráficas para Python y se presentan conclusiones sobre la comunicación serial y el uso de pines en Arduino.

Cargado por

Ivan A
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas

Lab 6 - Interface Graficas Con Python

El laboratorio se centra en la comunicación entre Python y Arduino, incluyendo la instalación de software y librerías necesarias, así como el control de dispositivos como LEDs y servomotores. Se detallan procedimientos para la configuración de entornos y la ejecución de programas en ambos lenguajes. Además, se discuten otras interfaces gráficas para Python y se presentan conclusiones sobre la comunicación serial y el uso de pines en Arduino.

Cargado por

Ivan A
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

Diseño y Desarrollo de Software

CÓDIGO II3070

LABORATORIO N° 6
“Comunicación de Python y Arduino”

1.
2.
Alumno (os):
3.
4.
Grupo (mesa) : Profesor: Nota:
Ing. Ulises Gordillo
Semestre : 1
Fecha de entrega : Hora:
ELABORACION DE ATS :
ANALISIS DE TRABAJO SEGURO (ATS)

FECHA
TAREA: Lab6 – Comunicación de Python y Arduino DIA MES AÑO

LABORATORIO X AMBIENTE EQUIPO DE

FIRMA
DOCENTE: Ing. Ulises Gordillo Zapana
TALLER SESION Nº TRABAJO

FIRMA FIRMA FIRMA

FIRMA FIRMA FIRMA


ALUMNOS
(Apellidos y Nombres)

CARACTERISTICAS DE EQUIPOS Y HERRAMIENTAS


………….………….………….………….………….………….………….………….………….………….………….………….
………….………….………….………….………….………….………….………….………….………….………….………….
………….………….………….………….………….………….………….………….………….………….………….………….
………….………….………….………….………….………….………….………….………….………….………….………….
………….………….………….………….………….………….………….…………..………….………….………….………….
………….………….………….………….………….………….………….………….………….………….………….………….
………….………….………….………….………….…………………………………………………………..……………….
X X ………….………….………….………….………….………………………………………………………………………………...

OTROS
PASOS DE LA TAREA RIESGOS MEDIDAS DE CONTROL
(ESPECIFICAR PARA CADA
CASO)

1
2
3
4
5
6
7
8
9
10
11
12
Nro. DD-107
Laboratorio Nro. 6: Comunicación de Python y Arduino Página 3

I. OBJETIVOS:
 Instalación y puesta en marcha de Python y Librerias Pyserial y Kivy (GUI - UI).
 Manejo de Variables y datos entre Arduino y Python
 Control de Encendido del LED con Python, control de un servomotor con interface en Python.
II. MATERIAL A EMPLEAR:
- Arduino - Software de Python
- Tarjeta - Librerías de Pyserial y Kivy
III. PROCEDIMIENTO

INSTALACION DE SOFTWARE DE COMPUTADORA:


 Descargue en su https://www.python.org/downloads/release/python-377/
computadora, el software
para x64 o x86 de Python
3.x e instálelo.

 Instale el software de
Python 3.x
 Asegúrese de incluir los
path para Python
 Si no lo realizo puede
agregarlo en agregando
variables del sistema.
Nro. DD-107
Laboratorio Nro. 6: Comunicación de Python y Arduino Página 4

 Abrir el Consola de Coloque la imagen resultante


comandos o CMD,
ejecute el comando
de:
 python --version
 pip –version
 Para comprobar la
instalación correcta de
Python y su gestor de
paquetes PIP

 En la consola de comando Coloque la imagen resultante


instale las librerías de
Pyserial, con los
comandos:
 pip install pyserial

 En la consola de
comandos instale la INSTALACION DE KIVY (www.kivy.org)
librería de KIVY, siga los  python -m pip install --upgrade pip wheel setuptools virtualenv
 python -m virtualenv kivy_venv
pasos que se indica.
 kivy_venv\Scripts\activate
Cerrar consola, abrir de nuevo y continuar
 python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.*
kivy_deps.glew==0.1.*
 python -m pip install kivy_deps.gstreamer==0.1.*
 python -m pip install kivy_deps.angle==0.1.*
 python -m pip install kivy==1.11.1
 pip install --pre --extra-index-url=https://kivy.org/downloads/simple kivy[base]

 Instale algún software para emular puertos serial en Windows


Podemos usar http://www.eterlogic.com/Downloads.html

 Descargue algun terminal de acceso a puertos serie como:


Nro. DD-107
Laboratorio Nro. 6: Comunicación de Python y Arduino Página 5

Podemos usar https://www.der-hammer.info/pages/terminal.html


HOLA MUNDO DE PYTHON Y ARDUINO:
 En un proyecto en Proteus SIM1
busque el Arduino UNO, y
el Puerto Serial; y
conéctelo.
AREF
P1
13
13 ERROR
12

ARDUINO
RESET 12
11
~11
10 9
5V ~10 RI
9 4
~9 DTR
8

SIMULINO
8

POWER
8
GND
CTS
3
TXD

ATMEGA328P
7 7
7

DIGITAL (PWM~)
6 RTS
~6 2
RXD

ATMEL
A0 5 6

ANALOG IN
A0 ~5 DSR
A1 4 1
A1 4 DCD
A2 3
A2 ~3
A3 2
A3 2
A4 1 COMPIM
A4 TX > 1
A5 0
A5 RX < 0
www.arduino.cc
blogembarcado.blogspot.com
SIMULINO UNO

 Realizar un programa en el
Arduino que envíe por el
puerto serial a 9600
baudios el mensaje d
“Hola Tecsup”.
Coloque el programa
realizado en Arduino.

 Configure para emular un


puerto serie COM4, simule
el circuito en Proteus y
utilizando el software de
Hterm visualice el mensaje
enviado por el puerto
serie COM4.
Capture la Imagen del
funcionamiento.
Nro. DD-107
Laboratorio Nro. 6: Comunicación de Python y Arduino Página 6

 De los programas
compartidos: Ejecute
Ejercicio_1_-_Arduino.py
en Python IDLE, capture el
funcionamiento entre
Python y Arduino:

Explique los programas ________________________________________________________________


ejecutados: ________________________________________________________________
 Explique el programa en ________________________________________________________________
Arduino. ________________________________________________________________
 Explique el programa en
________________________________________________________________
Python.
CONTROL DE ENCENDIDO DE LED DESDE PYTHON Y ARDUINO:
 En el circuito anterior agregue un Control de Encendido del LED con Python
led al Arduino

 Ejecute los programas de Arduino


y Python de la carpeta:
“Ejercicio_2”.
 Ejecute primero el programa
Kivy_Test.py, y entienda su
funcionamiento.
 Luego ejecute el programa de
Arduino:
Ejercicio_2_COM_PC_a_Arduino.i
no
 Finalmente ejecute el programa
Ejercicio 2 - Arduino.py, entienda
su funcionamiento.
Capture la Imagen del
funcionamiento.
Nro. DD-107
Laboratorio Nro. 6: Comunicación de Python y Arduino Página 7

Explique los programas ejecutados: ___________________________________________________________


 Explique el programa en Arduino. ___________________________________________________________
 Explique el programa en Python. ___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________

CONTROL DE ANGULO DE SERVOMOTOR DESDE PYTHON Y ARDUINO:


 Ejecute el programa de Control de Angulo de servomotor con interface en Python
sus archivos: “Ejercicio_3”.
 Ejecute primero el
programa
COM_Send_Test.py, con el
programa de Arduino y
entienda su
funcionamiento.
 Luego ejecute el programa
Ejercicio 3 Python -
Arduino.py y el programa
de Arduino
Ejercicio_3_Python_-
_Arduino.ino, entienda su
funcionamiento.

Explique los programas ________________________________________________________________


ejecutados: ________________________________________________________________
 Explique el programa en ________________________________________________________________
Arduino. ________________________________________________________________
 Explique el programa en
________________________________________________________________
Python.
________________________________________________________________

IV. MATERIAL MULTIMEDIA


Elabore un video de 1 minuto y medio de funcionamiento del Control de Encendido del LED con Python y Control de
Angulo de servomotor con interface en Python, súbela a YouTube y comparta el link:
Link: _______________________________________________________________________

V. TEMA DE INVESTIGACIÓN
Averigüe sobre ¿Cuáles son otras interfaces graficas de usuario o GUI para Python que existen?
Existen algunas interfaces gráficas, entre ellas las más recomendadas son:

Tkinter
Los empaquetados estándar de Python incluyen una interfaz orientada a objetos para el conjunto de widgets de
Tcl/Tk, llamada tkinter. Esta es probablemente la más fácil de instalar (ya que viene incluida con la mayoría de
distribuciones binarias de Python) y usar. Tcl/Tk es totalmente potable a Mac OSX, Windows y plataformas Unix.
Nro. DD-107
Laboratorio Nro. 6: Comunicación de Python y Arduino Página 8

Qt
Hay enlaces disponibles para el conjunto de herramientas Qt (usando PyQt o PySide) y para KDE(PyKDE4). PyQt es
actualmente más maduro que PySide, pero debe comprar una licencia PyQt de Riverbank Computing si desea escribir
aplicaciones propietarias. PySide es gratuito para todas las aplicaciones.

Tambien tenemos una biblioteca de GUI portátil como:

wxWidgets
wxWidgets (https://www.wxwidgets.org) es una biblioteca de clase GUI portátil y gratuita escrita en C ++ que
proporciona una apariencia nativa en varias plataformas, con Windows, Mac OS X, GTK, X11, todas listadas como
objetivos estables actuales. Los enlaces a lenguajes están disponibles para varios lenguajes, incluidos Python, Perl,
Ruby, etc.

wxPython es el enlace de Python para wxwidgets. Si bien a menudo va un poco por detrás de las versiones oficiales de
wxWidgets, también ofrece una serie de características a través de extensiones puras de Python que no están
disponibles en otros enlaces de lenguajes. Existe una comunidad activa de usuarios y desarrolladores de wxPython.

Tanto wxWidgets como wxPython son software gratuito, de código abierto, con licencias permisivas que permiten su
uso en productos comerciales, así como en freeware o shareware.

VI. OBSERVACIONES

 Los pines 3, 5, 6, 9, 10 y 11 que están marcados con el símbolo ˜, son entradas y


salidas especiales ya que aunque son digitales y se pueden utilizar como tal,
también se pueden utilizar para la comunicación PWM (Pulse-Width Modulation)
modulación por ancho de pulsos.

 Los pines 2 y 3 nos permiten interrumpir el funcionamiento del bucle «loop».

 La comunicación por puerto serie puede realizarse tanto por cable, como de forma
inalámbrica por bluetooth, con Arduino por Bluetooth con los módulos HC-05 ó HC-
06.

VII. CONCLUSIONES.

 Para comunicarnos con nuestra placa Arduino por puerto serie utilizaremos la
biblioteca pySerial, disponible también en PyPI.

 Desde Arduino solo podemos mandar caracteres ASCII, así que podemos
decodificar los bytes a una cadena. La conexión a Arduino no siempre funcionará
de manera ideal, y puede haber momentos en los que recibamos bytes erróneos.

 Entradas/salidas digitales, son pines donde el usuario puede activar (poner


tensión) o desactivar (quitar tensión). Es similar a escribir 0 y 1 (0V y 5V
respectivamente).
Nro. DD-107
Laboratorio Nro. 6: Comunicación de Python y Arduino Página 9

 En el Arduino UNO tenemos 6 entradas analógicas que van marcadas con una A
delante. Aunque pueden ser utilizadas como salida, su uso más común es la
lectura de datos de dispositivos analógicos. Tiene una resolución de 10 bits lo que
implica que tenemos 1024 valores diferentes, es decir, podemos leer un rango de
tensiones desde 0V hasta 5V

 Con el uso de algunas librerías es mucho más fácil configurar ciertos criterios que
se necesiten en las sentencias de los comandos que se vayan a usar en nuestros
proyectos.

 El módulo collections de la biblioteca estándar de Python nos proporciona la


estructura deque (double-ended queue, que podríamos traducir por cola
doblemente terminada), que funciona de manera que si añadimos elementos al
final, a partir de una cierta longitud máxima se descartan elementos del principio.

También podría gustarte