Está en la página 1de 3

#include <Servo.

h>
int valor_luz = 0;
const int Trigger = 2; //Pin digital 2 para el Trigger del sensor
const int Echo = 3; //Pin digital 3 para el Echo del sensor
int pos = 0;
int pos1 = 0;
Servo servo_9;
Servo servo_10;
Servo servo_11;
int tempC;
int temp; // Variable para almacenar el valor obtenido del sensor (0 a 1023)
int pinLM35 = 0; // Variable del pin de entrada del sensor (A0)
int led1=7;
int led2=6;
int led = 13;
int led3 = 12;
int led4 = 4;
int pin = 5;
int value = 0;
int pirState = LOW;
void setup() {
Serial.begin(9600);//iniciailzamos la comunicación
pinMode(Trigger, OUTPUT); //pin como salida
pinMode(Echo, INPUT); //pin como entrada
digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
Serial.begin(9600);
servo_9.attach(9, 580, 2500);
servo_10.attach(10, 580, 2500);
servo_11.attach(11, 580, 2500);
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode(led, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(pin, INPUT);

void loop()
{

long t; //timepo que demora en llegar el eco


long d; //distancia en centimetros

digitalWrite(Trigger, HIGH);
delayMicroseconds(10); //Enviamos un pulso de 10us
digitalWrite(Trigger, LOW);

t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso


d = t/59; //escalamos el tiempo a una distancia en cm

delay(100); //Hacemos una pausa de 100ms


if (d>=5 && d<= 12)
{
pos=91;

servo_9.write(pos);
delay(2000);
}
if (d<5 || d> 12)
{
pos=0;
servo_9.write(pos);
}
tempC = analogRead(pinLM35);

// Calculamos la temperatura con la fórmula


tempC = (5.0 * tempC * 100.0)/1024.0;
if(tempC>=70 && tempC<=86)
{
tempC=30;
}
// Envia el dato al puerto serial
Serial.print(tempC);
// Salto de línea
Serial.print("\n");

// Esperamos un tiempo para repetir el loop


delay(1000);
if(tempC>32)
{

pos=91;
servo_10.write(pos);
servo_11.write(pos);

}
if(tempC<=32)
{
pos=0;
servo_10.write(pos);
servo_11.write(pos);
}
valor_luz = analogRead(A1);
if(valor_luz<=100)
{
digitalWrite (led1, HIGH);
}
if(valor_luz>100)
{
digitalWrite (led1, LOW);
}
value = digitalRead(pin);

if (value == HIGH) {
digitalWrite(led, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
if (pirState == LOW) {
Serial.println("Detectado!");
pirState = HIGH;
}
}else{
digitalWrite(led, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
if(pirState == HIGH){
Serial.println("No Detectado!");
pirState = LOW;
}
}
delay(500);
}

También podría gustarte