Sistema de alarme de segurança Arduino
Tempo de leitura: 2 minutes
Cansado de intrusos indesejados (irmãos) entrando em seu quarto durante a quarentena? Então este projeto é ótimo para você. Pessoalmente, fiz este sistema de alarme para que, se meu cachorro entrar em meu quarto para vasculhar minha lata de lixo e espalhar por todo o chão, eu saberei que devo ir impedi-lo. No geral, é um projeto divertido e simples. Eu sou muito novo no Arduino, então este projeto também foi apenas para autoeducação.
Conteudo
Coisas usadas neste projeto
Componentes de hardware
- Sensor Ultrassônico – HC-SR04 (Genérico) × 1
- Arduino UNO × 1
- Campainha × 1
- LED (genérico) × 1
- Resistor 221 ohm× 1
- Switch da série PTS 645
Esquemas do sistema de segurança Arduino
Código do sistema de segurança Arduino
const int trigPin = 11;//Pino para enviar onda sonora const int echoPin = 10; //Pino para ouvir a volta da onda sonora int ledPin = 5;//Pino para ligar o Led int buttonApin = 9;//Pino para armar o alarme int buttonBpin = 8;//Pino para desarmar o alarme int value_A;//Valor do pino A int value_B; //Valor do pino B int buzzer = 6; // o pino da campainha ativa int delayTime1= 250; int delayTime2=250; long duration; // Tempo de viagem obtido do sensor int distance; // distância calculada de quão longe o objeto está void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(ledPin, OUTPUT); pinMode(buttonApin, INPUT_PULLUP); pinMode(buttonBpin, INPUT_PULLUP); pinMode(buzzer, OUTPUT); pinMode(12, INPUT); Serial.begin(9600); } void loop() { // Verifique para ver o estado dos botões A e B value_A = digitalRead(buttonApin); value_B = digitalRead(buttonBpin); delay(500); if (value_A == LOW) { // Se o alarme estiver armado, ligue o LED digitalWrite(ledPin, HIGH); while(ledPin, HIGH) { // Envie uma onda sonora e calcule a distância que o objeto mais próximo está dele. digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration*0.034/2; Serial.print("Distância:"); Serial.println(distance); while (distance < 98) { // Se a distância for inferior a 98 cm, soe o alarme e faça o led piscar digitalWrite(buzzer,HIGH); digitalWrite(ledPin, HIGH); delay(delayTime1);//wait for 1ms digitalWrite(buzzer,LOW); digitalWrite(ledPin, LOW); delay(delayTime1);//wait for 1ms digitalWrite(buzzer,HIGH); digitalWrite(ledPin, HIGH); delay(delayTime2);//wait for 2ms digitalWrite(buzzer,LOW); digitalWrite(ledPin, LOW); delay(delayTime2);//wait for 2ms // Se o botão B for pressionado, desligue o alarme e desarme-o if (digitalRead(buttonBpin) == LOW) { break; } } delay(100); // Se o botão b for pressionado, desarme o alarme if (digitalRead(buttonBpin) == LOW) { break; } } } // Se o alarme for desarmado, desligue o LED if (value_B == LOW) { digitalWrite(ledPin, LOW); } }