Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Programa : Sensores de presenca com rele
- //Autor : Alberio LIma
- //use resistores pull-down ou pull-up nas portas de entradas
- #define SENSOR1 2 //Pino ligado ao sensor PIR
- #define SENSOR2 3 //Pino ligado ao sensor PIR
- #define RELE1 8 //Pino ligado ao rele
- #define RELE2 9 //Pino ligado ao rele
- #define TEMPO1 1000 //1 segundo, tempo que o rele1 ficara ativo
- #define TEMPO2 10000 //10 segundos, tempo que o rele2 ficara ativo
- unsigned long tempo_final1 = 0;
- unsigned long tempo_final2 = 0;
- void setup()
- {
- pinMode(RELE1, OUTPUT); //Define pino rele como saida
- pinMode(RELE2, OUTPUT); //Define pino rele1 como saida
- pinMode(SENSOR1, INPUT); //Define pino sensor como entrada
- pinMode(SENSOR2, INPUT); //Define pino sensor1 como entrada
- digitalWrite( RELE1, LOW );
- digitalWrite( RELE2, LOW );
- Serial.begin(9600);
- }
- void loop(){
- //Bloco do rele1
- if ( digitalRead(RELE1) == HIGH ) { //Verifica se o rele esta ligado para entao desligar
- if ( millis() >= tempo_final1 ){
- digitalWrite( RELE1, LOW );
- Serial.println("rele 1 desligado");
- }
- }
- if( ( digitalRead(SENSOR1) == HIGH ) && ( digitalRead(RELE1) == LOW )) { //Se o sensor for ativado e o rela ainda nao estiver ativo, ativa e inicia a contagem
- digitalWrite( RELE1, HIGH );
- tempo_final1 = millis() + TEMPO1;
- Serial.println("rele 1 ligado e contagem iniciada");
- }
- //Bloco do rele2
- if ( digitalRead(RELE2) == HIGH ) { //Verifica se o rele esta ligado para entao desligar
- if ( millis() >= tempo_final2 ){
- digitalWrite( RELE2, LOW );
- Serial.println("rele 2 desligado");
- }
- }
- if( ( digitalRead(SENSOR2) == HIGH ) && ( digitalRead(RELE2) == LOW )) { //Se o sensor for ativado e o rela ainda nao estiver ativo, ativa e inicia a contagem
- digitalWrite( RELE2, HIGH );
- tempo_final2 = millis() + TEMPO2;
- Serial.println("rele 2 ligado e contagem iniciada");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement