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

Exibições: 348

Anexos

Responder esta

Respostas a este tópico

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço