Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Parte 1 - Procedimiento para Adecuación de Herramientas y Verificación de Funcionamiento.
Parte 1 - Procedimiento para Adecuación de Herramientas y Verificación de Funcionamiento.
marco.ortiz@escuelaing.edu.co
Requerimientos y materiales
Introducción
En la Figura 1 se muestran las partes relevantes para configurar la Conexión Virtual entre el Anfitrión
(Host) y el Invitado (Guest).
Procedimiento
1. Conecte el puerto USB-B a la tarjeta Arduino UNO y el otro extremo (USB-A) al puerto
correspondiente del Anfitrión (Host)
2. Consulte el identificador del puerto Serial (COM) del Host, creado automáticamente por el
Controlador usbser.sys. Para esto, en el menú de inicio de Windows, busque el Administrador de
Dispositivos y consulte el nombre generado por el controlador para esta conexión. Para el
ejemplo en esta guía el puerto es el COM3 (Figura 3).
Ing. Marco Andrés Ortiz N. MSc.
marco.ortiz@escuelaing.edu.co
3. Se procede con la configuración de la conexión virtual entre el Host y el Guest, de sus interfaces
Seriales. Esto se realiza en la configuración VirtualBox, teniendo en cuenta el identificador del
puerto encontrado en el paso anterior (COM3 para el ejemplo de esta guía). Para esto, acceda a
la configuración de la Máquina Virtual como se muestra en la Figura 4.
4. Habilite el puerto el puerto Serial y configure como se muestra en la Figura 5. Cambie el puerto
COM3 por el que encontró luego de realizar el paso 2.
Ing. Marco Andrés Ortiz N. MSc.
marco.ortiz@escuelaing.edu.co
*NOTA: Si requiere usar la VM pero no tiene conectado ningún dispositivo, deshabilitar el puerto serial
antes de iniciar.
5. Inicie la Máquina Virtual de Alse y acceda a la Interfaz de Comandos (CLI) y ejecute el comando
startx como se muestra a continuación (Figura 6)
6. Espere que inicialice la interfaz gráfica y si lo requiere, ajuste la resolución de acuerdo con las
características de su pantalla (Figura 7).
Ing. Marco Andrés Ortiz N. MSc.
marco.ortiz@escuelaing.edu.co
8. Ejecute el siguiente comando (Figura 9) para habilitar los permisos de uso de la interfaz Serial al
usuario alse.
9. El IDE que se va a utilizar para programar el MCU en la tarjeta Arduino UNO, es el Visual Studio
Code con el Framework de PlatformIO, el cual requiere de la instalación del paquete python3-
venv que se instala con el comando mostrado en la Figura 10 .
Ing. Marco Andrés Ortiz N. MSc.
marco.ortiz@escuelaing.edu.co
10. Instale Visual Studio Code con el comando: sudo snap install –classic code (Figura 11)
11. Ejecute el IDE de Visual Studio Code, desde la terminal, usando el comando code (Figura 12).
12. Luego de inicializado, haga click como se muestra en la Figura 13 para instalar la extensión
correspondiente al Framework PlatformIO.
14. Espere que termine el proceso de instalación de PlatformIO, sus dependencias y algunas
extensiones adicionales y verifique que el resultado sea parecido al que se muestra en la
siguiente imagen (Figura 15) y haga Click en el botón para recargar el IDE.
15. En la parte inferior izquierda se encuentra el menú de PlatformIO. Haga Click en el ícono como
se muestra a continuación para generar un nuevo proyecto (Figura 16).
Ing. Marco Andrés Ortiz N. MSc.
marco.ortiz@escuelaing.edu.co
16. Cree un nombre para el proyecto y seleccione la tarjeta a utilizar como se muestra a
continuación (Figura 17).
18. Luego de creado observe el árbol de directorios y archivos en el explorador que se encuentra en
la columna izquierda. Seleccione el archivo platformio.ini y agregue la línea mostrada a
continuación (Figura 19).
19. Abra el archivo main.cpp que se encuentra en el directorio src (Figura 20).
20. Edite el Código agregando las líneas correspondientes a las funciones setup() y loop() que se
muestran a continuación (Figura 21)
21. Haga Clcik en Build para compilar y generar el archivo a cargar en el Microcontrolador del
Arduino UNO. Luego, haga Click en Upload para programar el dispositivo (Figura 22).
Ing. Marco Andrés Ortiz N. MSc.
marco.ortiz@escuelaing.edu.co
Figura 22. Botones para el proceso de compilación (Build) y para subir el programa al dispositivo (Upload) [1].
• https://www.arduino.cc/reference/en/language/structure/sketch/setup/
• https://www.arduino.cc/reference/en/language/structure/sketch/loop/
Analizar:
• ¿Por qué es necesaria la función loop() y cuantas veces se ejecutaría el proceso (Firmware) sin
esta función? (Asuma un programa que realiza una tarea determinada usando únicamente las
funciones de setup() y loop() )
• ¿Cómo se puede realizar el funcionamiento básico de la función loop(), usando una declaración
de control (Control Statement) del lenguaje C?
Referencias:
https://www.tripplite.com/products/usb-connectivity-types-standards
Controlador Serial de puerto USB para utilizado por defecto para Windows10: usbser.sys
https://en.wikipedia.org/wiki/USB_communications_device_class
https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-driver-installation-based-on-
compatible-ids
Controlador Serial de puerto Serial Virtual para Ubuntu 18.04: VirtualBox - Standard 16550A compatible
UART device.
https://www.virtualbox.org/manual/ch03.html#serialports
[1] https://docs.platformio.org/en/latest//integration/ide/vscode.html#quick-start
https://code.visualstudio.com/docs/setup/linux
https://platformio.org/install/ide?install=vscode
https://docs.platformio.org/en/latest//what-is-platformio.html
https://websistent.com/fix-serial-port-permission-denied-errors-linux/
https://store-usa.arduino.cc/products/arduino-uno-rev3
https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
https://ww1.microchip.com/downloads/en/DeviceDoc/doc7799.pdf