Arduino UNO — Parte 2
Programación, conexiones, comandos esenciales, proyectos y más. ¡Manos a la obra!
¿Cómo Funciona?
Arduino sigue un ciclo programa → ejecución → repite. Todo el código que escribes se organiza en dos bloques principales:
setup()
Se ejecuta una sola vez al iniciar. Sirve para configurar pines, iniciar comunicación serial, etc.
loop()
Se ejecuta una y otra vez en ciclo infinito. Aquí va la lógica principal del programa.
✏️ Tu primer programa: Blink
El "Hola Mundo" de Arduino. Enciende y apaga el LED integrado (pin 13) cada segundo.
Una vez que logras que el LED parpadee, has dominado lo esencial: configurar un pin, escribir HIGH/LOW y controlar tiempos. A partir de aquí, solo crece la complejidad.
Comandos Esenciales
Estos son los comandos más usados en Arduino. Con solo estos ya puedes hacer muchísimos proyectos.
| Comando | Qué hace | Ejemplo |
|---|---|---|
pinMode(pin, modo) | Configura un pin como entrada/salida | pinMode(9, OUTPUT); |
digitalWrite(pin, valor) | Escribe HIGH (5V) o LOW (0V) | digitalWrite(9, HIGH); |
digitalRead(pin) | Lee valor digital (HIGH/LOW) | int e = digitalRead(7); |
analogWrite(pin, v) | Escribe valor PWM (0-255) en pin ~ | analogWrite(9, 128); |
analogRead(pin) | Lee valor analógico (0-1023) de A0-A5 | int v = analogRead(A0); |
delay(ms) | Espera x milisegundos | delay(500); → 0.5s |
Serial.begin(vel) | Inicia comunicación serial | Serial.begin(9600); |
Serial.println(d) | Envía datos al monitor serial | Serial.println("Hola!"); |
delay() detiene TODO el programa durante los ms que le indiques. Para proyectos avanzados usa millis() como alternativa.
Conexión Eléctrica
La clave está en el circuito completo: energía desde Arduino y retorno a GND. Siempre conecta el GND de la placa con el GND de tu circuito.
💡 LED con Arduino
Conecta un LED al pin 9 con su resistencia de 220Ω. El código lo enciende y apaga cada segundo:
Conexión: Pin 9 (Arduino) → Resistencia 220Ω → Ánodo LED (+). Cátodo LED (−) → GND.
🔘 Botón con Arduino
Lee el estado de un pulsador y enciende el LED integrado cuando lo presionas:
Conexión: Pin 2 (Arduino) → una pata del botón. Otra pata del botón → GND. El INPUT_PULLUP activa la resistencia interna, no necesitas resistencia externa.
Usar INPUT_PULLUP activa una resistencia interna de ~20,000Ω que mantiene el pin en HIGH. Cuando presionas el botón, conectas a GND y el pin lee LOW. ¡Ahorras componentes!
PWM: Brillo Variable
Con PWM (Pulse Width Modulation) puedes simular un voltaje variable. Esto permite controlar el brillo de un LED o la velocidad de un motor.
Los pines con capacidad PWM en Arduino UNO son: 3, 5, 6, 9, 10 y 11 (tienen el símbolo ~ al lado).
🌅 Efecto de brillo gradual
| Valor PWM | Brillo | Voltaje efectivo |
|---|---|---|
| 0 | Apagado | 0V |
| 64 | Bajo (25%) | ~1.25V |
| 128 | Medio (50%) | ~2.5V |
| 191 | Alto (75%) | ~3.75V |
| 255 | Máximo (100%) | 5V |
Monitor Serial
El Monitor Serial es una herramienta que te permite ver datos que envía Arduino a tu computadora. Es tu ventana al mundo interior de la placa.
En el IDE de Arduino: Herramientas → Monitor Serial (o Ctrl+Shift+M). Asegúrate de que el baud rate coincida con el que pusiste en Serial.begin().
📊 Leer un sensor analógico
Conecta un potenciómetro a A0 y lee su valor en tiempo real:
Conexión: Pata central del potenciómetro → A0. Pata izquierda → 5V. Pata derecha → GND.
Arduino en Robótica
Arduino UNO es el cerebro de miles de proyectos robóticos. Estos son algunos ejemplos que construirás durante el curso:
Riesgos y Precauciones
Los pines digitales trabajan a 5V. Conectar más voltaje (ej: 9V directo) puede quemar el microcontrolador de forma permanente.
Cada pin digital puede dar máximo 40 mA. No conectes motores grandes ni LEDs de alta potencia directo. Para eso necesitas un transistor o un driver.
Conectar 5V directamente a GND sin resistencia causa un cortocircuito que puede dañar la placa o el puerto USB de tu computadora.
Siempre desconecta la alimentación (USB o DC) antes de conectar o desconectar componentes. Revisa dos veces las conexiones antes de encender.
Documentación Técnica
| Parámetro | Valor | Notas |
|---|---|---|
| Microcontrolador | ATmega328P | 8-bit, 16 MHz |
| Voltaje operación | 5V | Regulado internamente |
| Voltaje entrada (recomendado) | 7V - 12V | Vía jack DC o VIN |
| Voltaje entrada (límite) | 6V - 20V | Fuera de rango puede dañar |
| Pines digitales I/O | 14 | 6 con PWM |
| Pines analógicos | 6 | A0 - A5, 10 bits |
| Corriente máxima por pin | 40 mA | No exceder |
| Corriente máxima 3.3V | 150 mA | Pin 3.3V |
| Memoria Flash | 32 KB | 0.5 KB usados por bootloader |
| SRAM | 2 KB | Datos en ejecución |
| EEPROM | 1 KB | Datos permanentes |
| Frecuencia reloj | 16 MHz | 16 millones de ciclos/segundo |
Pon a prueba tu Conocimiento
Pregunta 1
¿Cuántos pines digitales tiene Arduino UNO?
Pregunta 2
¿Qué función se ejecuta UNA sola vez al iniciar Arduino?
Pregunta 3
Para dar brillo variable a un LED usamos...
Pregunta 4
¿Qué voltaje entrega un pin digital cuando escribes HIGH?
Pregunta 5
¿Cuál es la corriente máxima que puede entregar un pin digital?
Pregunta 6
¿Cuál es el rango de valores de analogWrite() para PWM?
Pregunta 7
¿Qué pin NO tiene capacidad PWM en Arduino UNO?
Pregunta 8
¿Qué valor tiene HIGH en un pin digital de Arduino UNO?
Pregunta 9
¿Qué función inicia la comunicación serial en Arduino?
Pregunta 10
¿Cuántos pines analógicos (entrada) tiene Arduino UNO?