Pluviômetro

Licença do Software, GPL V3 quando cabível. Diagramas, Imagens e explicações Creative Commons - BY-SA. Amostras de dados coletados dedicados ao domínio público.
Autores do trabalho: Lorenzo Chaves, Jeferson Gerard e Renan Bohrer.

Com a finalidade de integrar a Estação Meteorológica Modular, o pluviômetro, equipamento que realiza a medição da quantidade de chuva, se utiliza eletronicamente do sistema switch conseguindo a fácil utilização com as placas arduino.

Importante lembrar que na documentação do Anemômetro também está a implementação do pluviômetro com o esquemático para conexão elétrica e um algoritmo para testes.

O pluviômetro funciona com 2 basculas, em uma forma de "gangorra", ou seja, quando uma bascula recebe uma certa quantidade de água ela desce, registrando aquela quantidade em milimetros, que é a unidade padrão para a precipitação.


Imagem ilustrando o sistemas das básculas

O funcionamento eletrônico do pluviômetro se da por um sistema chamado switch, que funciona basicamente com dois ferros que quando separados pelo ímã, corta a corrente mandando um sinal para a placa arduino.


Imagem do pluviômetro fechado para captar a precipitação.


Imagem ilustrando o compartimento para o mecanismo


Imagem ilustrando o sistema de switch do pluviômetro

Para realizar a montagem do projeto será necessário: Um arduino, uma protoboard, três fios jumpers, um resistor de 10 kΩ e um pluviômetro SEN-08942


Imagem ilustra a montagem eletrônica do projeto

E aqui fica a codificação baseada no sistema switch do arduino

Código disponibilizado aqui

 1 // Constantes:
 2 const int  buttonPin = 2;    // pino ao qual o pluviometro 
 3                              // está conectado
 4 
 5 // Variáveis:
 6 int buttonPushCounter = 0;   // contador para o numero de mudanças 
 7                              // das básculas
 8 int buttonState = 0;         // estado atual do switch
 9 int lastButtonState = 0;     // estado anterior do switch
10 
11 // as variaveis a seguir sao do tipo long pois o tempo, medido em milissegundos,
12 // rapidamente se tornara em um numero grande demais para ser armazenado em uma int.
13 long lastDebounceTime = 0;  // a ultima vez em que o pino de saida foi alternado
14 long debounceDelay = 50;    // o tempo de debounce
15 
16 void setup() {
17   // initializa o pino do switch como entrada
18   pinMode(buttonPin, INPUT);
19   // initializa a comunicaçao serial:
20   Serial.begin(9600);
21 }
22 
23 void loop() {
24   // ler o estado do switch pelo pino de entrada:
25   buttonState = digitalRead(buttonPin);
26 
27   // comparar o estado atual do switch ao seu estado anterior:
28   if (buttonState != lastButtonState) {
29     if (buttonState == HIGH) {
30       // se o estado do switch muda, por ruido ou mudança de bascula,
31       // e o estado atual e high, reseta o timer do debounce
32       lastDebounceTime = millis();
33     }
34     if ((millis() - lastDebounceTime) > debounceDelay) {
35     // o estado atual do switch esta estabelecido a um tempo maior
36     // do que o delay de debounce, entao nao deve ser ruido e pode
37     // ser contado como uma mudança de bascula
38       buttonPushCounter++;
39       Serial.print("Medida de chuva (nominal): ");
40       Serial.print(buttonPushCounter*0.2794);
41       Serial.println(" mm");
42       Serial.print("Medida de chuva (experimental): ");
43       Serial.print(buttonPushCounter*0.44831); 
44       Serial.println(" mm");
45       } 
46 
47     }
48   // save the current state as the last state, 
49   //for next time through the loop
50   lastButtonState = buttonState;
51 }

A medida de chuva nominal é a medida oferecida pelo datasheet do site de compras sparkfun e a medida de chuva experimental é a medida obtida através dos experimentos feitos dentro do CTA jr. A explicação de como o teste foi feito se encontra no link abaixo:

Teste de quantidade de chuva por batida de báscula

pluviometrobasculas.png (251 kB) Lorenzo Chaves, 02/09/2014 14:41

mecanismopluviometro.png (229.5 kB) Lorenzo Chaves, 02/09/2014 15:27

compartimentospluviometro.png (274.9 kB) Lorenzo Chaves, 02/09/2014 15:27

fritzingpluviometro.png (56.9 kB) Lorenzo Chaves, 02/09/2014 16:06

esquematicopluviometro.png (29.8 kB) Lorenzo Chaves, 02/09/2014 16:06

pluviometroFechado.png (255.3 kB) Jeferson Silveira, 04/09/2014 14:51

montagemEletronicaPluvi.png (53.9 kB) Jeferson Silveira, 04/09/2014 14:58

codigo_pluviometro.ino (1.9 kB) Lorenzo Chaves, 16/09/2014 13:54