Actividad #2 IDE de Arduino + placa
RAUL DANIEL CANO ANDRADE
Created on September 6, 2024
More creations to inspire you
SLYCE DECK
Personalized
LET’S GO TO LONDON!
Personalized
ENERGY KEY ACHIEVEMENTS
Personalized
HUMAN AND SOCIAL DEVELOPMENT KEY
Personalized
CULTURAL HERITAGE AND ART KEY ACHIEVEMENTS
Personalized
DOWNFALLL OF ARAB RULE IN AL-ANDALUS
Personalized
ABOUT THE EEA GRANTS AND NORWAY
Personalized
Transcript
Consola de salida
Area de mensajes
Editor de código
Arduino UNO (FTDI)
Un pequeño botón en la placa. Reinicia el programa cargado en el microcontrolador. Es útil cuando el sistema necesita ser reiniciado manualmente sin desconectar la alimentación.
Un LED verde que está en la placa. Indica que la placa está encendida y funcionando correctamente. Se enciende cuando la placa está alimentada.
Es un conector USB tipo B estándar. Permite conectar la placa a una computadora para cargar el programa en el microcontrolador. También proporciona energía a la placa cuando se conecta a una computadora.
Un conector cilíndrico de 2.1 mm para una fuente de alimentación externa. Permite alimentar la placa con una fuente externa de 7 a 12V (recomendado). Esto es útil cuando se necesita más potencia o se trabaja en proyectos sin conexión a un puerto USB.
Es un pequeño componente que regula el voltaje. Convierte el voltaje de entrada (del Power Jack o del USB) a 5V o 3.3V, que es el voltaje que utiliza el microcontrolador y otros componentes de la placa. Protege la placa de sobrecargas de energía.
Un componente de cuarzo que actúa como reloj. Proporciona una señal de reloj estable de 16 MHz para que el microcontrolador pueda sincronizar sus operaciones. Sin un reloj estable, el microcontrolador no podría ejecutar instrucciones de manera precisa.
UNO (CH340)
Un pequeño botón en la placa. Reinicia el programa cargado en el microcontrolador. Es útil cuando el sistema necesita ser reiniciado manualmente sin desconectar la alimentación.
Un LED verde que está en la placa. Indica que la placa está encendida y funcionando correctamente. Se enciende cuando la placa está alimentada.
Es un conector USB tipo B estándar. Permite conectar la placa a una computadora para cargar el programa en el microcontrolador. También proporciona energía a la placa cuando se conecta a una computadora.
Un conector cilíndrico de 2.1 mm para una fuente de alimentación externa. Permite alimentar la placa con una fuente externa de 7 a 12V (recomendado). Esto es útil cuando se necesita más potencia o se trabaja en proyectos sin conexión a un puerto USB.
Es un pequeño componente que regula el voltaje. Convierte el voltaje de entrada (del Power Jack o del USB) a 5V o 3.3V, que es el voltaje que utiliza el microcontrolador y otros componentes de la placa. Protege la placa de sobrecargas de energía.
Un componente de cuarzo que actúa como reloj. Proporciona una señal de reloj estable de 16 MHz para que el microcontrolador pueda sincronizar sus operaciones. Sin un reloj estable, el microcontrolador no podría ejecutar instrucciones de manera precisa.
Su principal función es actuar como un convertidor USB a serie (UART), lo que permite la comunicación entre la computadora (a través del puerto USB) y el microcontrolador principal (como el ATmega328P).
El ATmega16U2 es un microcontrolador AVR de 8 bits fabricado por Microchip Technology (Atmel), utilizado en las placas Arduino Uno para manejar la comunicación entre la computadora y el microcontrolador principal.
Microcontrolador AVR
Proceso de comunicación:
- Cuando conectas el Arduino Uno a una computadora mediante un cable USB, el ATmega16U2 traduce las señales USB (usadas por la computadora) en señales seriales (usadas por el microcontrolador). Esto permite tanto cargar programas en el Arduino desde el IDE como comunicarse con la placa a través del Monitor Serial.
En los pines digitales de Arduino solo podemos tener dos estados HIGH o LOW que equivalen a 5V y 0V. Estos son los niveles lógicos del microcontrolador ATMega328. Todo lo que esté entre 3V y 5V se considera nivel alto (HIGH) y todo lo que esté entre 0V y 1,5V es nivel bajo (LOW). El resto, entre 1,5V y 3V es una indeterminación.
Pines digitales
Los pines 0 y 1 son Rx (recibir) y Tx (transmitir). Se utilizan para la comunicación serie entre el ordenador y Arduino. El pin 13 está conectado a un LED integrado dentro de la placa.Se usan para leer señales digitales (0 o 1) o enviar señales digitales. Estos pines pueden controlar componentes como LEDs, relés o motores. Algunos de estos pines tienen funciones especiales como comunicación serial, interrupciones externas o modulación por ancho de pulso (PWM).
bloques de 8-bits. Esto quiere decir que solo puede hacer operaciones con números entre 0 y 255. Tiene 32 KB de memoria flash para almacenar el código, 2 KB de SRAM para las variables durante la ejecución del programa y 1 KB de EEPROM para almacenamiento no volátil.
Los microcontroladores también se llaman MCU por sus siglas en inglés Microcontroller Unit.Estos son un circuito integrado digital programable. Está compuesto por una unidad central de proceso (CPU), memorias (ROM y RAM) y líneas de entrada y salida (periféricos).El ATmega328P es un microcontrolador de 8 bits, lo que significa que procesa datos en
Microcontrolador
¿Qué son los microcontroladores?
Lorem ipsum dolor sit amet, consectetur adipiscing elit
La placa Arduino Uno tiene 6 pines de entrada analógica, etiquetados como A0, A1, A2, A3, A4 y A5. Estos pines están diseñados para leer señales analógicas, que son señales continuas en lugar de digitales (que son discretas, es decir, solo pueden ser 0 o 1). Cada pin puede recibir una señal de 0 a 5V.Los pines analógicos están conectados a un convertidor analógico-digital (ADC), que convierte las señales analógicas en valores digitales comprensibles por el microcontrolador. El ADC del Arduino Uno tiene una resolución de 10 bits, lo que significa que convierte el rango de voltaje de entrada (0 a 5V) en valores digitales entre 0 y 1023.0 representa 0V (sin señal). 1023 representa 5V (señal máxima). Valores intermedios corresponden a voltajes proporcionales entre 0V y 5V.
Pines de Entrada Analógica
El Arduino Uno es una de las placas de desarrollo más populares en el mundo de la electrónica y la programación. Es un producto de la plataforma Arduino, diseñada para facilitar la creación de proyectos de hardware, especialmente para principiantes y entusiastas de la tecnología.
Arduino UNO
El Arduino Uno está diseñado para ser una herramienta simple y accesible para aprender y desarrollar proyectos de electrónica. He aquí los componentes que hacen de este producto el paraíso para los electrónicos.
- Vin: Para alimentar la placa con voltajes entre 7-12V.
- 5V: Voltaje regulado de 5V para alimentar componentes externos.
- 3.3V: Voltaje regulado de 3.3V para componentes de bajo voltaje.
- GND: Conexiones de tierra para completar el circuito.
- AREF: Voltaje de referencia para entradas analógicas (cuando se usa con analogReference()).
- IOREF: Referencia de voltaje de los pines de entrada/salida.
Pines de Alimentación
El pin Vin se utiliza para alimentar la placa cuando no se está utilizando el puerto USB. Este pin acepta un voltaje entre 7V y 12V. Internamente, el Arduino tiene un regulador de voltaje que convierte el voltaje de entrada a 5V, que es el voltaje de operación del microcontrolador y la mayoría de los componentes.
El pin 5V proporciona un voltaje regulado de 5V que es generado por el regulador de voltaje de la placa. Este pin se utiliza para alimentar sensores, módulos y otros componentes que requieren exactamente 5V para funcionar.
El pin 3.3V proporciona un voltaje regulado de 3.3V. Se utiliza para alimentar componentes que requieren un voltaje más bajo, como algunos módulos Wi-Fi, sensores y dispositivos que funcionan mejor a 3.3V.
Los pines GND (o tierra) son los puntos de referencia de 0V para el sistema eléctrico. Todos los componentes conectados al Arduino deben tener un punto común de referencia de tierra. Este pin se utiliza para completar el circuito con los otros pines de alimentación (5V, 3.3V, o Vin). Cada dispositivo conectado a la placa Arduino necesita una conexión a GND para que el flujo de corriente sea correcto.
El pin AREF (Referencia Analógica) permite establecer una referencia de voltaje externa para las entradas analógicas. En lugar de utilizar los 5V internos como referencia para las entradas analógicas, puedes conectar un voltaje externo (menor o igual a 5V) al pin AREF. Esto es útil para mejorar la precisión de las lecturas de los sensores analógicos cuando trabajan dentro de un rango de voltajes más estrecho o distinto de 0-5V.
El pin IOREF proporciona el voltaje de operación de los pines I/O (entrada/salida). En el caso del Arduino Uno, este pin entrega 5V porque la placa opera a ese voltaje. Este pin se utiliza principalmente por los shields para adaptarse al voltaje de la placa Arduino. Si la placa funciona a 3.3V en lugar de 5V el pin IOREF proporcionará 3.3V en lugar de 5V, permitiendo que los shields puedan funcionar en ambas plataformas sin dañarse.
ICSP (In-Circuit Serial Programming) es una interfaz para programar microcontroladores directamente mientras están instalados en un circuito. En el caso del Arduino Uno, los pines ICSP permiten:
- Grabar o actualizar el bootloader del microcontrolador ATmega328P.
- Reprogramar el firmware de los microcontroladores, como el ATmega16U2, que se usa para la comunicación USB.
- Realizar programación en serie sin necesidad de cargar el código a través del puerto USB o del IDE de Arduino.
El conector ICSP está compuesto por 6 pines, que son los siguientes:1.- MISO (Master In Slave Out)2.- SCK (Serial Clock)3.- RESET4.- VCC5.- MOSI (Master Out Slave In)6.- GND (Ground)
2
Pines ICSP
1
3
4
6
5
El pin MISO permite la transferencia de datos desde el microcontrolador (slave) hacia el programador (master) durante el proceso de programación. En la comunicación SPI, el MISO transmite datos desde el dispositivo esclavo al maestro.
El pin SCK es la señal de reloj usada para sincronizar la transferencia de datos entre el programador externo y el microcontrolador. El programador genera el reloj, y el microcontrolador sigue ese ritmo para enviar o recibir datos. Esta señal es clave para la correcta sincronización durante la transferencia de datos.
El pin MOSI permite la transferencia de datos desde el programador (master) hacia el microcontrolador (slave). En la comunicación SPI, este pin se utiliza para enviar datos del maestro al esclavo.
Este pin conecta la tierra (GND) del programador con la tierra del microcontrolador. Es necesario para cerrar el circuito y establecer un nivel de referencia común entre los dispositivos conectados.
Este pin proporciona el voltaje de alimentación necesario (en el caso del Arduino Uno, generalmente 5V) para que el microcontrolador y el programador estén energizados durante el proceso de programación. El programador generalmente alimenta al microcontrolador a través de este pin, aunque también puede estar alimentado de forma independiente.
El pin RESET permite poner el microcontrolador en modo de programación. Al activarse, este pin reinicia el microcontrolador y lo prepara para recibir instrucciones desde el programador. Este pin es fundamental, ya que el proceso de programación requiere que el microcontrolador esté en un estado específico para poder recibir nuevos datos o cambiar su firmware.
El CH340 es un chip conversor de USB a Serial ampliamente utilizado en placas Arduino genéricas o clones, especialmente en lugar del chip FTDI o el ATmega16U2 que se encuentran en las versiones oficiales del Arduino Uno.El CH340 es un integrado fabricado por la empresa china WCH (Nanjing QinHeng Electronics), diseñado para realizar la conversión de señales USB a señales seriales UART (Universal Asynchronous Receiver-Transmitter).
Microcontrolador AVR
En otras palabras, el CH340 actúa como un puente que permite que un microcontrolador (como el ATmega328P en el Arduino Uno) se comunique con una computadora mediante el protocolo USB. Este chip se ha vuelto muy popular en las versiones económicas de las placas Arduino debido a su bajo costo en comparación con otros chips de conversión USB a Serial, como el FTDI o el ATmega16U2.
ICSP (In-Circuit Serial Programming) es una interfaz para programar microcontroladores directamente mientras están instalados en un circuito. En el caso del Arduino Uno, los pines ICSP permiten:
- Grabar o actualizar el bootloader del microcontrolador ATmega328P.
- Reprogramar el firmware de los microcontroladores, como el ATmega16U2, que se usa para la comunicación USB.
- Realizar programación en serie sin necesidad de cargar el código a través del puerto USB o del IDE de Arduino.
El conector ICSP está compuesto por 6 pines, que son los siguientes:1.- MISO (Master In Slave Out)2.- SCK (Serial Clock)3.- RESET4.- VCC5.- MOSI (Master Out Slave In)6.- GND (Ground)
2
Pines ICSP
1
3
4
6
5
El pin MISO permite la transferencia de datos desde el microcontrolador (slave) hacia el programador (master) durante el proceso de programación. En la comunicación SPI, el MISO transmite datos desde el dispositivo esclavo al maestro.
El pin SCK es la señal de reloj usada para sincronizar la transferencia de datos entre el programador externo y el microcontrolador. El programador genera el reloj, y el microcontrolador sigue ese ritmo para enviar o recibir datos. Esta señal es clave para la correcta sincronización durante la transferencia de datos.
El pin MOSI permite la transferencia de datos desde el programador (master) hacia el microcontrolador (slave). En la comunicación SPI, este pin se utiliza para enviar datos del maestro al esclavo.
Este pin conecta la tierra (GND) del programador con la tierra del microcontrolador. Es necesario para cerrar el circuito y establecer un nivel de referencia común entre los dispositivos conectados.
Este pin proporciona el voltaje de alimentación necesario (en el caso del Arduino Uno, generalmente 5V) para que el microcontrolador y el programador estén energizados durante el proceso de programación. El programador generalmente alimenta al microcontrolador a través de este pin, aunque también puede estar alimentado de forma independiente.
El pin RESET permite poner el microcontrolador en modo de programación. Al activarse, este pin reinicia el microcontrolador y lo prepara para recibir instrucciones desde el programador. Este pin es fundamental, ya que el proceso de programación requiere que el microcontrolador esté en un estado específico para poder recibir nuevos datos o cambiar su firmware.
- Vin: Para alimentar la placa con voltajes entre 7-12V.
- 5V: Voltaje regulado de 5V para alimentar componentes externos.
- 3.3V: Voltaje regulado de 3.3V para componentes de bajo voltaje.
- GND: Conexiones de tierra para completar el circuito.
- AREF: Voltaje de referencia para entradas analógicas (cuando se usa con analogReference()).
- IOREF: Referencia de voltaje de los pines de entrada/salida.
Pines de Alimentación
El pin Vin se utiliza para alimentar la placa cuando no se está utilizando el puerto USB. Este pin acepta un voltaje entre 7V y 12V. Internamente, el Arduino tiene un regulador de voltaje que convierte el voltaje de entrada a 5V, que es el voltaje de operación del microcontrolador y la mayoría de los componentes.
El pin 5V proporciona un voltaje regulado de 5V que es generado por el regulador de voltaje de la placa. Este pin se utiliza para alimentar sensores, módulos y otros componentes que requieren exactamente 5V para funcionar.
El pin 3.3V proporciona un voltaje regulado de 3.3V. Se utiliza para alimentar componentes que requieren un voltaje más bajo, como algunos módulos Wi-Fi, sensores y dispositivos que funcionan mejor a 3.3V.
Los pines GND (o tierra) son los puntos de referencia de 0V para el sistema eléctrico. Todos los componentes conectados al Arduino deben tener un punto común de referencia de tierra. Este pin se utiliza para completar el circuito con los otros pines de alimentación (5V, 3.3V, o Vin). Cada dispositivo conectado a la placa Arduino necesita una conexión a GND para que el flujo de corriente sea correcto.
El pin AREF (Referencia Analógica) permite establecer una referencia de voltaje externa para las entradas analógicas. En lugar de utilizar los 5V internos como referencia para las entradas analógicas, puedes conectar un voltaje externo (menor o igual a 5V) al pin AREF. Esto es útil para mejorar la precisión de las lecturas de los sensores analógicos cuando trabajan dentro de un rango de voltajes más estrecho o distinto de 0-5V.
El pin IOREF proporciona el voltaje de operación de los pines I/O (entrada/salida). En el caso del Arduino Uno, este pin entrega 5V porque la placa opera a ese voltaje. Este pin se utiliza principalmente por los shields para adaptarse al voltaje de la placa Arduino. Si la placa funciona a 3.3V en lugar de 5V el pin IOREF proporcionará 3.3V en lugar de 5V, permitiendo que los shields puedan funcionar en ambas plataformas sin dañarse.
En los pines digitales de Arduino solo podemos tener dos estados HIGH o LOW que equivalen a 5V y 0V. Estos son los niveles lógicos del microcontrolador ATMega328. Todo lo que esté entre 3V y 5V se considera nivel alto (HIGH) y todo lo que esté entre 0V y 1,5V es nivel bajo (LOW). El resto, entre 1,5V y 3V es una indeterminación.
Pines digitales
Los pines 0 y 1 son Rx (recibir) y Tx (transmitir). Se utilizan para la comunicación serie entre el ordenador y Arduino. El pin 13 está conectado a un LED integrado dentro de la placa.Se usan para leer señales digitales (0 o 1) o enviar señales digitales. Estos pines pueden controlar componentes como LEDs, relés o motores. Algunos de estos pines tienen funciones especiales como comunicación serial, interrupciones externas o modulación por ancho de pulso (PWM).
RAM (SRAM): 2 KB.El ATmega328P es responsable de ejecutar el código cargado por el usuario, manejar las entradas y salidas (sensores, actuadores, etc.) y todas las funcionalidades del sistema.
Este sigue siendo el corazón del Arduino Uno genérico. Es el mismo microcontrolador que usa el Arduino Uno original.Características clave: Frecuencia de operación: 16 MHz.Memoria Flash: 32 KB (0.5 KB es utilizada por el bootloader).
Microcontrolador
Lorem ipsum dolor sit amet, consectetur adipiscing elit
La placa Arduino Uno tiene 6 pines de entrada analógica, etiquetados como A0, A1, A2, A3, A4 y A5. Estos pines están diseñados para leer señales analógicas, que son señales continuas en lugar de digitales (que son discretas, es decir, solo pueden ser 0 o 1). Cada pin puede recibir una señal de 0 a 5V.Los pines analógicos están conectados a un convertidor analógico-digital (ADC), que convierte las señales analógicas en valores digitales comprensibles por el microcontrolador. El ADC del Arduino Uno tiene una resolución de 10 bits, lo que significa que convierte el rango de voltaje de entrada (0 a 5V) en valores digitales entre 0 y 1023.0 representa 0V (sin señal). 1023 representa 5V (señal máxima). Valores intermedios corresponden a voltajes proporcionales entre 0V y 5V.
Pines de Entrada Analógica
Icono: ✓Función: Permite compilar el código para verificar que no haya errores de sintaxis o lógica. No carga el código en la placa, solo comprueba que esté correctamente escrito.Interacción: Al hacer clic, el IDE revisa el código y muestra los errores (si los hay) en la consola de salida.
Verificar (Check/Compilar):
Icono: Flecha hacia la derechaFunción: Compila y sube el código a la placa Arduino conectada. Es el proceso final donde el código se transfiere al microcontrolador.Interacción: Al hacer clic, el IDE compila el código y lo carga en la placa. Si tiene éxito, verás un mensaje de confirmación en la consola.
Subir (Upload):
- Icono: Lupa
- Función: Abre la herramienta de Monitor Serial, que permite enviar y recibir datos entre la computadora y la placa.
- Interacción: Al hacer clic, se abre una ventana donde puedes observar los datos enviados desde el Arduino y enviar datos desde la computadora a la placa. Es útil para la depuración y comunicación en tiempo real.
Monitor Serial:
- Depuración es el proceso de identificar y corregir errores o problemas en el código de un programa. En un entorno de depuración, puedes pausar la ejecución del programa, inspeccionar variables, y analizar el flujo del código para entender cómo se comporta en diferentes situaciones.
Depuración (debugging):
La parte principal de la interfaz es el Editor de Código. Aquí puedes escribir y editar el código (sketch) que será cargado en la placa.Escritura del Código: Puedes escribir código en el lenguaje Arduino (basado en C/C++), con funciones como setup() y loop(). Al escribir, el IDE resalta la sintaxis, facilitando la identificación de comandos, variables y comentarios.Resaltado de Sintaxis: A medida que escribes, el IDE usa colores para diferenciar tipos de datos, funciones, palabras clave y comentarios. Por ejemplo, los comentarios son de color gris, mientras que las palabras clave del lenguaje son resaltadas en azul.Comentarios: Puedes agregar comentarios en el código usando // para comentarios de una línea o /* */ para comentarios de varias líneas. Los comentarios no se ejecutan, solo sirven para explicar el código.Copiar/Pegar: El editor permite las operaciones básicas de copiar (Ctrl + C), cortar (Ctrl + X), pegar (Ctrl + V) y deshacer (Ctrl + Z), lo que facilita la edición del código.
Editor de código
Esta sección aparece justo debajo del editor de código y muestra mensajes relacionados con la compilación, carga, y errores.Mensajes de Compilación: Verificar o subir el código, aquí aparecerán mensajes como "Compilación completada" o advertencias de tamaño de memoria utilizada.Errores de Compilación: Si hay errores en el código, el área de mensajes te lo indicará, destacando las líneas problemáticas y mostrando información detallada sobre el error. Puedes hacer clic en los mensajes de error para llevarte directamente a la línea afectada.
Área de Mensajes
La consola se encuentra en la parte inferior del IDE y proporciona información detallada sobre el proceso de compilación y carga.Información Detallada: En esta consola verás detalles técnicos de la compilación, incluyendo los comandos internos que utiliza el IDE para convertir tu código en binarios que pueden ejecutarse en el microcontrolador.Errores y Advertencias: Si hay errores, aparecerán aquí junto con sugerencias o descripciones detalladas del problema. También se muestran advertencias que no necesariamente bloquean la ejecución, pero indican posibles mejoras o problemas potenciales en el código.
Consola de Salida
- Nuevo: Crea un nuevo sketch.
- Abrir: Abre un sketch existente.
- Guardar/Guardar como: Guarda el sketch actual.
- Ejemplos: Muestra una lista de ejemplos preinstalados que puedes abrir y modificar, como el clásico "Blink".
Menú Archivo:
- Cortar/Copiar/Pegar: Permite editar el texto en el editor.
- Buscar/Reemplazar: Abre herramientas para buscar texto dentro del código o reemplazarlo.
Menú Editar:
- Verificar/Compilar: Permite verificar el código sin cargarlo.
- Subir: Compila y carga el sketch en la placa.
- Incluir Librería: Añade una librería a tu sketch. El IDE tiene muchas librerías prediseñadas para trabajar con sensores y módulos, como la de control de motores o pantallas LCD.
Menú Sketch:
- Placa: Selecciona el tipo de placa Arduino que estás utilizando .
- Puerto: Selecciona el puerto serial al que está conectada tu placa.
- Programador: Configura el programador externo en caso de que quieras cargar código usando un programador ISP.
- Gestor de Placas: Permite agregar nuevas placas compatibles con el IDE.
- Gestor de Librerías: Abre una ventana que te permite instalar, eliminar o actualizar librerías.
Menú Herramientas:
La barra de estado está en la parte inferior de la interfaz y muestra información importante sobre la placa y el puerto serie seleccionados.Placa Seleccionada: Te indica qué placa Arduino has seleccionado (por ejemplo, Arduino Uno). Si haces clic, te lleva directamente a las opciones de selección de placa en el menú Herramientas.Puerto Seleccionado: Muestra el puerto serial al que está conectada la placa. Si haces clic en él, puedes cambiar el puerto en caso de que tengas varias placas conectadas.
Barra de Estado