Lectura de Potenciómetro con Arduino Uno en Tinkercad

 Introducción

En este tutorial aprenderás a conectar y leer un potenciómetro con una tarjeta Arduino Uno usando Tinkercad. Un potenciómetro es una resistencia variable que nos permite controlar manualmente valores analógicos.

Componentes Necesarios

  • 1 x Arduino Uno

  • 1 x Potenciómetro

  • 3 x Cables jumper

  • 1 x Protoboard

Paso a Paso

Paso 1: Configuración del Circuito

  1. Conectar el potenciómetro a la protoboard:

    • Coloca el potenciómetro en la protoboard

    • Tiene 3 pines: dos extremos y un pin central

  2. Conexiones del potenciómetro:

    • Pin izquierdo → Conectar a 5V de Arduino

    • Pin derecho → Conectar a GND de Arduino

    • Pin central → Conectar a A0 (entrada analógica)

Paso 2: Diagrama de Conexiones

text
POTENCIÓMETRO    ARDUINO UNO
     Pin 1    →    5V
     Pin 2    →    A0
     Pin 3    →    GND

Paso 3: Programación en Arduino

cpp
// Definir el pin del potenciómetro
const int potPin = A0;

// Variable para almacenar el valor leído
int potValue = 0;

void setup() {
  // Iniciar comunicación serial
  Serial.begin(9600);
  
  // Configurar el pin como entrada
  pinMode(potPin, INPUT);
  
  Serial.println("Lectura de potenciómetro iniciada");
  Serial.println("Gira el potenciómetro para ver cambios");
}

void loop() {
  // Leer el valor del potenciómetro (0-1023)
  potValue = analogRead(potPin);
  
  // Mostrar el valor en el monitor serial
  Serial.print("Valor del potenciómetro: ");
  Serial.println(potValue);
  
  // Convertir a voltaje (0-5V)
  float voltage = potValue * (5.0 / 1023.0);
  Serial.print("Voltaje: ");
  Serial.print(voltage);
  Serial.println(" V");
  
  // Pequeña pausa para no saturar el monitor
  delay(500);
}

Paso 4: Explicación del Código

  1. analogRead(potPin): Lee el valor analógico del pin A0 (valores de 0 a 1023)

  2. Conversión a voltaje: Multiplica por (5.0/1023.0) para obtener el voltaje real

  3. Monitor Serial: Muestra los valores para verificar el funcionamiento

Paso 5: Prueba y Verificación

  1. Abre el Monitor Serial en Tinkercad

  2. Gira el potenciómetro y observa cómo cambian los valores

  3. Los valores deberían variar entre 0 y 1023

Ejemplo Avanzado: Control de LED

Si quieres agregar un LED controlado por el potenciómetro:

Circuito Adicional

  • Conecta un LED al pin 9 con una resistencia de 220Ω

Código Modificado

cpp
const int potPin = A0;
const int ledPin = 9;

int potValue = 0;
int brightness = 0;

void setup() {
  Serial.begin(9600);
  pinMode(potPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Leer potenciómetro
  potValue = analogRead(potPin);
  
  // Convertir a brillo (0-255)
  brightness = map(potValue, 0, 1023, 0, 255);
  
  // Controlar LED
  analogWrite(ledPin, brightness);
  
  // Mostrar información
  Serial.print("Potenciometro: ");
  Serial.print(potValue);
  Serial.print(" | Brillo LED: ");
  Serial.println(brightness);
  
  delay(100);
}

Consejos y Solución de Problemas

  • Valores inconsistentes: Verifica que todas las conexiones estén firmes

  • Valor siempre en 0 o 1023: Revisa la conexión del pin central

  • No funciona el monitor serial: Verifica que el baud rate sea 9600

Aplicaciones Prácticas

  • Control de volumen

  • Ajuste de intensidad luminosa

  • Selección de parámetros en proyectos

  • Interfaces de usuario físicas

¡Ahora puedes usar potenciómetros para controlar cualquier proyecto que requiera entrada analógica en Arduino



 Lectura de Potenciómetro con Arduino - Código y Explicación

¡Hola amigos! Bienvenidos. En esta ocasión les voy a explicar el código necesario para leer la posición de un potenciómetro conectado a uno de los puertos analógicos de la tarjeta Arduino.

📋 Materiales Necesarios

  • Tarjeta Arduino Uno

  • Potenciómetro

  • Cables de conexión

  • Protoboard

🔌 Conexiones del Circuito

Configuración del potenciómetro:

  • Terminal 1 → Tierra (GND)

  • Terminal 2 → Corriente (5V)

  • Terminal central (cursor) → Puerto A0 (entrada analógica)

text
POTENCIÓMETRO    ARDUINO UNO
     Pin 1    →    GND
     Pin 2    →    5V
     Pin central → A0

💻 Código Arduino Completo

cpp
// Variable para almacenar el valor del sensor
int valorSensor = 0;

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

void loop() {
  // Leer el valor analógico del puerto A0
  valorSensor = analogRead(A0);
  
  // Mostrar el valor en el monitor serial
  Serial.println(valorSensor);
  
  // Pequeño retardo para mejor precisión
  delay(5);
}

🔍 Explicación Detallada del Código

1. Declaración de Variable

cpp
int valorSensor = 0;

Creamos una variable de tipo entero llamada valorSensor inicializada en 0.

2. Configuración Inicial (setup)

cpp
void setup() {
  Serial.begin(9600);
}
  • Serial.begin(9600) inicia la comunicación serial a 9600 baudios

  • Esto nos permite ver los valores en el monitor serial

3. Bucle Principal (loop)

cpp
void loop() {
  valorSensor = analogRead(A0);
  Serial.println(valorSensor);
  delay(5);
}

analogRead(A0):

  • Lee el valor del puerto analógico A0

  • Retorna valores entre 0 y 1023

  • ¿Por qué hasta 1023? Porque Arduino tiene un conversor analógico-digital de 10 bits

🧮 ¿Por qué 0-1023?

El conversor ADC de 10 bits significa:

  • 2¹⁰ = 1024 valores posibles (0-1023)

  • Cada bit representa un valor en binario:

text
Bit 0: 1     (2⁰)
Bit 1: 2     (2¹) 
Bit 2: 4     (2²)
Bit 3: 8     (2³)
Bit 4: 16    (2⁴)
Bit 5: 32    (2⁵)
Bit 6: 64    (2⁶)
Bit 7: 128   (2⁷)
Bit 8: 256   (2⁸)
Bit 9: 512   (2⁹)

Suma total: 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 + 512 = 1023

📊 Comportamiento del Potenciómetro

  • Todo a la izquierda: Valor = 0

  • Todo a la derecha: Valor = 1023

  • En la mitad: Valor ≈ 511-512

🔬 Visualización en Tinkercad

Monitor Serial Numérico

  • Muestra los valores cambiantes en tiempo real

  • Al girar el potenciómetro, los valores cambian inmediatamente

Monitor Serial Gráfico

  • Acceso: Botón "Gráfico" en el monitor serial

  • Ventaja: Visualización visual de la señal

  • Comportamiento: Muestra cómo la señal se escala automáticamente

⚡ Retardo de 5ms

cpp
delay(5);
  • Mejora la precisión de las lecturas

  • Evita saturación del puerto serial

  • Permite una visualización más clara

🎯 Aplicaciones Prácticas

  1. Control de posición

  2. Ajuste de parámetros

  3. Interfaces de usuario físicas

  4. Sensores de rotación

💡 Próximos Pasos

En el siguiente tutorial aprenderemos:

  • Cómo convertir estos valores a voltaje real

  • Aplicaciones prácticas con otros componentes

  • Control de LEDs y motores usando potenciómetros

✅ Resumen

  • Los potenciómetros se conectan a entradas analógicas

  • Arduino lee valores entre 0-1023 (10 bits)

  • Usamos analogRead() para leer los valores

  • El monitor serial nos permite visualizar los datos

  • Las señales analógicas varían continuamente en el tiempo

¡Espero que hayan entendido esta primera parte! Es crucial para comprender el funcionamiento de sensores y entradas analógicas en Arduino.

¡Muchas gracias por ver el tutorial y nos vemos en el siguiente

Comentarios

Entradas más populares de este blog

12. Demostracion de como usar Tinkercad para simular Arduino con circuitos

11. Ejemplos Básicos de Leds y Pulsadores