Pessoal, sou novo aqui e se estiver repetindo algo me desculpem, não achei nada parecido aqui no forum.

Estou criando um botão de pânico para a minha esposa ter no carro. Montei com o arduino, um módulo gsm (neoway m590e), um regulador de tensão, e um conversor de nivel lógico (já que pra esse módulo 3,3v é pouco e 5v é muito).

O problema é que após a partida do veículo e alimentação do circuito, tenho que pressionar um botão para enviar o GND pro BOOT do módulo GSM, só assim ele fica ativo, e posso pressionar o então botão de pânico.

O botão de pânico é um botão de reset do arduino, nada mais.


Teria como o arduino enviar esse GND pro boot, depois de uns 2 segundos da alimentação do circuito?

essa é a sketch que estou usando:

#include <SoftwareSerial.h>


SoftwareSerial modem(2, 3);


void setup()
{
//delay(5000);
Serial.begin(9600);
Serial.println("Modem test");
modem.begin(9600);

modem.print("\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT&F\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}

modem.print("AT+CERR\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT+GETVERS\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT+CPAS\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


while (modem.available() > 0) {
Serial.write(modem.read());
}

while (modem.available() > 0) {
Serial.write(modem.read());
}

modem.print("AT+CREG?\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT+COPS?\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT+CSQ\r");
delay(500);
while (modem.available() > 0) {
Serial.write(modem.read());
}


while (modem.available() > 0) {
Serial.write(modem.read());
}


while (modem.available() > 0) {
Serial.write(modem.read());
}


while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT+CSCS=\"GSM\"\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT+CMGF=1\r"); // tryb tekstowy
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("AT+CMGS=\"+5543996519205\"\r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}


modem.print("ATENÇÃO! BOTÃO DE PÂNICO PRECIONADO! \r");
delay(1000);
while (modem.available() > 0) {
Serial.write(modem.read());
}

modem.write(0x1A);
modem.write(26);
delay(1000);


}
void loop()
{

while (Serial.available() > 0) {
modem.write(Serial.read());

}

while (modem.available() > 0) {
Serial.write(modem.read());
}
}

Exibições: 207

Responder esta

Respostas a este tópico

Boa noite JBA,

seja bem vindo ao forum.

Seguem algumas recomendações: 

Como um participante igual a você,  mas com um pouquinho mais de experiencia, vou fazer umas sugestões.
Fica a seu critério segui-las ou não.

Mas acredito que seguindo-as será bom pra todos nós.


1. Remova o sketch postado na área de texto do tópico.  
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar   
3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada linha

    e facilita a ajuda.   
4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo 

    com o seu sketch.   
5. Anexe ou poste desenhos, esquema, links, sobre seu projeto e os componentes dele,

    tais como sensores, etc.

Com estas informações, ficará mais fácil entendermos seu projeto e melhorar a condição de ajuda.

E finalmente se seu problema for resolvido, divida conosco a solução e escreva "[Resolvido]" no inicio do titulo
do tópico.    Ficando assim: [Resolvido] + Titulo.

RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço