Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Utilizar GSM em Aplicações com Microchip

O GSM (Global System for Mobile Communications) é uma tecnologia amplamente utilizada para comunicação móvel. No contexto de sistemas embarcados e microchips, o GSM pode ser integrado para permitir que dispositivos se comuniquem via redes móveis, enviando e recebendo dados como mensagens SMS ou conexões de dados móveis. Este artigo irá explorar como integrar módulos GSM em projetos com microchips, fornecendo exemplos práticos e códigos.

Exemplos:

  1. Configuração do Hardware: Para começar, é necessário conectar um módulo GSM ao microcontrolador. Um exemplo comum é o módulo SIM800L. Conecte os pinos do módulo GSM aos pinos UART do microcontrolador:

    • VCC do módulo GSM ao 3.3V do microcontrolador
    • GND do módulo GSM ao GND do microcontrolador
    • TX do módulo GSM ao RX do microcontrolador
    • RX do módulo GSM ao TX do microcontrolador
  2. Código para Inicialização do Módulo GSM: A seguir, um exemplo de código em C para inicializar o módulo GSM e enviar um comando AT, utilizado para comunicação com o módulo:

    #include <xc.h>
    #include <stdio.h>
    
    void UART_Init(void) {
       // Configuração do UART
       TXSTAbits.BRGH = 1; // Alta velocidade
       BAUDCONbits.BRG16 = 1; // 16-bit Baud Rate Generator
       SPBRG = 103; // Configuração para 9600 bps
       TXSTAbits.SYNC = 0; // Modo assíncrono
       RCSTAbits.SPEN = 1; // Habilitar porta serial
       TXSTAbits.TXEN = 1; // Habilitar transmissão
       RCSTAbits.CREN = 1; // Habilitar recepção
    }
    
    void UART_Write(char data) {
       while(!TXSTAbits.TRMT); // Esperar até o buffer estar vazio
       TXREG = data; // Enviar dado
    }
    
    void GSM_Init(void) {
       UART_Write('A');
       UART_Write('T');
       UART_Write('\r');
       UART_Write('\n');
    }
    
    void main(void) {
       UART_Init();
       GSM_Init();
       while(1);
    }
  3. Envio de Mensagem SMS: Para enviar uma mensagem SMS, é necessário enviar uma sequência de comandos AT. Abaixo, um exemplo de função para enviar uma mensagem SMS:

    void GSM_SendSMS(char *number, char *message) {
       UART_Write('A');
       UART_Write('T');
       UART_Write('+');
       UART_Write('C');
       UART_Write('M');
       UART_Write('G');
       UART_Write('F');
       UART_Write('=');
       UART_Write('1');
       UART_Write('\r');
       UART_Write('\n');
       __delay_ms(1000); // Esperar resposta do módulo
    
       UART_Write('A');
       UART_Write('T');
       UART_Write('+');
       UART_Write('C');
       UART_Write('M');
       UART_Write('G');
       UART_Write('S');
       UART_Write('=');
       UART_Write('"');
       while(*number) {
           UART_Write(*number++);
       }
       UART_Write('"');
       UART_Write('\r');
       UART_Write('\n');
       __delay_ms(1000); // Esperar resposta do módulo
    
       while(*message) {
           UART_Write(*message++);
       }
       UART_Write(0x1A); // Enviar Ctrl+Z para indicar fim da mensagem
    }

    No main, você pode chamar esta função para enviar uma mensagem:

    void main(void) {
       UART_Init();
       GSM_Init();
       GSM_SendSMS("1234567890", "Hello, world!");
       while(1);
    }

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.