domingo, 8 de noviembre de 2015

Este es el código del que se controlan las puertas de los garajes y la alarma:

#define LED 7  
#define LDR 0    
int luz = 0;       
int valor_sensor = 0;  
int dtect=6;
int sense=A1;
int buzzpin=5;

//Variables motor A
int ENA=10;
int in1=11;
int in2=12;

//Variables motor B
int ENB=9;
int in3=13;
int in4=8;

int vel=0;


void setup() {      
  Serial.begin(9600);    
  pinMode(LED,OUTPUT);
  pinMode(LDR,INPUT);
  
  pinMode(dtect,OUTPUT);
  pinMode(sense,INPUT);
  pinMode(buzzpin,OUTPUT);
  digitalWrite(dtect,HIGH);
  
  for (int x=8; x<=13; x++){
  pinMode (x,OUTPUT);
  }
}

void loop ()  //Configuracion de los valores 
{
  
  int val=analogRead(sense);
  Serial.println(val);
  if(val>=1005)
  {
    buzz(50);
  }
  
  valor_sensor = analogRead(LDR); 
  luz = (5.0 * valor_sensor * 100.0)/1024.0; 
  Serial.print(luz);  
  Serial.println(" Luz");             
  delay(100);      
  analogWrite(ENA,50);
  analogWrite(ENB,50);  
  
  if (luz <= 490) 
  {
    digitalWrite (LED, LOW); 
  atras();
  
  }
  
 
  
  if (luz > 490)   //Si es mayor que 490
  {
    digitalWrite (LED, HIGH);  //El led se eniende y el motor avanza
    
  adelante();

  }
}

void adelante(){
  
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW); 
  
}

void atras(){
  
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH); 
}

void detener(){
  
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW); 
}

void buzz(unsigned char time)
  {
    analogWrite(buzzpin,170);
    delay(time);
    analogWrite(buzzpin,0);
    delay(time);

  } 

No hay comentarios:

Publicar un comentario