Anda di halaman 1dari 4

UNIVERSIDAD NACIONAL

PEDRO RUIZ GALLO


FACULTAD DE INGENIERÍA CIVIL,
SISTEMAS Y ARQUITECTURA (FICSA)
ESCUELA PROFESIONAL DE INGENIERÍA DE
SISTEMAS

Integrantes:
 Gonzales Martínez, Bladimir PROYECTO: MEDIR NIVEL
 Inga Pérez, Marisabel
 Flores Vásquez , Rosa
DE LUZ CON ARDUINO,
FOTORESISTENCIA LDR
Docente: (GL55) Y LCD.
 Nuñez Montenegro, Bernardo

Curso:
 Robótica

Lambayeque, Julio de 2016


PROYECTO: MEDIR NIVEL DE LUZ CON ARDUINO, FOTORESISTENCIA LDR (GL55) Y LCD

MATERIALES

 1 Arduino UNO R3
 1 Fotoresistor (LDR)
 1 Resistencia de 1 Kohm 1/4 W
 4 Resistencias de 220 ohm 1/4 W
 6 Leds 5mm
 Protoboard
 1 LCD 16x2
 1 Potenciómetro de 10k

DIAGRAMA DEL CIRCUITO

2
CODIGO
#include <LiquidCrystal.h>

byte alegre[8] = {
B00000,
B00000,
B01010,
B00000,
B10001,
B01110,
B00000,
B00000
};

const long A = 1000; //Resistencia en oscuridad KO


const int B = 15; //Resistencia a la luz (10 Lux) KO
const int Rc = 10; //Resistencia calibracion KO
const int LDRPin = A0; //Pin del LDR
int LEDPin0 = 2;
int LEDPin1 = 3;
int LEDPin2 = 4;
int LEDPin3 = 5;
int LEDPin4 = 6;
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
int ilum;
int V;
float voltios;
void setup()
{
pinMode(LEDPin0, OUTPUT);
pinMode(LEDPin1, OUTPUT);
pinMode(LEDPin2, OUTPUT);
pinMode(LEDPin3, OUTPUT);
pinMode(LEDPin4, OUTPUT);
lcd.begin(16, 2);
Serial.begin(9600);

lcd.createChar(0, alegre);
lcd.begin(16, 2); //Inicializamos el display configurando 16 columnas por 2 filas
lcd.write(byte(0));

// lcd.setCursor(8, 0);
// lcd.write(byte(0));
delay(4000);

lcd.setCursor(0,1);
lcd.write("CURSO ROBOTICA");
delay(2000);
lcd.setCursor(0,1);
lcd.write("medidor de LUZ");
delay(1800);

3
}

void loop()
{
digitalWrite(LEDPin0, LOW);
digitalWrite(LEDPin1, LOW);
digitalWrite(LEDPin2, LOW);
digitalWrite(LEDPin3, LOW);
digitalWrite(LEDPin4, LOW);

V = analogRead(LDRPin);
voltios= V * (5.0 / 1023.0);

lcd.setCursor(0,0);
lcd.print("LDR=");
lcd.print(V);
lcd.setCursor(0, 1);
lcd.print(voltios);
lcd.print("V =");
ilum = ((long)V*A*10)/((long)B*Rc*(1024-V));
lcd.setCursor(8,1);
lcd.print(ilum);
lcd.print("LUX");
// Encender los leds apropiados de acuerdo al valor de ADC
if(ilum > 3)
{
digitalWrite(LEDPin0, HIGH);
}
if(ilum > 5)
{
digitalWrite(LEDPin1, HIGH);
}
if(ilum > 10)
{
digitalWrite(LEDPin2, HIGH);
}
if(ilum > 15)
{
digitalWrite(LEDPin3, HIGH);
}
if(ilum > 20)
{
digitalWrite(LEDPin4, HIGH);
}

Serial.println(ilum);
delay(100);
lcd.clear();
}