
Multímetro
- AGR
- Electrónica
- 15 Jan, 2025
Introducción
En esta clase, aprenderás sobre componentes electrónicos básicos como resistencias, potenciómetros y el uso de un multímetro para medir voltajes. También exploraremos cómo estos conceptos se aplican en un programa de Arduino para controlar LEDs según el voltaje de entrada.
Componentes electrónicos básicos
Resistencias
- Definición: Son componentes que limitan el flujo de corriente en un circuito.
- Uso en el circuito: Protegen los LEDs de sobrecargas de corriente.
- Cálculo: La ley de Ohm (V = IR) se utiliza para determinar el valor necesario.
- Código relacionado: Aunque no están explícitas en el código, se asume que hay resistencias conectadas a los LEDs para protegerlos.
Potenciómetros
- Definición: Un tipo de resistor variable que ajusta la resistencia en un circuito.
- Uso en el circuito: Se utiliza para leer un valor analógico entre 0 y 1023 que representa un voltaje entre 0 y 5V.
- Código relacionado:
int sensorValue = analogRead(potPin); float voltage = sensorValue * (5.0 / 1023.0);
Uso del multímetro
- Definición: Instrumento que mide voltaje, corriente y resistencia.
- Aplicación en el proyecto:
- Verificar el voltaje del potenciómetro.
- Comprobar el funcionamiento de los LEDs.
- Pasos para medir voltaje:
- Configurar el multímetro en modo de voltaje (V).
- Colocar las puntas en los extremos del potenciómetro.
- Observar el valor mostrado.
Sentencias de control en el código
Declaraciones if-else
- Uso en el código:
Se utilizan para decidir qué LED encender dependiendo del rango de voltaje leído.
if (voltage >= 0.0 && voltage <= 2.3) { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led3, LOW); }
Conversión de valores analógicos a voltaje
- Fórmula: Voltaje = sensorValue * (5.0 / 1023.0)
- Explicación:
analogRead
lee un valor entre 0 y 1023.- Este valor se escala a un rango de 0 a 5V para que sea más comprensible.
Retos prácticos
Reto 1
Modifica el código para que los LEDs cambien según el siguiente rango:
- LED 1: 0V a 1.5V
- LED 2: 1.5V a 3.5V
- LED 3: 3.5V a 5V
Reto 2
Agrega un cuarto LED que se encienda cuando el voltaje sea mayor a 4.5V. Asegúrate de ajustar los rangos para los demás LEDs.
Preguntas de evaluación
- ¿Qué función tiene una resistencia en un circuito?
- Explica cómo funciona un potenciómetro.
- ¿Cuál es la fórmula para convertir un valor analógico en voltaje?
- ¿Qué sucede si no usamos resistencias con los LEDs?
- ¿Cómo se mide el voltaje con un multímetro?
- ¿Qué hace la función
analogRead
en el código? - ¿Por qué utilizamos la sentencia
if-else
en este programa? - ¿Qué significa
pinMode
en el contexto del código? - Describe cómo ajustarías los rangos de voltaje para los LEDs en el programa.
- ¿Qué sucede si el potenciómetro está ajustado al máximo valor de resistencia?
- ¿Cuál es el equivalente en voltaje del valor analogico 255?
- ¿Cuál es el equivalente en voltaje del valor analogico 640?
Recursos
Código
// Definición de pines para los LEDs
const int led1 = 9;
const int led2 = 10;
const int led3 = 11;
// Definición del pin para el potenciometro
const int potPin = A0;
void setup() {
// Configurar los pines de los LEDs como salida
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
// Inicializar comunicación serial para depuración
Serial.begin(9600);
}
void loop() {
// Leer el valor analógico del potenciómetro (0 a 1023)
int sensorValue = analogRead(potPin);
// Convertir el valor leído a voltaje (0.0 a 5.0V)
float voltage = sensorValue * (5.0 / 1023.0);
// Mostrar el voltaje en el monitor serial
Serial.print("Voltaje: ");
Serial.println(voltage);
// Controlar los LEDs según el voltaje leído
if (voltage >= 0.0 && voltage <= 2.3) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
else if (voltage > 2.3 && voltage <= 4.0) {
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
}
else if (voltage > 4.0 && voltage <= 5.0) {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
}
delay(100);
}