Want to make creations as awesome as this one?

Transcript

Editor de código

Barra de mensajes

Barra de estado

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

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 derecha Funció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)

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)

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.

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.

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.

Editor de código

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.

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.

Esta sección aparece justo debajo del editor de código y muestra mensajes relacionados con la compilación, carga, y errores.

Área de Mensajes

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.

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.

La consola se encuentra en la parte inferior del IDE y proporciona información detallada sobre el proceso de compilación y carga.

Consola de Salida

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.

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.

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.

Barra de Estado

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.

Botón reset

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.

Puerto USB

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.

Entrada jack

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.

Regulador de voltaje

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.

Cristal Oscilador

Un LED verde que está en la placa. Indica que la placa está encendida y funcionando correctamente. Se enciende cuando la placa está alimentada.

Led de encendido

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)

En el caso del Arduino Uno, los pines ICSP permiten: 1.- Grabar o actualizar el bootloader del microcontrolador ATmega328P. 2.- Reprogramar el firmware de los microcontroladores, como el ATmega16U2, que se usa para la comunicación USB. 3.- Realizar programación en serie sin necesidad de cargar el código a través del puerto USB o del IDE de Arduino.

ICSP (In-Circuit Serial Programming) es una interfaz para programar microcontroladores directamente mientras están instalados en un circuito.

Pines ICSP

2

3

4

6

5

1

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 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.

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 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.

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 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

Microcontrolador

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.

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

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. 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).

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.

Pines digitales

  • 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.

0 representa 0V (sin señal). 1023 representa 5V (señal máxima). Valores intermedios corresponden a voltajes proporcionales entre 0V y 5V.

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.

La placa Arduino Uno tiene 6 pines de entrada analógica, etiquetados como A0, A1, A2, A3, A4 y A5.

Pines de Entrada Analógica

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.

Botón reset

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.

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.

Regulador de voltaje

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.

Entrada jack

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.

Cristal Oscilador

Un LED verde que está en la placa. Indica que la placa está encendida y funcionando correctamente. Se enciende cuando la placa está alimentada.

Led de encendido

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). 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.

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.

Microcontrolador AVR

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 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.

Este sigue siendo el corazón del Arduino Uno genérico. Es el mismo microcontrolador que usa el Arduino Uno original.

Microcontrolador

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. 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).

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.

Pines digitales

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)

En el caso del Arduino Uno, los pines ICSP permiten: 1.- Grabar o actualizar el bootloader del microcontrolador ATmega328P. 2.- Reprogramar el firmware de los microcontroladores, como el ATmega16U2, que se usa para la comunicación USB. 3.- Realizar programación en serie sin necesidad de cargar el código a través del puerto USB o del IDE de Arduino.

ICSP (In-Circuit Serial Programming) es una interfaz para programar microcontroladores directamente mientras están instalados en un circuito.

Pines ICSP

2

3

4

6

5

1

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 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.

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 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.

  • 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.

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.

La placa Arduino Uno tiene 6 pines de entrada analógica, etiquetados como A0, A1, A2, A3, A4 y A5.

Pines de Entrada Analógica