Curso Completo: Introducción a Arduino Uno

Introducción a Arduino Uno

El curso definitivo para aprender electrónica y programación con Arduino. Desde conceptos básicos hasta proyectos avanzados, con teoría, ejemplos prácticos y ejercicios para consolidar tu aprendizaje.

Bienvenido al Curso de Arduino Uno

¡Bienvenido al curso de Introducción a Arduino Uno! Utiliza el menú de navegación superior para explorar cada módulo a tu propio ritmo. Cada módulo incluye explicaciones claras, ejemplos prácticos y ejercicios para consolidar tu aprendizaje.

Arduino es una plataforma de creación de electrónica de código abierto que combina hardware y software fácil de usar. Es perfecta para principiantes y expertos que quieren crear proyectos interactivos.

Microcontrolador

ATmega328P

Entradas/Salidas

14 pines digitales

Voltaje

5V operación

Módulo 1: Conceptos Básicos de Arduino

Arduino es una plataforma de hardware y software libre que permite crear dispositivos interactivos. Está basada en una placa con un microcontrolador y un entorno de desarrollo para programarla.

Partes principales de Arduino Uno:

  • Microcontrolador ATmega328P: El cerebro de Arduino que ejecuta los programas.
  • Pines Digitales (0-13): Pueden funcionar como entradas o salidas digitales.
  • Pines Analógicos (A0-A5): Leen valores analógicos de sensores.
  • Alimentación: Puede ser a través de USB o conector de barril (7-12V).
  • LED integrado (pin 13): Útil para pruebas básicas.
Ejemplo – Placa Arduino Uno:

Microcontrolador ATmega328P

Pines Digitales

Pines Analógicos

Alimentación

Ejercicio: Investiga las diferencias entre Arduino Uno y Arduino Mega. Anota tres diferencias clave.

Módulo 2: Configuración Inicial

Para comenzar a trabajar con Arduino necesitas instalar el software (IDE) y conectar tu placa. El entorno de desarrollo de Arduino (IDE) es donde escribirás y cargarás tus programas (sketches) a la placa.

Pasos de configuración:

  1. Descarga el IDE: Visita arduino.cc y descarga la última versión para tu sistema operativo.
  2. Instala los drivers: Conecta tu Arduino al PC y permite que se instalen los drivers necesarios.
  3. Selecciona la placa: En el IDE ve a Herramientas > Placa y selecciona «Arduino Uno».
  4. Selecciona el puerto: En Herramientas > Puerto, selecciona el puerto COM donde está conectado.
  5. Carga un ejemplo: Abre Ejemplos > 01.Basics > Blink y haz clic en Subir.
Ejemplo – Programa Blink:
void setup() {
  // Inicializa el pin digital 13 como salida
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH); // Enciende el LED
  delay(1000); // Espera un segundo
  digitalWrite(LED_BUILTIN, LOW); // Apaga el LED
  delay(1000); // Espera un segundo
}
Actividad: Modifica el programa Blink para que el LED parpadee dos veces rápido y luego una vez lento en un ciclo repetitivo.

Módulo 3: Programación Básica

Los programas de Arduino se llaman sketches y están escritos en un lenguaje basado en C/C++. Cada sketch tiene dos funciones principales: setup() que se ejecuta una vez al inicio, y loop() que se repite continuamente.

Conceptos básicos de programación:

  • Variables: Espacios para almacenar datos (int, float, char, boolean).
  • Estructuras de control: if, else, for, while para controlar el flujo del programa.
  • Funciones: Bloques de código reutilizables que realizan tareas específicas.
  • Entradas/Salidas digitales: pinMode(), digitalRead(), digitalWrite().
  • Entradas analógicas: analogRead() para leer valores de 0 a 1023.
Ejemplo – Lectura de un pulsador:
const int buttonPin = 2; // Pulsador en pin 2
const int ledPin = 13; // LED en pin 13

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}
Ejercicio: Escribe un programa que haga parpadear un LED externo conectado al pin 10 con un intervalo de 200ms cuando se presione un pulsador conectado al pin 3.

Módulo 4: Sensores y Lectura de Datos

Los sensores permiten a Arduino interactuar con el mundo físico. Convierten fenómenos físicos (temperatura, luz, movimiento) en señales eléctricas que Arduino puede leer.

Sensores comunes:

LM35

Sensor de temperatura

LDR

Sensor de luz

HC-SR04

Sensor ultrasónico

Ejemplo – Lectura de temperatura con LM35:
const int sensorPin = A0; // LM35 en pin A0

void setup() {
  Serial.begin(9600); // Inicia comunicación serial
}

void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = sensorValue * (5.0 / 1023.0);
  float tempC = voltage * 100; // 10mV por grado
  Serial.print(«Temperatura: «);
  Serial.print(tempC);
  Serial.println(» °C»);
  delay(1000);
}
Actividad: Conecta un potenciómetro a un pin analógico y escribe un programa que muestre su valor en el monitor serial. ¿Qué rango de valores obtienes?

Módulo 5: Actuadores y Control

Los actuadores permiten a Arduino interactuar con el mundo físico mediante movimiento, luz o sonido. Son componentes que convierten señales eléctricas en acción física.

Actuadores comunes:

LEDs

Emisión de luz

Servomotores

Control de posición

Motores DC

Movimiento continuo

Ejemplo – Control de un servomotor:
#include <Servo.h>
Servo myservo; // Crea objeto servo
int pos = 0; // Variable de posición

void setup() {
  myservo.attach(9); // Servo en pin 9
}

void loop() {
  // Mueve de 0 a 180 grados
  for (pos = 0; pos <= 180; pos++) {
    myservo.write(pos);
    delay(15);
  }
  // Mueve de 180 a 0 grados
  for (pos = 180; pos >= 0; pos–) {
    myservo.write(pos);
    delay(15);
  }
}
Ejercicio: Conecta un LED RGB a tres pines PWM (9, 10, 11). Escribe un programa que cambie gradualmente el color del LED a través del espectro RGB.

Módulo 6: Proyectos Integrados

Ahora que conoces los fundamentos, es hora de combinar sensores y actuadores para crear proyectos más complejos. Estos proyectos integrados te permitirán aplicar todo lo aprendido.

Proyectos sugeridos:

  • Sistema de riego automático: Usa un sensor de humedad de suelo para activar una bomba de agua cuando la tierra esté seca.
  • Estación meteorológica: Mide temperatura, humedad y presión atmosférica y muestra los datos en una pantalla LCD.
  • Sistema de seguridad: Usa un sensor PIR para detectar movimiento y activar una alarma.
  • Brazo robótico: Controla un brazo con servomotores usando potenciómetros o una interfaz de computadora.
Ejemplo – Semáforo inteligente:

Un semáforo que cambia según la presencia de vehículos detectados con sensores ultrasónicos:

  1. Sensor HC-SR04 mide distancia a los vehículos
  2. Si hay vehículos esperando, cambia a verde más rápido
  3. LEDs rojo, amarillo y verde muestran el estado
  4. Pantalla LCD muestra el tiempo restante
Actividad: Diseña un sistema que encienda automáticamente las luces de una habitación cuando detecte movimiento y haya poca luz ambiental. Describe los componentes necesarios y el flujo del programa.

Módulo 7: Temas Avanzados

Una vez dominados los conceptos básicos, puedes explorar funcionalidades más avanzadas que amplían las capacidades de Arduino.

Temas avanzados:

  • Comunicación I2C y SPI: Protocolos para conectar múltiples dispositivos usando pocos pines.
  • Interrupciones: Permiten responder inmediatamente a eventos externos sin bloquear el programa principal.
  • Sleep Modes: Reducen el consumo de energía para proyectos con batería.
  • Comunicación inalámbrica: Usando módulos como HC-12, NRF24L01 o ESP8266 para WiFi.
  • Control PID: Algoritmo avanzado para control preciso de sistemas (temperatura, posición).
Ejemplo – Uso de interrupciones:
const int ledPin = 13;
const int buttonPin = 2; // Pin de interrupción 0 (pin 2)
volatile bool state = LOW; // volatile para variables en ISR

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);
  // Asocia la interrupción a la función blink
  attachInterrupt(digitalPinToInterrupt(buttonPin), blink, FALLING);
}

void loop() {
  digitalWrite(ledPin, state);
}

void blink() {
  state = !state; // Cambia el estado del LED
}
Ejercicio: Investiga cómo conectar un módulo WiFi ESP8266 a Arduino. ¿Qué librerías necesitas y cómo configurarías una conexión básica a una red WiFi?

Módulo 8: Errores Comunes y Próximos Pasos

Al comenzar con Arduino es normal cometer errores. Conocer los más comunes te ayudará a resolver problemas más rápido y avanzar en tu aprendizaje.

Errores frecuentes:

  • Olvidar resistencia limitadora: Conectar LEDs sin resistencia puede dañarlos o dañar el Arduino.
  • Confundir pines analógicos y digitales: Los pines A0-A5 pueden funcionar como digitales, pero los digitales no como analógicos.
  • Falta de declaración de variables: Usar variables sin declararlas primero.
  • Conexiones eléctricas incorrectas: Conectar componentes con polaridad invertida o voltajes incorrectos.
  • No inicializar el puerto serial: Intentar usar Serial.print() sin Serial.begin().
Solución de problemas:

Si tu Arduino no responde:

  1. Verifica las conexiones eléctricas
  2. Comprueba que seleccionaste la placa y puerto correctos
  3. Revisa que no hay cortocircuitos
  4. Prueba con un programa simple como Blink
  5. Busca mensajes de error en el IDE
Actividad final: Escribe un programa que controle la velocidad de un motor DC usando un potenciómetro y un transistor. Describe los componentes necesarios y las precauciones de seguridad.

Quiz Final

1. ¿Qué función se ejecuta continuamente en un sketch de Arduino?

2. ¿Qué pin se usa comúnmente para la comunicación serial en Arduino Uno?

3. ¿Cuál es el voltaje de operación de Arduino Uno?

4. ¿Qué función se usa para leer un valor analógico?

5. ¿Qué componente necesitas para controlar un motor DC con Arduino?

© 2023 Curso de Introducción a Arduino Uno | Todos los derechos reservados

Carrito de compra
Scroll al inicio