Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

Close

Sensor luz | Electronics Lab

Version 1 - Last update: Oct 5, 2015

int ledPin1 = 8; // Selección de PIN para cada LED int ledPin2 = 7; int ledPin3 = 6; int inPin= 1; // selecciona la entrada analógica 1 (potenciómetro) void turnoff() { //Apaga los 3 LEDS digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, LOW); } void setup() { pinMode(ledPin1, OUTPUT); // declara LEDs como salidas pinMode(ledPin2, OUTPUT); pinMode(ledPin3, OUTPUT); turnoff(); // } void loop(){ int val; val= analogRead(inPin); // lee el valor de la señal analógica turn_off();apaga los tres LED // Si el valor de la señal medida es > 256 enciende LED del PIN8 if (val>= 256) digitalWrite(ledPin1, HIGH); // Si el valor de la señal medida es > 512 enciende LED del PIN7 if (val>= 512) digitalWrite(ledPin2, HIGH); // Si el valor de la señal medida es > 758 enciende LED del PIN6 if (val>= 768) digitalWrite(ledPin3, HIGH); }

Otra posibilidad:

/* Tutorial # 0004 Arduino Academy - Sensor LDR

Conectamos una foto-resistencia a la entrada analógica para controlar cinco salidas en función de la luz ambiente.

Este proyecto es de dominio público. */

//Aquí almacenamos los datos recogidos del LDR: int valorLDR = 0;

//Decimos que pines vamos a utilizar para LED int pinLed1 = 12; int pinLed2 = 11; int pinLed3 = 10; int pinLed4 = 9; int pinLed5 = 8;

//Y que pin para la LDR int pinLDR = 0;

void setup() { //Establecemos como salida los pines para LED pinMode(pinLed1, OUTPUT); pinMode(pinLed2, OUTPUT); pinMode(pinLed3, OUTPUT); pinMode(pinLed4, OUTPUT); pinMode(pinLed5, OUTPUT);

//Le decimos que vamos a usar una referencia externa analogReference(EXTERNAL);

}

void loop() { //Guardamos el valor leido en una variable valorLDR = analogRead(pinLDR);

//Y comenzamos las comparaciones: if(valorLDR >= 1023) { digitalWrite(pinLed1, LOW); digitalWrite(pinLed2, LOW); digitalWrite(pinLed3, LOW); digitalWrite(pinLed4, LOW); digitalWrite(pinLed5, LOW); } else if((valorLDR >= 823) & (valorLDR < 1023)) { digitalWrite(pinLed1, HIGH); digitalWrite(pinLed2, LOW); digitalWrite(pinLed3, LOW); digitalWrite(pinLed4, LOW); digitalWrite(pinLed5, LOW); } else if((valorLDR >= 623) & (valorLDR < 823)) { digitalWrite(pinLed1, HIGH); digitalWrite(pinLed2, HIGH); digitalWrite(pinLed3, LOW); digitalWrite(pinLed4, LOW); digitalWrite(pinLed5, LOW); } else if((valorLDR >= 423) & (valorLDR < 623)) { digitalWrite(pinLed1, HIGH); digitalWrite(pinLed2, HIGH); digitalWrite(pinLed3, HIGH); digitalWrite(pinLed4, LOW); digitalWrite(pinLed5, LOW); } else if((valorLDR >= 223) & (valorLDR < 423)) { digitalWrite(pinLed1, HIGH); digitalWrite(pinLed2, HIGH); digitalWrite(pinLed3, HIGH); digitalWrite(pinLed4, HIGH); digitalWrite(pinLed5, LOW); } else { digitalWrite(pinLed1, HIGH); digitalWrite(pinLed2, HIGH); digitalWrite(pinLed3, HIGH); digitalWrite(pinLed4, HIGH); digitalWrite(pinLed5, HIGH); }

}

Comments disabled