Olá, estou desenvolvendo um sistema para um carro cujo funcionamento consiste em: um sensor de presença PIR ao detectar movimento, através de um arduíno uno, acionará um buzzer por alguns segundos depois enviará um SMS e em seguida acionará relés para ativar os vidros e o alarme do amovível.
O problema é que não sei como fazer para enviar o SMS depois do buzzer e antes dos relés
int rele_vidro1 = 10; //pino para saída vidro1
int rele_vidro2 = 11; //pino para saída vidro2
int buzzer = 9; // Pino para o buzzer
int PIR_1Pin = 7; // Pino de sinal do sensor PIR
int PIR_1 = 0; // representa o valor fornecido pelo PIR
int alarme = 8; //pino de sinal do alarme
// variavel de controle
void setup()
{
pinMode(buzzer, OUTPUT);
pinMode(rele_vidro1, OUTPUT);
pinMode(rele_vidro2, OUTPUT);
pinMode(PIR_1Pin, INPUT);
pinMode(alarme,OUTPUT);
}
void loop ()
{
PIR_1 = digitalRead(PIR_1Pin); // Faz leitura de sinal do sensor PIR 1 e atribui o valor lido em PIR_1
if (PIR_1 == HIGH)
{
//prog buzzer sos
for (int x=0; x<3; x++) {
digitalWrite(buzzer, HIGH); // sets the LED on
delay(150); // waits for 150ms
digitalWrite(buzzer, LOW); // sets the LED off
delay(100); // waits for 100ms
}
delay(100);
// 3 dahs
for (int x=0; x<3; x++) {
digitalWrite(buzzer, HIGH);
delay(400);
digitalWrite(buzzer, LOW);
delay(100);
}
delay(100);
for (int x=0; x<3; x++) {
digitalWrite(buzzer, HIGH); // sets the LED on
delay(150); // waits for 150ms
digitalWrite(buzzer, LOW); // sets the LED off
delay(100); // waits for 100ms
//fim prog buzzer sos
}
delay(5000);
digitalWrite(rele_vidro1, LOW);
digitalWrite(rele_vidro2, LOW);
delay(2000);
digitalWrite(rele_vidro1, HIGH);
digitalWrite(rele_vidro2, HIGH);
delay(2000);
digitalWrite(alarme, HIGH);
delay(1000);
digitalWrite(alarme, LOW);
}
}
Tags:
Não pq comecei a programar faz pouco tempo, e não entendo de gsm
Esse código envia o sms
é só adaptar para sua situação
(não esqueça de verificar o rx e tx do seu sim900)
eu devo colocar esse código depois do buzzer ou posso coloca-lo no inicio ?
O q é o "código ASCII do ctrl + z é 26" ?
serve para indicar ao shield que o comando foi finalizado e o sms deve ser enviado.
obrigado amigo, deu certo aqui.
estou usando um relé pra energizar e desenergizar o arduino mas não sei por que sempre na primeira energização ele executa toda a sequencia sem haver movimento algum no sensor.
vc saber o por q, ou tem alguma ideia de como resolver? talvez um comando pra ele memorizar o estado anterior?
Cara, talvez vc saiba me ajudar... Eu tenho um sim 900, ligado a um arduino uno.
Se eu alimento o arduino uno pela usb do pc ele funciona de boa, mais se eu alimento por uma fonte 9v 1a ele não manda mensagem... Você sabe o que pode ser?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por