Saltar al contenido
Menú
El blog de Kañaz
  • Inicio
  • Acerca de
  • Github
  • Youtube
  • LinkedIn
  • Twitter
El blog de Kañaz

Utilizando una foto resistencia en Arduino

Publicada el 4 enero, 20164 enero, 2016
Twittear

Un ejercicio sumamente básico, una foto resistencia es un dispositivo que te permite saber cuál es el nivel de luminosidad en un lugar. Es un dispositivo simple pero de gran utilidad para muchas cosas. Para comenzar solo debes hacer la siguiente conexión con Arduino.

Photocell
Una vez hecha, el código es muy sencillo. Solo debes escribir el siguiente código.

const int sensorLuz = A0;
int valorAnalogico = 0;
 
void setup()
{
Serial.begin(9600);
pinMode(sensorLuz, INPUT);
}
 
void loop()
{
valorAnalogico = analogRead(sensorLuz);
Serial.print("Valor de la resistencia: ");
Serial.println(valorAnalogico);
delay(1000);
}

const int sensorLuz = A0; int valorAnalogico = 0; void setup() { Serial.begin(9600); pinMode(sensorLuz, INPUT); } void loop() { valorAnalogico = analogRead(sensorLuz); Serial.print("Valor de la resistencia: "); Serial.println(valorAnalogico); delay(1000); }

Y en tu monitor serial podrás ver el resultado de valor de la lectura.

Serial

El rango de la foto resistencia va de 0 (una fuente de luz cercana) a 1023 (oscuridad) así que hasta ahora con esto podríamos comenzar a trabajar en un paso más avanzado. Si colocamos una resistencia de 10K entre el polo negativo de la foto resistencia y Arduino podríamos tener una lectura mucho más precisa debido a que esta resistencia funcionará como «estabilizador» de las lecturas recibidas.

El código funcionará de la misma manera pero ahora la diferencia es que el resultado puede ser un poco más preciso que en la ocasión anterior pero bueno, ahora hagamos la cosa interesante pues si agregamos un relevador de corriente, para aclarar, un relevador de corriente únicamente se encarga de impedir o permitir el paso de corriente, es algo así como el típico apagador de luz que tienes en casa pero obviamente controlado por Arduino. Una vez dicho esto, entonces deberemos tener un diagrama como el siguiente:

Al código que tenías deberás reemplazarlo por lo siguiente:

const int pinSensor = A1;
const int relee = 8;
 
int valorLDR = 0;
 
void setup()
{
Serial.begin(9600);
pinMode(relee, OUTPUT);
}
 
void loop()
{
valorLDR = analogRead(pinSensor);
Serial.print("Valor de la resitencia: ");
Serial.println(valorLDR);
 
if(valorLDR >= 500)
{
digitalWrite(relee, HIGH);
}
else if (valorLDR < 500)
{
digitalWrite(relee, LOW);
}
 
delay(1000);
}

const int pinSensor = A1; const int relee = 8; int valorLDR = 0; void setup() { Serial.begin(9600); pinMode(relee, OUTPUT); } void loop() { valorLDR = analogRead(pinSensor); Serial.print("Valor de la resitencia: "); Serial.println(valorLDR); if(valorLDR >= 500) { digitalWrite(relee, HIGH); } else if (valorLDR < 500) { digitalWrite(relee, LOW); } delay(1000); }

La única diferencia es que ahora dependiendo del valor de la resistencia tu podrás prender o apagar el relevador y mejor aún, si al relevador le pones un cable que conecte a una lámpara entonces podrás tener tu propia lámpara automática en casa. Para prueba el siguiente video.

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Busca en este sitio

MI perfil de Github

Github profile

Sígueme en Twitter

Seguir a @aminespinoza
©2023 El blog de Kañaz | Funciona con SuperbThemes y WordPress