Olá pessoal!
Estou precisando de uma ajuda com a comunicação entre o arduino com modulo GSM/GPRS SIM 900.
Vamos lá:
Desenvolvi um aplicativo pelo AppInventor da google onde o objetivo é ativar uma entrada no arduino para "ativar o alarme" comunicação via Bluetooth.
Agora minha dúvida é como eu desenvolvo o código para comunicar com o GSM.
Usei esse exemplo do LED abaixo para ativar o alarme:
int
readBluetooth;
//Variável que irá receber o valor enviado do celular para o bluetooth
int
lamp=
13
;
//LED da porta 13
void
setup(){
Serial.begin(
9600
);
//Inicia Comunicação Serial
pinMode(lamp,OUTPUT);
//Definindo o pino 13 como saída
}
void
loop(){
if
(Serial.available()){
readBluetooth = Serial.read();
//Valor lido na Serial será guardado na variável readBluetooth
if
(readBluetooth ==
1
){
digitalWrite(lamp,HIGH);
//Liga o LED
}
if
(readBluetooth ==
0
){
digitalWrite(lamp,LOW);
//Desliga o LED
}
}
}
Agora o que preciso fazer é quando receber um sinal de alarme em um pino definido como entrada digital enviar o SMS para o celular cadastrado e após receber esse sms eu terei que enviar um código para acionar um pino no arduino definido como saida digital.
Pelo fluxograma da para entender legal
Tags:
FICAREI DE OLHO.
Amigo, porque você não conecta direto os 12V no conector jack do arduino?
Olá Hélio,
Olhei em alguns fóruns que pode gerar alguma interferência na hora da partida do veiculo não sei se procede essa informação não cheguei a fazer teste por isso resolvi usar um regulador de tensão para deixar estabilizada a tensão em 5V
dessa forma vc envia o sms para o celular com o SIM900:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
delay(1000);
mySerial.print("AT+CMGF=1\r"); // define o modo do sms para texto
delay(1000);
}
void loop()
{
char letra = Serial.read();
if (letra == 'a') // Digite "a" para enviar a msg de teste
{
mySerial.println("AT+CMGS=\"+09293884004\"\r"); // comando para envio
delay(1000);
mySerial.println("Alarme acionou"); // texto para a mensagem
delay(1000);
mySerial.println((char)26);//o código para finalizar o comando
}
delay(1000);
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por