Tabla de contenido

🔶 Introducción


En el mundo de los microcontroladores, la capacidad de leer valores analógicos es fundamental para interactuar con una variedad de sensores y dispositivos que envían señales continuas. Esta habilidad permite que los microcontroladores capturen datos del entorno, como la intensidad de luz, la temperatura o la posición de un potenciómetro, y los transformen en valores digitales que pueden ser procesados en aplicaciones de control y monitoreo.

📘 Fundamento Teórico


📖 Tema: Lectura de Valores Analógicos en Microcontroladores

Los microcontroladores, como el Arduino, tienen la capacidad de leer señales analógicas gracias a su conversor analógico a digital (ADC). Este convertidor toma un voltaje de entrada y lo transforma en un valor numérico discreto que el microcontrolador puede procesar.

📄 Principio de funcionamiento del ADC

El ADC de un microcontrolador convierte un voltaje de entrada analógico en un valor digital. En el caso de un Arduino UNO, el ADC tiene una resolución de 10 bits, lo que significa que puede representar el voltaje de entrada en 1024 niveles distintos (de 0 a 1023). La fórmula para calcular el voltaje de entrada basado en el valor leído es:

$$ V_{entrada} = \frac{Valor_{ADC}}{1023} \times V_{ref}

$$

Donde VrefV_{ref}Vref​ es la referencia de voltaje, típicamente 5V o 3.3V.

📄 Ejemplos de sensores analógicos

  1. Potenciómetro: Dispositivo que actúa como un divisor de voltaje variable.
  2. Sensor de luz (LDR): Varía su resistencia dependiendo de la cantidad de luz que recibe.
  3. Sensor de temperatura: Como el LM35, que proporciona un voltaje proporcional a la temperatura.
/*************************************************************************
 *   Lectura de un potenciómetro                                         *
 *   Dispositivo: Arduino UNO                                            *
 *   Lenguaje: Arduino                                                   *
 *   Rev: 1.0                                                            *
 *   Fecha: 05/11/24                                                     *
 ************************************************************************/

// Definición del pin de entrada analógica
const int potPin = A0;  // Pin donde está conectado el potenciómetro

void setup() {
    // Inicialización de la comunicación serial
    Serial.begin(9600);
    // Configuración del pin como entrada (opcional, ya que analogRead lo hace automáticamente)
    pinMode(potPin, INPUT);
}

void loop() {
    // Lectura del valor analógico del potenciómetro
    int potValue = analogRead(potPin);

    // Impresión del valor en el monitor serial
    Serial.print("Valor del potenciómetro: ");
    Serial.println(potValue);

    // Pequeña pausa para evitar saturar el monitor serial
    delay(500);  // 500 ms de espera
}

/*************************************************************************
 *   Lectura del sensor CNY70                                           *
 *   Dispositivo: Arduino UNO                                            *
 *   Sensor: CNY70                                                       *
 *   Lenguaje: Arduino                                                   *
 *   Rev: 1.0                                                            *
 *   Fecha: 05/11/24                                                     *
 ************************************************************************/

// Definición del pin de entrada analógica
const int sensorPin = A0;  // Pin donde está conectado el sensor CNY70

void setup() {
    // Inicialización de la comunicación serial
    Serial.begin(9600);  
    // Configuración del pin como entrada
    pinMode(sensorPin, INPUT);
}

void loop() {
    // Lectura del valor analógico del sensor
    int sensorValue = analogRead(sensorPin);

    // Impresión del valor en el monitor serial
    Serial.print("Valor del sensor CNY70: ");
    Serial.println(sensorValue);

    // Pequeña pausa para evitar saturar el monitor serial
    delay(500);  // 500 ms de espera
}

🔸 Resumen


📓Actividad


🧠 Ejercicios


❓Preguntas


❗Véase también


✔️ Referencias


👁️‍🗨️ Otros temas


📚 Tabla de contenido

🗓️ Semana 12 - 📘 Fundamentos de Controladores y Microcontroladores

Introducción a Microcontroladores

Uso de Placas de Desarrollo para Microcontroladores

Exploración de la compañía Arduino

Lenguajes de Programación para Microcontroladores

Configuración del Entorno de Desarrollo y Programación Básica

Asesoría en clase

Asesoría en Clase N.°06 - Hola Mundo con Microcontroladores

🟨 Actividad Fundamental

AFU05 - Controladores

🗓️ Semana 13 - 📘 Programación básica de Microcontroladores

Fundamentos de Programación en Arduino

Manejo de Salidas Digitales

Lectura Secuencial de Instrucciones y Aplicaciones Prácticas

Lectura de valores digitales

Implementación de Estructuras de Control Condicionales

🗓️ Semana 14 - 📘 ** Estructuras de código**

Tipos de Datos en Programación de Microcontroladores

Creación y Uso de Funciones en Microcontroladores

Condicionales Lógicas

Comunicación Serial en Microcontroladores

Lectura de Valores Analógicos en Microcontroladores

🗓️ Semana 15 - 📘 Integración con sensores

Sensores Infrarrojos (IR) para Detección de Objetos