Boa tarde, meus Gurus!
Estou montando uma estação meteorológica, que mede chuva, temperatura, umidade, pressão, velocidade e direção do vento.
Estes dados serão enviados via SMS para um número específico, que fará o tratamento dos dados coletados.
O hardware funciona bem isoladamente (cada componente testado separadamente), apoiado em um Arduino UNO R3 (é o que eu tenho disponível).
Mas na hora de juntar o código, o mesmo ficou um monstro.
Parte por que não sou bom programador (sei apenas o básico e estou iniciando no arduino e no C) e parte por que foi um monte de "recorta-copia-cola".
Estou compartilhando o código aqui para ver se alguém me dá uma orientação de como otimizar este código.
Abraços
SAPS-73
Tags:
Floats e strings gastam bastante memória e incham o código, podendo evitar seu uso, vc economiza uns bons bytes.
Sugestão troque a variável valor por int e use da seguinte forma:
valor = analogRead(pin) * (long)500 / 1023;
if (valor <= 27) {
vd = "NO";
}
else if (valor <= 32) {
etc...
Isso já deve economizar alguns bytes.
Outra coisa é usar mais os #defines no lugar de const e int.
em vez de:
int pin = 3; // Pino da Biruta
use:
#define pin 3
em vez de:
const int chipSelect = 10; // Cartão microSD
use:
#define chipSelect 10 // Cartão microSD
Obrigado pelas dicas....
Vou estudar aqui e implementar
Vlw
Excelentes dicas
E faz muita diferença vc não usar a classe String e em vez disso usar array de char. Especialmente pq depois vc converte a string em array de char. A classe String é bem gulosa no uso de memória.
char smstexto[70];
...
strcpy(smstexto, "9999999;000;"); // copia string
strcat(smstexto, dt); // concatena string, não sei se funciona com a classe String
strcat(smstexto, ";"); // isto com certeza funciona
...
E por aí vai, se eliminar completamente a classe String de teu programa vai diminuir bastante o código.
Obrigado.
Simples e eficiente.
Vou estudar e implementar
Bom dia Marcus,
Tem muito material sobre Estação Meteorológica no Lab :
http://labdegaragem.com/group/estacao-meteorologica-arduino?
Obrigado amigo
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por