Índice:
- Etapa 1: Faça o SIM800l funcionar
- Etapa 2: Faça o RTC DS1307 com Sensor DS18B20 funcionar
- Etapa 3: Faça o Termistor NTC MF52AT funcionar
- Etapa 4: Faça com que todos trabalhem juntos
- Etapa 5: Funcionou
Vídeo: Envia um SMS com temperatura na hora: 5 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
A ideia é conseguir um sms de temperamento da casa do meu pai.
Nada sofisticado, apenas juntando as peças rapidamente.
As partes são:
- Arduino compatível com placa controladora Geekcreit® ATmega328P Nano V3
- Placa de expansão DIY NANO IO Shield V1. O para Arduino
- Módulo de relógio em tempo real baseado em DS1307 RTC IIC / I2C e DS18b20
- SIM800L Quad-band GSM / GPRS
- LM2596 Mini conversor DC-DC Módulo de fonte de alimentação escalonada ajustável
- Temperatura do termistor NTC MF52AT
Em primeiro lugar, muito lendo e pesquisando.
Antes de finalmente usar o Geekcreit® Nano, testo todas as peças com um Arduino Uno.
Etapa 1: Faça o SIM800l funcionar
Um ponto principal é a potência do Sim800L.
Eu uso um conversor LM2596 Mini DC-DC, ajustado para 3,7 volts e uma fonte de alimentação separada.
Para testar a conexão com comandos AT +, este lado é muito útil:
Quickstart SIM800 (SIM800L) com Arduino
Com Desativar código PIN usando modem gsm em comandos, eu me livrei do código PIN do sim.
A próxima consideração que biblioteca. A internet oferece soluções diferentes.
Minha solução é a biblioteca de Mattias Aabmets: AspenSIM800
Seu exemplo: Send_SMS.ino usava I como programa básico e, um por um, conectava todas as outras partes.
O pino Tx e o pino Rx são codificados para:
RX_PIN 10 do Arduino. Deve ser conectado ao pino TX do módulo SIM800. TX_PIN 11 do Arduino. Deve ser conectado ao pino RX do módulo SIM800
É sempre uma boa ideia ler os arquivos *.ccp e *.h nas bibliotecas.
Eles contêm muitas dicas e conhecimentos interessantes.
Etapa 2: Faça o RTC DS1307 com Sensor DS18B20 funcionar
Usei este lado: simtronyx - o blog do DS1307 e DS18B20.
O relógio possui uma conexão de barramento I2C e que é para o Arduino Uno: A4 (SDA) - A5 (SCL)
O DS18B20 eu conectei ao D3.
Eu li que em um SMS você não pode enviar floats apenas String, então eu tive que traduzir floats para string.
Isso eu faço com este snippet de código que encontrei:
n
MyString1 = String (currentTemp, 2); // Converte float em String
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// converter string em char começa aqui
// Comprimento (com um caractere extra para o terminador nulo)
int str_len1 = MyString1.length () + 1; // Prepare a matriz de caracteres (o buffer)
char char_array1 [str_len1]; // Copie
MyString1.toCharArray (char_array1, str_len1); // converter string para char termina ela
Vou ser sincero, não sei como funciona, mas funciona.
Etapa 3: Faça o Termistor NTC MF52AT funcionar
Trabalhei antes com um termistor, então foi a parte fácil.
Mas também aqui você pode encontrar uma solução diferente.
No código final, você pode encontrar o meu.
Aqui você também pode encontrar a tradução Floats to String.
Soldado algum fio e o resistor de 10 k ohm ao termistor.
Etapa 4: Faça com que todos trabalhem juntos
Então, escrevi todas as partes do programa juntas.
Agora eu precisava descobrir como enviar um SMS todos os dias, ao mesmo tempo.
Eu li sobre ideias diferentes, algumas com TimerAlarm e outras abordagens.
Mas eu encontrei uma solução simples em algum lugar do fórum do arduino:
if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistor
atraso (500); SIM.smsSend (addr, char_array1); // DS18B20}
Mas por que now.second = 59 porque envia um SMS de um minuto inteiro. Para mim serve, mas experimente você mesmo.
Depois de alguns testes, carreguei o programa no Geekcreit® Nano.
Este pode não ser o melhor programa para escrever:), mas faz o desejado.
Como o Geekcreit® ATmega328P Nano tem alguns problemas de IDE do Arduino, eu carrego pelo terminal (Linux Mint) através do USBtinyisp com este: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Etapa 5: Funcionou
Sim deu certo e é colocado em casa.
Todos os dias às 6h recebo um SMS com o temperatur.
Recomendado:
Temperatura CubeSat Ben & Kaiti & Q Hora 1: 8 etapas
Temperatura CubeSat Ben & Kaiti & Q Hora 1: Você já quis fazer algo que pudesse ser enviado ao espaço e medir a temperatura de outro planeta? Em nossa aula de física do ensino médio, fomos designados a construir um CubeSat com um arduino funcionando com a pergunta principal: Como podemos
ESP32-CAM Captura fotos e envia por e-mail usando SPIFF Memmory. -- NÃO é necessário cartão SD: 4 etapas
ESP32-CAM Captura fotos e envia por e-mail usando SPIFF Memmory. Não é necessário cartão SD: Olá pessoal, A placa ESP32-CAM é uma placa de desenvolvimento de baixo custo que combina um chip ESP32-S, uma câmera OV2640, vários GPIOs para conectar periféricos e um slot para cartão microSD. Ele tem uma série de aplicações que vão desde servidor web de streaming de vídeo, bu
Dia da semana, calendário, hora, umidade / temperatura com economia de bateria: 10 etapas (com fotos)
Dia da semana, calendário, hora, umidade / temperatura com economia de bateria: O modo de economia de energia aqui é o que diferencia este Instructable de outros exemplos que mostram o dia da semana, mês, dia do mês, hora, umidade e temperatura. É esta capacidade que permite que este projeto seja executado a partir de uma bateria, sem t
Exibição de data, hora e temperatura usando o XinaBox: 8 etapas
Display de Data, Hora e Temperatura usando XinaBox: display OLED legal mostrando a data, hora e temperatura em Celsius e Fahrenheit usando Xinabox xChips baseado em ESP8266
Uma unidade de exibição de data, hora e temperatura fofa: 3 etapas
Uma unidade de exibição de data, hora e temperatura fofa: Olá amigos, neste instrutível, irei explicar o procedimento para fazer uma unidade de exibição de data, hora e temperatura atual usando um Arduino pro mini, um RTC e um display de oito dígitos e sete segmentos em uma unidade muito compacta, que é um devi útil