Ir al contenido

Ambiente Python para EV3

Todo el proceso descrito en este documento puede ser visto en este vídeo

Para configurar el ambiente de desarrollo de python debemos tener python instalado y visual studio code.

El visual studio code, abriremos una carpeta para el ambiente de desarrollo en mi caso use una carpeta en C:\LEGO86. Una vez abierta la carpeta vamos a empezar con unas verificaciones en el terminal (podemos presionar Ctrl + J):

  • Verifiquemos que tenemos python instalado escribiendo
Ventana de terminal
python --version
  • Verifiquemos que tenemos pip instalado escribiendo
Ventana de terminal
pip --version

Teniendo esto instalado, vamos a instalar un primer paquete para crear nuestro ambiente virtual.

Ventana de terminal
python -m pip install virtualenv

Despues de esta instalación vamos a crear un ambiente virtual con el siguiente comando en el terminal:

Ventana de terminal
python -m virtualenv LEGO

Cada vez que vayamos a utilizar nuestro programa de python para controlar el LEGO, deberemos activar el ambiente virtual. Para esto, estando en la misma carpeta de donde creamos el ambiente virtual, en el terminal escribiremos, para Windows:

Ventana de terminal
.\LEGO\Scripts\activate.ps1

En caso de que se presente un error en la activación siguiendo las instrucción del sitio de Microsoft, podremos escribiendo en el terminal esto, activar el ambiente virtual:

Ventana de terminal
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Para correr los programas de python deberemos activar el ambiente de python e instalar las siguientes librerias.

Ventana de terminal
pip install numpy matplotlib keyboard ev3-dc

Para verificar que todo esta funcionando, debemos tener emparejado el LEGO con el computador, para emparejarlo ver las instrucciones en este vídeo.

Una vez tenemos emparejado el LEGO y activado el ambiente podremos verificar que todo funciona con el siguiente código de python:

import time
import ev3_dc as ev3
MAC = '00:16:53:50:8A:86' # Dirección MAC de tu EV3
with ev3.EV3(protocol=ev3.BLUETOOTH, host=MAC) as robot:
sound = ev3.Sound(ev3_obj=robot)
try:
print("Reproduciendo tono en el EV3...")
# Tono de 440 Hz por 0.5 segundos
sound.tone(freq=440, duration=500, volume=30)
time.sleep(0.6) # Tiempo para escuchar el tono
sound.tone(freq=440, duration=500, volume=0)
finally:
del sound # Limpia el objeto antes de cerrar el socket

El creador del paquete ev3-dc creo un sitio web con la documentación, que podremos consultar para saber como controlar el LEGO.