Todos los cursos

Entradas analógicas con Arduino

Progreso del curso

Entradas analógicas con Arduino
10%

Autor de la lección

Miguel Ángel Abellán
Porque disfruto programando y tengo la suerte de aprender todos los días.
Lección 9: Sensor de temperatura

 Práctica 5: Sensor de temperatura

El objetivo de esta práctica es regular la intensidad de 3 LEDs utilizando un potenciómetro, es decir, podemos variar la cantidad de luz que emiten los LEDs girando el potenciómetro desde su posición de resistencia mínima a resistencia máxima.

Sensor de temperatura con Arduino
Sensor de temperatura con Arduino

 

 Materiales

  • 1 Arduino UNO
  • 1 Protoboard
  • 7 Latiguillos
  • 3 LEDs (rojo, naranja y azul)
  • 3 Resistencia de 100Ω (marrón-negro-marrón)
  • 1 Sensor de temperatura LM35

 

 Esquema eléctrico

Características LM35

Tensión3v - 5V
Rango de medición-55ºC a 150ºC
Precisión±0.5ºC

 

Características LED

Polarizado
Intensidad de Corriente20mA
Tensión Led (verde, ámbar, rojo)2.1V
Tensión Led blanco3.3V

 

Cálculo de la resistencia para el LED

V = 5V - 2.1V = 1.7V
I = 20mA

V = I x R ; R = V / I

R = 1.7V / 0.02A = 85Ω -> 100Ω (por aproximación)

 

El sensor de temperatura se conectará a los terminales de 5V y GND siendo la patilla central el valor analógico que medirá la temperatura. En caso de conectar el sensor de temperatura al revés, observaremos que se calienta demasiado en cuestión de segundos.

El sensor de temperatura se conectará a los terminales de 5V y GND siendo la patilla central el valor analógico que medirá la temperatura. Los extremos son para alimentación, mientras que el pin central proporciona la medición en una referencia de tensión, a razón de 10mV/ºC.

El rango de medición es de -55ºC (-550mV) a 150ºC (1500 mV). Su precisión a temperatura ambiente es de 0,5ºC.

Milivoltios = ( valor analógico / 1023 ) * 5000
Temperatura = Milivoltios / 10
Esquema eléctrico
Esquema eléctrico

 

 Programación en mBlock

La programación consiste en detectar la temperatura siguiendo la conversión anterior y encender uno un otros LEDs dependiendo de la temperatura almacenada en la variable.

Sensor de temperatura en mBlock
Regulador de luz en mBlock

 

 Programación en Arduino IDE

La programación consiste en detectar la temperatura siguiendo la conversión anterior y encender uno un otros LEDs dependiendo de la temperatura almacenada en la variable "temperatura".

/**
 * sensor de temperatura
 */

void setup() {
    pinMode(13, OUTPUT);
    pinMode(12, OUTPUT);
    pinMode(11, OUTPUT);
}

void loop() {

    float temperatura = analogRead(0);
    float milivoltios = ( temperatura / 1023 ) * 5000;
    temperatura = milivoltios / 10; 

    if (temperatura < 10 ) {
        digitalWrite(13, LOW);
        digitalWrite(12, LOW);
        digitalWrite(11, HIGH);
    } else if (temperatura > 10 && temperatura < 25) {
        digitalWrite(13, LOW);
        digitalWrite(12, HIGH);
        digitalWrite(11, LOW);
    } else {
        digitalWrite(13, HIGH);
        digitalWrite(12, LOW);
        digitalWrite(11, LOW);
    }
}
Utilizamos cookies propias y de terceros para obtener datos estadísticos de la navegación de nuestros usuarios y mejorar nuestros servicios. Si acepta o continúa navegando, consideramos que acepta su uso. Ver más.