Advertisement
Guest User

Untitled

a guest
May 29th, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Programa : Sensores de presenca com rele
  2. //Autor : Alberio LIma
  3. //use resistores pull-down ou pull-up nas portas de entradas
  4.  
  5. #define SENSOR1  2     //Pino ligado ao sensor PIR
  6. #define SENSOR2  3     //Pino ligado ao sensor PIR
  7. #define RELE1    8     //Pino ligado ao rele
  8. #define RELE2    9     //Pino ligado ao rele
  9. #define TEMPO1   1000  //1 segundo, tempo que o rele1 ficara ativo
  10. #define TEMPO2   10000 //10 segundos, tempo que o rele2 ficara ativo
  11.  
  12. unsigned long tempo_final1 = 0;
  13. unsigned long tempo_final2 = 0;
  14.  
  15. void setup()
  16. {
  17.   pinMode(RELE1, OUTPUT); //Define pino rele como saida
  18.   pinMode(RELE2, OUTPUT); //Define pino rele1 como saida
  19.   pinMode(SENSOR1, INPUT); //Define pino sensor como entrada
  20.   pinMode(SENSOR2, INPUT); //Define pino sensor1 como entrada
  21.  
  22.   digitalWrite( RELE1, LOW );
  23.   digitalWrite( RELE2, LOW );
  24.   Serial.begin(9600);
  25. }
  26.  
  27. void loop(){
  28.  
  29.  
  30.   //Bloco do rele1
  31.   if ( digitalRead(RELE1) == HIGH ) { //Verifica se o rele esta ligado para entao desligar
  32.     if ( millis() >= tempo_final1  ){
  33.       digitalWrite( RELE1, LOW );
  34.       Serial.println("rele 1 desligado");
  35.     }
  36.   }
  37.  
  38.   if( ( digitalRead(SENSOR1) == HIGH ) && ( digitalRead(RELE1) == LOW )) { //Se o sensor for ativado e o rela ainda nao estiver ativo, ativa e inicia a contagem
  39.     digitalWrite( RELE1, HIGH );
  40.     tempo_final1 = millis() + TEMPO1;
  41.     Serial.println("rele 1 ligado e contagem iniciada");
  42.   }    
  43.  
  44.   //Bloco do rele2
  45.   if ( digitalRead(RELE2) == HIGH ) { //Verifica se o rele esta ligado para entao desligar
  46.     if ( millis() >= tempo_final2  ){
  47.       digitalWrite( RELE2, LOW );
  48.       Serial.println("rele 2 desligado");
  49.     }
  50.   }
  51.  
  52.   if( ( digitalRead(SENSOR2) == HIGH ) && ( digitalRead(RELE2) == LOW )) { //Se o sensor for ativado e o rela ainda nao estiver ativo, ativa e inicia a contagem
  53.     digitalWrite( RELE2, HIGH );
  54.     tempo_final2 = millis() + TEMPO2;
  55.     Serial.println("rele 2 ligado e contagem iniciada");
  56.   }    
  57.  
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement