Lab 6 - Interface Graficas Con Python
Lab 6 - Interface Graficas Con Python
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
FIRMA
DOCENTE: Ing. Ulises Gordillo Zapana
TALLER SESION Nº TRABAJO
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
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
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]
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.
De los programas
compartidos: Ejecute
Ejercicio_1_-_Arduino.py
en Python IDLE, capture el
funcionamiento entre
Python y Arduino:
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.
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
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.
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.