Trabajo Final
- Se cuenta con un sensor LDR para monitorear la Luz solar, esta información de intensidad de luz servirá para el control de la intensidad de luz de el led RGB. Es decir que, a menor presencia de luz solar mayor será la intensidad de luz del led RGB.
- Por otro lado se cuenta con un sensor de temperatura ambiental LM35 el cual proporciona los datos de temperatura en grados centígrados, la lectura de este sensor servirá para el control de persianas controladas por un servo motor. Donde a 0 grados las persianas se encuentran cerradas y a 180 grados las persianas están completamente abiertas. A mayor temperatura las persianas se abrirán y a valores mayores a 30 grados las persianas deben de estar completamente abiertas.
Supplies
#include <Servo.h>
#define ldr A0
#define lm35 A1
#define pinRojo 9
#define pinVerde 12
#define pinAzul 11
#define servo 10
Servo myservo;
int pos = 0;
int ldrValor = 0;
float tempC;
void setup() {
Serial.begin(9600);
pinMode(pinRojo, OUTPUT);
pinMode(pinVerde, OUTPUT);
pinMode(pinAzul, OUTPUT);
pinMode(servo, OUTPUT);
myservo.attach(10);
}
void loop() {
ldrValor = analogRead(ldr);
Serial.print("valor del ldr ");
Serial.println(ldrValor);
analogWrite(pinRojo, ldrValor );
analogWrite(pinVerde, ldrValor );
analogWrite(pinAzul, ldrValor );
int sensorValue = analogRead(lm35);
tempC = analogRead(A1);
tempC = (tempC * 5.0 * 100.0) / 1024.0 - 50;
Serial.print("valor del lm35 ");
Serial.println(tempC);
tempC = sensorValue;
delay(1000);
if (tempC >= 30) {
pos = 180;
} else if (tempC <= 0) {
pos = 0;
}
myservo.write(pos);
Serial.print("Posición del servo: ");
Serial.println(pos);
delay(1000);
}
//no he logrado hacer que el servo se mueva correctamente con el cambio de temperatura
Prototipo del Arduino en físico