Componentes esenciales de Arduino (2)

octubre 4, 2024

Introducción

En la primera parte de esta serie, exploramos algunos de los componentes más básicos y útiles para iniciarte en el mundo de Arduino, como los LEDs, pantallas LCD, sensores de temperatura DHT-11 y servomotores.

Si ya los has puesto en práctica, habrás notado lo fácil que es empezar a construir proyectos con Arduino.

En esta segunda parte, vamos a dar un paso más y añadir nuevos componentes esenciales que te permitirán ampliar las posibilidades de tus proyectos.

Veremos cómo interactuar con el entorno mediante sensores ultrasónicos, cómo controlar dispositivos a distancia con módulos Bluetooth, y cómo manejar dispositivos de mayor potencia con relés.

Además, aprenderás a utilizar potenciómetros y teclados matriciales, lo que te abrirá la puerta a un mundo de interacción más avanzada con tus proyectos.

Prepárate para seguir experimentando y aprender cómo combinar estos nuevos elementos para crear proyectos cada vez más complejos.

Potenciómetro: Controla entradas analógicas

El potenciómetro es uno de los componentes más simples pero versátiles que puedes usar en tus proyectos con Arduino. Básicamente, se trata de una resistencia variable que te permite ajustar un valor de manera manual, como controlar el brillo de un LED o la velocidad de un motor.

¿Qué es un potenciómetro?

Un potenciómetro es un componente con tres terminales: dos extremos de una resistencia fija y un terminal central, conocido como «wiper», que es el que se mueve y permite variar la resistencia entre los extremos. Dependiendo de la posición del wiper, el valor de la resistencia cambia, lo que genera diferentes valores analógicos que el Arduino puede leer.

Conexión del potenciómetro al Arduino

Para conectar un potenciómetro a tu Arduino, sigue estos pasos:

  1. Conecta uno de los terminales del potenciómetro al pin 5V del Arduino.
  2. Conecta el otro terminal al GND.
  3. Conecta el pin central (wiper) a un pin analógico del Arduino, por ejemplo, el A0.

Código para leer el valor del potenciómetro

Aquí tienes un ejemplo de código para leer los valores del potenciómetro y controlar el brillo de un LED en función de la posición del wiper:

int potPin = A0;  // Pin donde está conectado el potenciómetro
int ledPin = 9;   // Pin donde está conectado el LED

void setup() {
  pinMode(ledPin, OUTPUT);  // Configuramos el pin del LED como salida
  Serial.begin(9600);       // Iniciamos la comunicación serial
}

void loop() {
  int valor = analogRead(potPin);    // Leemos el valor del potenciómetro
  int brillo = map(valor, 0, 1023, 0, 255);  // Convertimos el valor a un rango para el LED
  analogWrite(ledPin, brillo);       // Ajustamos el brillo del LED

  Serial.println(valor);   // Mostramos el valor del potenciómetro en el monitor serial
  delay(100);              // Esperamos 100 ms antes de la siguiente lectura
}

Este código te permitirá ver cómo el valor del potenciómetro varía entre 0 y 1023, y cómo eso afecta el brillo de un LED. Además, puedes visualizar los valores en el monitor serial.

El potenciómetro es perfecto para proyectos donde necesitas controlar un valor manualmente, como el volumen de un altavoz o la velocidad de un motor. Es una excelente manera de aprender a trabajar con entradas analógicas en Arduino y controlar diferentes variables en tus proyectos.

Sensor ultrasónico HC-SR04: Mide distancias con precisión

El sensor ultrasónico HC-SR04 es una herramienta fantástica para medir distancias de manera precisa. Funciona enviando ondas de sonido que rebotan en los objetos y miden el tiempo que tardan en regresar, permitiéndote saber a qué distancia se encuentra un objeto. Es ideal para proyectos de detección de obstáculos, como robots, o sistemas de medición de proximidad.

¿Cómo funciona el sensor ultrasónico?

El HC-SR04 tiene dos partes clave: el emisor (Trigger) que envía un pulso de sonido y el receptor (Echo) que detecta cuándo el sonido rebota en un objeto. Al medir el tiempo que tarda el sonido en viajar hasta el objeto y volver, podemos calcular la distancia.

Conexión del sensor HC-SR04 al Arduino

Para conectar el sensor ultrasónico a tu Arduino, sigue estos pasos:

  1. VCC: Conéctalo al pin de 5V del Arduino.
  2. GND: Conéctalo al pin GND.
  3. Trigger: Conéctalo a un pin digital, por ejemplo, el pin 9.
  4. Echo: Conéctalo a otro pin digital, como el pin 10.

Código para medir la distancia

Aquí tienes un ejemplo de cómo medir la distancia con el HC-SR04 y mostrarla en el monitor serie:

const int triggerPin = 9;
const int echoPin = 10;
long duracion;
int distancia;

void setup() {
  pinMode(triggerPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  // Enviamos un pulso de 10 microsegundos
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  
  // Medimos el tiempo que tarda en volver el pulso
  duracion = pulseIn(echoPin, HIGH);
  
  // Convertimos el tiempo en distancia
  distancia = duracion * 0.034 / 2; // Velocidad del sonido = 0.034 cm/us
  
  // Mostramos la distancia en el monitor serie
  Serial.print("Distancia: ");
  Serial.print(distancia);
  Serial.println(" cm");
  
  delay(1000);
}

Este código envía un pulso con el sensor y mide el tiempo que tarda en volver, luego lo convierte en una distancia en centímetros. Puedes ver la distancia en tiempo real en el monitor serie.

El sensor ultrasónico es ideal para proyectos donde necesites medir distancias con precisión. Puedes usarlo en robots que eviten obstáculos, sistemas de alarma de proximidad, o incluso para medir el nivel de líquidos en un depósito.

Módulo Bluetooth HC-05: Controla tu Arduino sin cables

El módulo Bluetooth HC-05 es una excelente opción para añadir conectividad inalámbrica a tus proyectos de Arduino. Con este componente, puedes controlar tu Arduino desde un smartphone, tablet o computadora, permitiéndote crear proyectos interactivos o de control remoto sin necesidad de cables.

¿Qué es el módulo Bluetooth HC-05?

El HC-05 es un módulo Bluetooth fácil de usar que permite a tu Arduino comunicarse con otros dispositivos vía Bluetooth. Este módulo es compatible tanto con la tecnología Bluetooth de baja energía (BLE) como con la estándar. Lo mejor es que puedes enviar y recibir datos de forma inalámbrica, lo que abre la puerta a proyectos interactivos.

Conexión del módulo HC-05 al Arduino

Conectar el módulo HC-05 a tu Arduino es muy sencillo:

  1. VCC: Conéctalo al pin 5V del Arduino.
  2. GND: Conéctalo al pin GND.
  3. TXD: Conéctalo al pin RX (0) del Arduino.
  4. RXD: Conéctalo al pin TX (1) del Arduino.

Nota: Si usas el puerto serial del Arduino para el módulo Bluetooth, recuerda desconectar el HC-05 cuando cargues un programa en la placa.

Código para comunicarte con el módulo HC-05

Aquí tienes un ejemplo de cómo usar el HC-05 para recibir datos desde tu smartphone y controlar un LED en función de los comandos enviados:

int ledPin = 13;  // Pin del LED

void setup() {
  pinMode(ledPin, OUTPUT);  
  Serial.begin(9600);  // Iniciamos la comunicación Bluetooth
}

void loop() {
  if (Serial.available() > 0) {
    char comando = Serial.read();  // Leemos el comando enviado

    if (comando == '1') {
      digitalWrite(ledPin, HIGH);  // Enciende el LED
    } else if (comando == '0') {
      digitalWrite(ledPin, LOW);   // Apaga el LED
    }
  }
}

Este código permite controlar un LED desde tu dispositivo Bluetooth enviando un «1» para encender el LED y un «0» para apagarlo. Puedes usar cualquier aplicación que envíe comandos vía Bluetooth desde tu smartphone para probar este código.

El módulo Bluetooth HC-05 es ideal para proyectos de control remoto, como encender luces, controlar un robot o ajustar la velocidad de un ventilador a distancia. También es útil para enviar datos desde sensores hacia un dispositivo móvil, lo que te permite monitorear información en tiempo real sin estar atado a cables.

Relé: Controla dispositivos de alto voltaje con Arduino

Un relé es un interruptor controlado electrónicamente que te permite manejar dispositivos de mayor potencia, como luces o motores, utilizando tu Arduino. Este componente es fundamental si quieres controlar aparatos que funcionan con corriente alterna o dispositivos que requieren más voltaje o corriente de lo que el Arduino puede manejar directamente.

¿Qué es un relé?

El relé actúa como un puente entre el Arduino y un dispositivo de alto voltaje. Cuando el Arduino envía una señal de bajo voltaje al relé, este se activa y permite el paso de la corriente a través de su circuito principal, encendiendo o apagando el dispositivo que tengas conectado, como una lámpara o un motor de corriente alterna.

Conexión del relé al Arduino

Para conectar un relé a tu Arduino, sigue estos pasos:

  1. VCC: Conéctalo al pin 5V del Arduino.
  2. GND: Conéctalo al pin GND.
  3. IN: Conéctalo a uno de los pines digitales del Arduino (por ejemplo, el pin 7).

En el lado de alta potencia del relé, conecta el dispositivo que deseas controlar (como una lámpara o motor) a los terminales de COM y NO (Normalmente Abierto) o NC (Normalmente Cerrado), dependiendo de si deseas que el dispositivo esté normalmente apagado o encendido cuando el relé no está activado.

El relé es ideal para proyectos donde necesites controlar dispositivos de alto voltaje como luces, motores, electrodomésticos o incluso sistemas de calefacción. Es un componente muy versátil que amplía enormemente las capacidades de Arduino en proyectos de automatización y domótica.

Teclado matricial 4×4: Interactúa con tu Arduino

El teclado matricial 4×4 es un componente muy útil para añadir interacción a tus proyectos de Arduino. Con este teclado puedes crear sistemas que requieran la entrada de un código, seleccionar opciones o controlar dispositivos a través de botones, todo con un diseño compacto y fácil de usar.

¿Qué es un teclado matricial 4×4?

Este teclado está compuesto por 16 botones distribuidos en 4 filas y 4 columnas. Cada botón está ubicado en la intersección de una fila y una columna, lo que permite al Arduino detectar qué tecla ha sido presionada, usando solo 8 pines en total (4 para las filas y 4 para las columnas).

Conexión del teclado al Arduino

Para conectar el teclado 4×4 a tu Arduino, sigue estos pasos:

  1. Conecta los 4 pines de las filas (Row 1 – Row 4) a pines digitales del Arduino, por ejemplo, pines 2 a 5.
  2. Conecta los 4 pines de las columnas (Col 1 – Col 4) a otros pines digitales del Arduino, por ejemplo, pines 6 a 9.

Código para leer teclas del teclado matricial

Para utilizar el teclado, necesitarás la librería Keypad. Puedes instalarla desde el gestor de librerías de Arduino. Aquí te dejo un ejemplo sencillo para leer las teclas presionadas:

#include <Keypad.h>

const byte FILAS = 4;  // Cuatro filas
const byte COLUMNAS = 4;  // Cuatro columnas
char teclas[FILAS][COLUMNAS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte pinesFilas[FILAS] = {2, 3, 4, 5};  // Pines conectados a las filas
byte pinesColumnas[COLUMNAS] = {6, 7, 8, 9};  // Pines conectados a las columnas

Keypad teclado = Keypad(makeKeymap(teclas), pinesFilas, pinesColumnas, FILAS, COLUMNAS);

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

void loop() {
  char tecla = teclado.getKey();  // Leemos la tecla presionada

  if (tecla) {
    Serial.println(tecla);  // Mostramos la tecla presionada en el monitor serie
  }
}

Este código te permitirá leer qué tecla del teclado se ha presionado y mostrarla en el monitor serie. Cada vez que pulses una tecla, el Arduino detectará la combinación de fila y columna correspondiente.

El teclado matricial es ideal para proyectos donde necesites una interfaz de usuario, como la creación de sistemas de seguridad, controles de acceso mediante códigos PIN, o menús de selección en proyectos más complejos.

Conclusión

En esta segunda parte de nuestra serie sobre componentes esenciales de Arduino, has aprendido a manejar una nueva gama de herramientas que ampliarán las capacidades de tus proyectos.

Desde controlar dispositivos de alto voltaje con un relé hasta añadir conectividad inalámbrica con el módulo Bluetooth HC-05, estos componentes te permitirán interactuar de maneras más avanzadas y creativas con tu entorno.

Además, exploramos cómo medir distancias con el sensor ultrasónico HC-SR04, cómo utilizar un potenciómetro para ajustar valores manualmente, y cómo implementar un teclado matricial para recibir entradas del usuario.

Cada uno de estos componentes abre un abanico de posibilidades para que tus proyectos sean más funcionales y complejos.

Con todo lo aprendido hasta ahora, ya estás preparado para crear sistemas más interactivos y útiles.