Encender barra led con potenciómetro

¡Hola a todos los entusiastas de Arduino! En esta ocasión, quiero compartir con ustedes un emocionante proyecto en el que estuve trabajando recientemente. Se trata de un sistema de control de LEDs utilizando Arduino y un sensor analógico.

En este proyecto, aprenderemos cómo aprovechar el potencial de Arduino para crear un efecto visual fascinante que responde a los cambios en la lectura del sensor. Así que, sin más preámbulos, ¡vamos a sumergirnos en los detalles!

Materiales necesarios

Antes de comenzar, asegúrate de tener los siguientes materiales a mano:

  • Arduino board
  • Sensor analógico (puede ser un sensor de luz o un potenciómetro)
  • 10 LEDs
  • Resistencias (opcional, dependiendo de los LEDs utilizados)
  • Cables de conexión

Conexionado

La conexión de los componentes es crucial para que el proyecto funcione correctamente. Sigue estos pasos para realizar el conexionado adecuado:

  1. Conecta el pin del sensor analógico al pin A0 en la placa Arduino.
  2. Conecta los cátodos de los LEDs a los pines 2 a 11 de la placa Arduino, respectivamente.
  3. Si estás utilizando LEDs estándar, asegúrate de conectar una resistencia apropiada en serie con cada LED para limitar la corriente.

Código del proyecto

// Definición del pin analógico para el sensor
const int analogPin = A0;

// Número total de LEDs
const int ledCount = 10;

// Arreglo que contiene los pines de los LEDs
int ledPins[] = {
  2, 3, 4, 5, 6, 7, 8, 9, 10, 11
};

void setup() {
  // Configuración de los pines de los LEDs como salidas
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    pinMode(ledPins[thisLed], OUTPUT);
  }
}

void loop() {
  // Lectura del valor analógico del sensor
  int sensorReading = analogRead(analogPin);
  
  // Mapeo del valor del sensor al rango de LEDs encendidos
  int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
  
  // Control de los LEDs según el nivel calculado
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    if (thisLed < ledLevel) {
      digitalWrite(ledPins[thisLed], HIGH);  // Enciende el LED
    }
    else {
      digitalWrite(ledPins[thisLed], LOW);   // Apaga el LED
    }
  }
}

Conclusiones

Este emocionante proyecto nos ha permitido experimentar con la interacción entre componentes electrónicos y programación en Arduino. Hemos creado un sistema de control de LEDs que se adapta de manera dinámica según la lectura de un sensor analógico.

Esto podría tener aplicaciones creativas en áreas como el diseño de iluminación, la visualización de datos y más.

Espero que hayan disfrutado explorando este proyecto tanto como yo disfruté creándolo. Siéntanse libres de modificar el código y experimentar con diferentes sensores o efectos de iluminación. ¡Las posibilidades son infinitas!

¡Hasta la próxima, y sigan construyendo con Arduino! 🚀

Carrito de compra