{"id":1460,"date":"2026-10-28T11:23:53","date_gmt":"2026-10-28T14:23:53","guid":{"rendered":"https:\/\/www.leandroip.com\/?p=1460"},"modified":"2026-10-28T11:23:53","modified_gmt":"2026-10-28T14:23:53","slug":"como-usar-o-sim800l-com-arduino-ligacao-comandos-at-e-envio-de-sms","status":"publish","type":"post","link":"https:\/\/www.leandroip.com\/?p=1460","title":{"rendered":"Como usar o SIM800L com Arduino: liga\u00e7\u00e3o, comandos AT e envio de SMS"},"content":{"rendered":"\n<p>O SIM800L permite experimentar comunica\u00e7\u00e3o celular em projetos Arduino. Neste guia, vamos montar um terminal para comandos AT, verificar o registro na rede e enviar um SMS. O exemplo usa <strong>Arduino Uno R3 ou Nano cl\u00e1ssico com ATmega328P<\/strong>; outras placas podem exigir pinos e bibliotecas diferentes.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.leandroip.com\/wp-content\/uploads\/2026\/10\/sim800l-frente.jpg\" alt=\"M\u00f3dulo GSM GPRS SIM800L em placa adaptadora vermelha\" width=\"420\"\/><figcaption>Foto ilustrativa do m\u00f3dulo. Verifique a pinagem impressa na sua placa.<\/figcaption><\/figure>\n<h2>Antes de come\u00e7ar: confirme o 2G<\/h2><p>O SIM800L trabalha com GSM\/GPRS 2G. Ele n\u00e3o se conecta a redes 4G ou 5G. Consulte a operadora sobre cobertura 2G, compatibilidade do chip e disponibilidade do servi\u00e7o no endere\u00e7o de uso. Um celular funcionar no local n\u00e3o comprova cobertura 2G. O m\u00f3dulo tamb\u00e9m n\u00e3o tem GPS integrado.<\/p>\n<h2>Materiais<\/h2><ul><li>Arduino Uno R3 ou Nano cl\u00e1ssico, cabo USB e Arduino IDE.<\/li><li>M\u00f3dulo SIM800L e antena compat\u00edvel.<\/li><li>Cart\u00e3o SIM ativo com SMS habilitado e saldo\/plano apropriado.<\/li><li>Fonte regulada dedicada e conversor de n\u00edveis UART adequado para 5 V &#x2194; 2,8 V.<\/li><li>Fios curtos, conex\u00f5es firmes e capacitores de desacoplamento conforme o projeto da placa.<\/li><\/ul>\n<h2>Alimenta\u00e7\u00e3o: a parte mais importante<\/h2><p>Para a vers\u00e3o sem regulador, use <strong>4,0 V regulados<\/strong>, dentro da faixa de 3,4 a 4,4 V, e fonte capaz de atender picos de 2 A. N\u00e3o ligue o m\u00f3dulo diretamente em 5 V nem o alimente pelo pino 3,3 V do Arduino. Ajuste e me\u00e7a a fonte antes de conectar. Mantenha GND comum e fios curtos; siga o desacoplamento recomendado no datasheet. Confira se a sua placa possui regulador antes de aplicar qualquer tens\u00e3o.<\/p>\n<h2>Liga\u00e7\u00f5es com Arduino<\/h2><p>Fa\u00e7a as conex\u00f5es com tudo desligado. Use convers\u00e3o de n\u00edvel nos dois sentidos, conforme o circuito recomendado pela SIMCom ou um conversor pr\u00f3prio para UART. N\u00e3o aplique o TX de 5 V do Arduino diretamente ao RX do SIM800L.<\/p>\n<table><thead><tr><th>Origem<\/th><th>Destino<\/th><\/tr><\/thead><tbody><tr><td>Fonte dedicada: positivo regulado<\/td><td>VCC\/VBAT do m\u00f3dulo, conforme a placa<\/td><\/tr><tr><td>Negativo da fonte<\/td><td>GND do m\u00f3dulo e GND do Arduino<\/td><\/tr><tr><td>TXD do SIM800L<\/td><td>D10 (RX) do Arduino, pelo conversor<\/td><\/tr><tr><td>D11 (TX) do Arduino<\/td><td>RXD do SIM800L, pelo conversor<\/td><\/tr><tr><td>Antena compat\u00edvel<\/td><td>Conex\u00e3o de antena indicada na placa<\/td><\/tr><\/tbody><\/table>\n<p>A tabela usa os nomes dos sinais, n\u00e3o a posi\u00e7\u00e3o f\u00edsica dos pinos. Algumas placas inicializam ao receber energia; outras precisam do acionamento de PWRKEY. Siga a documenta\u00e7\u00e3o da vers\u00e3o. Insira ou retire o SIM com a alimenta\u00e7\u00e3o desligada.<\/p>\n<h2>C\u00f3digo: terminal de comandos AT<\/h2><p>Selecione a placa e a porta na IDE e carregue o sketch abaixo. A biblioteca SoftwareSerial permite usar D10 e D11, deixando a serial USB para o computador.<\/p><pre><code>#include &lt;SoftwareSerial.h&gt;\n\n\/\/ RX do Arduino = D10; TX do Arduino = D11\nSoftwareSerial modem(10, 11);\n\nvoid setup() {\n  Serial.begin(9600);\n  modem.begin(9600);\n  Serial.println(F(\"Terminal SIM800L pronto. Envie AT com CR+LF.\"));\n}\n\nvoid loop() {\n  while (modem.available()) {\n    Serial.write(modem.read());\n  }\n  while (Serial.available()) {\n    char c = Serial.read();\n    \/\/ Digite ~ para enviar Ctrl+Z ao terminar o SMS.\n    if (c == '~') modem.write((uint8_t)26);\n    else modem.write(c);\n  }\n}<\/code><\/pre>\n<p>Abra o Monitor Serial em <strong>9600 baud<\/strong>, com termina\u00e7\u00e3o <strong>Ambos NL e CR<\/strong>. Energize o SIM800L e aguarde a inicializa\u00e7\u00e3o. O sketch apenas encaminha dados: ele n\u00e3o verifica respostas nem envia mensagens automaticamente. N\u00e3o foi validado em bancada com a sua unidade.<\/p>\n<h2>Teste a comunica\u00e7\u00e3o e a rede<\/h2><p>Envie um comando por vez e espere a resposta antes do seguinte.<\/p><table><thead><tr><th>Comando<\/th><th>O que verificar<\/th><\/tr><\/thead><tbody><tr><td><code>AT<\/code><\/td><td>Deve retornar OK.<\/td><\/tr><tr><td><code>ATE0<\/code><\/td><td>Desativa o eco para facilitar a leitura.<\/td><\/tr><tr><td><code>AT+CPIN?<\/code><\/td><td>READY indica SIM pronto. Se pedir PIN, use somente o PIN correto do chip.<\/td><\/tr><tr><td><code>AT+CSQ<\/code><\/td><td>Consulta sinal; RSSI 99 indica desconhecido\/n\u00e3o detect\u00e1vel.<\/td><\/tr><tr><td><code>AT+CREG?<\/code><\/td><td>Status 1 indica registro na rede de origem; 5 indica roaming.<\/td><\/tr><\/tbody><\/table>\n<p>Se AT n\u00e3o responder, confira TX\/RX, GND e velocidade serial. O exemplo tenta 9600 baud; uma unidade configurada para outra taxa precisar\u00e1 do ajuste correspondente. N\u00e3o altere v\u00e1rios par\u00e2metros ao mesmo tempo.<\/p>\n<h2>Envie um SMS de teste<\/h2><ol><li>Com o SIM pronto e a rede registrada, envie <code>AT+CMGF=1<\/code> e aguarde OK.<\/li><li>Envie <code>AT+CMGS=\"+55DDDNUMERO\"<\/code>, substituindo pelo telefone real de teste, com DDI e DDD.<\/li><li>Aguarde o prompt <code>&gt;<\/code>. Escreva uma mensagem simples sem acentos, como <code>Teste do SIM800L com Arduino<\/code>.<\/li><li>Envie o caractere <code>~<\/code>. O sketch o converte no byte 26 (Ctrl+Z), que conclui o envio.<\/li><li>Aguarde <code>+CMGS:<\/code> e <code>OK<\/code>. Isso indica aceita\u00e7\u00e3o do envio pelo modem\/rede, n\u00e3o uma confirma\u00e7\u00e3o de leitura pelo destinat\u00e1rio.<\/li><\/ol><p>O teste pode consumir cr\u00e9ditos. Evite usar ~ dentro do texto, pois ele encerra a mensagem neste sketch.<\/p>\n<h2>Problemas comuns<\/h2><ul><li><strong>Reinicia durante o registro:<\/strong> revise fonte, queda de tens\u00e3o e conex\u00f5es antes de modificar o c\u00f3digo.<\/li><li><strong>Responde AT, mas n\u00e3o registra:<\/strong> confira SIM, antena, cobertura 2G e habilita\u00e7\u00e3o do servi\u00e7o.<\/li><li><strong>Caracteres ileg\u00edveis:<\/strong> confira baud rate nos dois lados.<\/li><li><strong>Falha no SMS:<\/strong> anote o erro completo, confirme saldo\/plano e consulte o manual AT; n\u00e3o repita envios em um la\u00e7o.<\/li><\/ul>\n<h2>Pr\u00f3ximos passos e documenta\u00e7\u00e3o<\/h2><p>Ap\u00f3s esse teste manual, automatize a sequ\u00eancia com uma m\u00e1quina de estados, limites de tempo e tratamento de erros. Para dados GPRS, confirme o APN da operadora antes de configurar a conex\u00e3o.<\/p><p><a href=\"https:\/\/www.leandroip.com\/?product=modulo-gsm-gprs-sim800l-para-arduino\">Veja o m\u00f3dulo SIM800L na loja<\/a>.<\/p><ul><li><a href=\"https:\/\/seeeddoc.github.io\/LoNet-GSM-GPRS_Breakout\/res\/SIM800L_Hardware_Design_V1.00.pdf\">SIMCom: SIM800L Hardware Design (PDF)<\/a><\/li><li><a href=\"https:\/\/wiki.wirenboard.com\/wiki\/images\/5\/51\/SIM800_AT_commands.pdf\">SIMCom: manual de comandos AT (PDF)<\/a><\/li><li><a href=\"https:\/\/github.com\/arduino\/docs-content\/blob\/main\/content\/learn\/07.built-in-libraries\/04.software-serial\/software-serial.md\">Arduino: documenta\u00e7\u00e3o da SoftwareSerial<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>O SIM800L permite experimentar comunica\u00e7\u00e3o celular em projetos Arduino. Neste guia, vamos montar um terminal [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1460","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry","grid"],"_links":{"self":[{"href":"https:\/\/www.leandroip.com\/index.php?rest_route=\/wp\/v2\/posts\/1460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.leandroip.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leandroip.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leandroip.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leandroip.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1460"}],"version-history":[{"count":1,"href":"https:\/\/www.leandroip.com\/index.php?rest_route=\/wp\/v2\/posts\/1460\/revisions"}],"predecessor-version":[{"id":1461,"href":"https:\/\/www.leandroip.com\/index.php?rest_route=\/wp\/v2\/posts\/1460\/revisions\/1461"}],"wp:attachment":[{"href":"https:\/\/www.leandroip.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leandroip.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leandroip.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}