- Materiais requisitados:
- Módulo GSM Fly Scale SIM900:
- Módulo de voz ISD1820:
- Diagrama de circuito e explicação:
- Programando seu Arduino:
- Trabalhando:
No mundo moderno de hoje, todos dependemos dos telefones celulares como nosso principal meio de comunicação sem fio. Mas, todos nós já enfrentamos situações em que podemos não ser capazes de atender nossas chamadas, essas chamadas podem ser uma chamada pessoal importante ou uma chamada de negócios que mudou sua vida e você pode ter perdido essa oportunidade, pois não foi capaz de atender ligue naquele momento específico.
Este projeto visa solucionar este problema criando uma secretária eletrônica automática de chamadas utilizando Arduino e módulo GSM. Da próxima vez, quando você mudar para um novo número de telefone ou sair para uma longa viagem de peregrinação ou desfrutar de merecidas férias, use esta máquina para gravar sua voz informando o motivo da ausência e todas as suas chamadas serão atendidas automaticamente por esta máquina e seu a voz gravada será reproduzida para eles. Isso também pode ser usado para seus números comerciais para atender chamadas de clientes fora do horário comercial. Parece interessante, certo? Então, vamos construí-lo..
Materiais requisitados:
O projeto pode parecer um pouco complicado, mas é muito fácil de construir, você só precisa dos seguintes componentes
- Arduino Uno
- Módulo GSM - Flyscale SIM 900
- Módulo de Voz ISD 1820
- Adaptador 12V para alimentar o módulo GSM
- Bateria de 9 V para alimentar o Arduino
- Fios de conexão
Antes de prosseguirmos no projeto, vamos nos familiarizar com o módulo GSM e o Módulo de Voz ISD 1820
Módulo GSM Fly Scale SIM900:
Os módulos GSM são fascinantes de usar, especialmente quando nosso projeto requer acesso remoto. Esses módulos podem realizar todas as ações que nosso telefone celular normal pode realizar, como fazer / receber uma chamada, enviar / receber um SMS, conectar-se à Internet usando GPRS etc. Você também pode conectar um microfone e alto-falante normais a este módulo e conversar no seu chamadas móveis. Aqui estão alguns tutoriais sobre eles usando microcontroladores diferentes:
- Chamada e mensagem usando Arduino e módulo GSM
- Ligar e enviar mensagens de texto usando Raspberry Pi e módulo GSM
- Interface do módulo GSM com o microcontrolador PIC - Faça e receba chamadas
Conforme mostrado na foto abaixo, o módulo GSM vem com um adaptador USART que pode ser conectado diretamente ao computador usando um módulo MAX232 ou os pinos Tx e Rx podem ser usados para conectá-lo a um microcontrolador. Você também pode notar os outros pinos como MIC +, MIC-, SP +, SP- etc, onde um microfone ou alto-falante pode ser conectado. O módulo pode ser alimentado por um adaptador de 12 V por meio de um conector de barril CC normal.
Insira seu cartão SIM no slot do módulo e ligue-o, você deve notar um LED de energia acendendo. Agora espere por um minuto ou mais, e você verá um LED vermelho (ou qualquer outra cor) piscando uma vez a cada 3 segundos. Isso significa que seu Módulo foi capaz de estabelecer conexão com seu cartão SIM. Agora você pode prosseguir com a conexão do seu módulo com o telefone ou qualquer microcontrolador.
Módulo de voz ISD1820:
O módulo de voz ISD 1820 é realmente um módulo legal que pode apimentar seus projetos com anúncios de voz. Este módulo é capaz de gravar um clipe de áudio por 10 segundos e reproduzi-lo quando necessário. O próprio módulo vem com um microfone e um alto-falante (8 ohms 0,5 watts) e deve ser parecido com o mostrado abaixo.
O módulo funciona em + 5V e pode ser alimentado usando os palitos de berg à esquerda. Ele também tem três botões na parte inferior que são Rec. botão, PlayE. botão e PlayL. botão respectivamente. Você pode gravar sua voz pressionando o botão REC. e reproduzi-lo usando o botão PlayE. O PlayL reproduzirá a voz enquanto você segurar o botão. Ao fazer a interface com um MCU, podemos usar os pinos à esquerda. Esses pinos são toleráveis em 3V-5V e, portanto, podem ser acionados diretamente pelo Arduino / ESP8266. Em nosso projeto, estamos controlando o pino PLAYE usando o pino D8 de nosso módulo Arduino. Para que possamos reproduzir a voz gravada quando uma chamada for detectada e recebida pelo módulo GSM.
Diagrama de circuito e explicação:
O diagrama completo do circuito deste projeto de secretária eletrônica de chamadas de voz automática é fornecido acima. Como você pode ver, as conexões são muito simples. Alimentamos o módulo GSM com um adaptador 12V 1A e o Arduino com bateria de 9V, o módulo ISD Voice é alimentado pelo pino + 5V do Arduino. Como sabemos, podemos gravar qualquer coisa em nosso módulo de voz pressionando o botão rec e isso será reproduzido quando PE for pressionado, este áudio deve ser enviado para o microfone do módulo GSM. Portanto, conectamos o pino do alto-falante do módulo de voz ao pino do microfone do módulo GSM.
Aqui, o Arduino e o módulo GSM são conectados em série, o pino Tx do Arduino é conectado ao pino 9 e o pino Rx é conectado ao pino 10. Isso ajudará o Arduino a ouvir o módulo GSM. Quando uma chamada chega ao módulo GSM, o Arduino a escuta e pede ao módulo GSM para atender a chamada. O Arduino certifica-se de que a chamada está ativa e, em seguida, reproduz a mensagem de voz gravada no módulo de voz, fazendo com que o pino 8 (conectado ao PE do módulo de voz) fique alto por 200 ms.
Programando seu Arduino:
Sabemos pelo parágrafo acima qual é o papel do Arduino aqui; agora vamos dar uma olhada no código que faz o mesmo. O código Arduino completo do projeto é fornecido na parte inferior desta página, mais aqui eu derramei o código em pequenas junções para explicá-lo.
Antes de prosseguirmos com qualquer instalação da Biblioteca GSM, clique no link da biblioteca GSM do Github para fazer o download da biblioteca usada neste projeto. Você obterá um arquivo zip que deve ser adicionado à sua biblioteca Arduino por Sketch -> Incluir Librarey -> Adicionar arquivo.Zip .
As primeiras três linhas do código mostrado abaixo são usadas para incluir a biblioteca em nosso código. Usamos a biblioteca serial e a biblioteca de fios porque não estamos usando os pinos Rx e Tx padrão do Arduino para nos comunicarmos com o módulo GSM.
#incluir
Nós permitir comunicação serial nos pinos 9 e 10 usando a seguinte linha. Isso é possível graças à biblioteca serial do software que incluímos acima.
SoftwareSerial gprs (9,10); // TX, RX
Dentro de nossa função de configuração , inicializamos o monitor serial a 9600 baud rate e o módulo GSM também é inicializado com 9600 Baudrate. O pino 8 que aciona a voz é declarado como pino de saída.
void setup () {Serial.begin (9600); // O monitor serial funciona em 9600 baudrate para depuração sim900_init (& gprs, 9600); // Módulo GSM funciona em 9600 baudrate pinMode (8, OUTPUT); // pino para ativar o Voice Serial.println ("Arduino - Automatic Voice Machine"); }
Em seguida, temos que criar uma função que possa ler e entender o que o módulo GSM está dizendo por meio de sua porta serial. Se usarmos uma linha de leitura serial simples como “gprs.read ()” para ler a mensagem, nós os obteremos na forma de valores decimais ASCII, isso não fará sentido para nós.
Portanto, a função a seguir é usada para converter esses valores decimais em strings usando objetos string e, em seguida, concatená-los para formar uma string. O valor final da string é armazenado na variável Fdata , que é do tipo string e pode ser usado para comparar com quaisquer valores String.
void check_Incoming () {if (gprs.available ()) // Se o GSM está dizendo algo {Incomingch = gprs.read (); // Ouça e armazene nesta variável if (Incomingch == 10 - Incomingch == 13) // Se estiver escrito espaço (10) ou Newline (13), significa que completou uma palavra {Serial.println (dados); Fdata = dados; dados = ""; } // Imprime a palavra e limpa a variável para começar do zero else {String newchar = String (char (Incomingch)); // converter o char em string usando objetos de string data = data + newchar; // Depois de converter para string, faça a concatenação de string}}}
As linhas a seguir são usadas para depuração, com essas linhas de depurador você pode enviar qualquer comando AT do monitor serial do Arduino para o GSM e também ver quais são as respostas no monitor serial.
if (Serial.available ()) {// Usado para depuração gprs.write (Serial.read ()); // Usado para depuração} // Usado para depuração
Como dito anteriormente, o Arduino deve verificar se o módulo GSM está recebendo chamadas. Isso pode ser feito fazendo com que o Arduino verifique se há “ RING ” porque o módulo GSM produzirá RING no caso de uma chamada de acordo com a lista de comandos AT. Ao encontrar uma chamada esperará 5 segundos e enviará o comando “ ATA ” ao módulo GSM, isto fará com que o módulo GSM atenda a chamada e após atender responderá com “OK”. O Arduino novamente espera pelo reconhecimento de “ OK ” e, em seguida, torna o pino 8 alto por 200 ms para reproduzir a voz gravada do módulo de voz.
if (Fdata == "RING") // Se o módulo GSM diz RING {delay (5000); // aguarde 5 segundos para criar um retardo de 3 toques. gprs.write ("ATA \ r \ n"); // Atende a chamada Serial.println ("Colocado Recebido"); // Usado para depuração while (Fdata! = "OK") // Até que a chamada seja respondida com sucesso {check_Incoming (); // Leia o que o modo GSM está dizendo Serial.println ("Reproduzindo mensagem gravada"); // Usado para depuração // Reproduz o atraso da mensagem de voz gravada (500); digitalWrite (8, ALTO); // Atraso alto (200); // espera por 200 mseg digitalWrite (8, LOW); // Vá baixo}
Trabalhando:
Assim que seu código e hardware estiverem prontos, é hora de se divertir. Ligue ambos os módulos e pressione o botão REC no módulo de voz e grave uma mensagem. Esta mensagem pode ter apenas 10 segundos de duração.
Agora programe seu Arduino usando o código fornecido abaixo e insira o carro SIM no módulo GSM, você deve aguardar pelo menos 2 minutos agora para que o módulo GSM possa estabelecer conexão com seu provedor de serviços de rede. Uma vez feito isso, você deve ver um LED vermelho piscando uma vez a cada 3 segundos, isso indica que seu SIM está pronto para receber chamadas. Agora você pode tentar ligar para este cartão SIM de qualquer número e deverá ouvir a mensagem gravada após três toques contínuos. O funcionamento completo do projeto é mostrado no vídeo abaixo.
Tadaaaaaa !!! Agora você tem sua própria secretária eletrônica automática de chamadas de voz e vá em frente e use-a quando necessário e surpreenda seus amigos e familiares com ela.
Espero que você tenha gostado do projeto e de construir algo semelhante, se você teve algum problema poste na seção de comentários e eu te ajudarei.