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 5: Encendido nocturno

 Práctica 1: Encendido nocturno

El objetivo de esta práctica es encender un LED utilizando un sensor de luz LDR, es decir, queremos que se encienda el LED cuando cae la noche y oscurece. En caso contrario el LED permanecerá apagado. Para ello utilizaremos un sensor LDR.

Encendido nocturno con Arduino
Encendido nocturno con Arduino

 

 Materiales

  • 1 Arduino UNO
  • 1 Protoboard
  • 4 Latiguillos
  • 1 LED
  • 1 Sensor LDR
  • 1 Resistencia de 220Ω (rojo-rojo-marrón)
  • 1 Resistencia de 10KΩ (marrón-negro-naranja)

 

 Esquema eléctrico

Características LED

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

 

Características LDR

PolarizadoNo
Resistencia mínima (con luz)100Ω
Resistencia máxima (sin luz)1MΩ

 

Cálculo de la resistencia para el LED

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

V = I x R ; R = V / I

R = 2.9V / 0.02A = 145Ω -> 220Ω (por aproximación)

 

Por un lado se conecta el LED al pin digital 13 de la placa de arduino (utilizando su debida resistencia). Por otro lado, se conecta el sensor LDR al pin analógico 0 de la placa de arduino (utilizando la resistencia en modo Pull-Down).

Esquema eléctrico
Esquema eléctrico

 

 Programación en mBlock

Al ejecutar el código se calcula el valor del sensor analógico conectado al pin 0 de la placa de arduino, y en caso de ser superior al valor 150 se activará la salida digital 13 encendiendo el LED. En caso contrario el LED permanecerá apagado.

Encendido nocturno en mBlock
Encendido nocturno en mBlock

 

 Programación en Arduino IDE

En primer lugar, se configura el pin digital 13 en modo salida (OUTPUT). Esta configuración se establece en la función setup(), ya que solamente se ejecuta una vez.

Por otro lado, en la función loop() se calcula el valor del sensor analógico conectado al pin de entrada analógica 0 de la placa de arduino, y en caso de ser superior al valor 150 se activará la salida digital 13 encendiendo el LED. En caso contrario el LED permanecerá apagado.

/**
 * Encendido nocturno
 */

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

void loop() {
  if (analogRead(0) > 150) {
    digitalWrite(13, HIGH);
  }
  else {
    digitalWrite(13, 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.