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

Exibições: 1938

Anexos

Respostas a este tópico

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);
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço