Estação Meteorológica com Arduino

Estação Meteorológica com Arduino

Apresentamos um projeto de Estação Meteorológica com Arduino, utilizando vários componentes compactos e de baixo custo para exibir em um display gráfico informações sobre temperatura, umidade e pressão:

Para a montagem dessa estação, usaremos: um sensor de temperatura e umidade DHT22, um sensor de pressão BMP180 e um display LCD Nokia 5110. Vamos apresentar mais informações sobre eles antes de mostrar o processo de montagem da Estação Meteorológica com Arduino.

Sensor de Temperatura e umidade DHT22

O DHT22  é um sensor de temperatura e umidade sucessor do DHT11. Efetua medições de temperatura entre -40 e 125 ºC, e umidade entre 0 e 100%. Pode ser alimentado com tensões entre 3.3 e 6V e, como o DHT11, possui 4 pinos mas apenas 3 são utilizados: Vcc, Data e GND.

Sensor de temperatura e umidade DHT22

O DHT22 tem baixo consumo de corrente (2,5 mA durante as medições e entre 100 e 150 µA em standby), possuindo internamente um sensor de umidade capacitivo e um termistor. Nesse sensor, o intervalo recomendado entre medições é de 2 segundos (contra 1 segundo no DHT11). Você pode obter mais informações sobre como usar este sensor através deste tutorial aqui no nosso blog.

Sensor de temperatura e pressão BMP180

O sensor de temperatura e pressão BMP180 também é uma evolução de um outro sensor, o BMP085, sendo totalmente compatível em termos de firmware, interface e software (pode utilizar inclusive a mesma biblioteca).

A comunicação com o Arduino é feita por meio da interface I2C, e suporta alimentação de 1.8 à 3.6V, sendo portanto necessário tomar um certo cuidado ao ligar esse sensor ao Arduino.

Sensor de pressão BMP180

Apesar dessa limitação na alimentação do sensor, um regulador de tensão na placa permite que os pinos de dados (SCL e SDA) sejam utilizados normalmente em placas com nível de sinal de 5V, como o Arduino Uno. Descubra como controlar pressão e temperatura seguindo este post também aqui do nosso blog.

Display LCD Nokia 5110

O display LCD Nokia 5110 que vamos utilizar no projeto é um display gráfico de 84×48 pixels, 1,6 polegadas e backlight (luz de fundo) azul, com tensão de alimentação de 5V. Sua conexão com o Arduino utiliza 5 fios, e a configuração dos pinos de ligação é feita via software, assim podemos utilizar praticamente qualquer pino do Arduino. Para o backlight (pino BL), a tensão máxima suportada é de 3.3V.

Display Nokia 5110

 No nosso projeto, vamos ligar esse display da seguinte maneira:

  • Pino RST ligado ao pino 12 do Arduino
  • Pino CE ligado ao pino 11 do Arduino
  • Pino DC ligado ao pino 10 do Arduino
  • Pino Din ligado ao pino 9 do Arduino
  • Pino Clk ligado ao pino 8 do Arduino
  • Pino Vcc ligado ao pino 5V do Arduino
  • Pino BL ligado ao pino 3.3V do Arduino
  • Pino GND ligado ao GND do Arduino

Se você deseja montar esse projeto utilizando o display Nokia 5110 vermelho, consulte as especificações do fabricante, pois existem muitos modelos desse display que funcionam apenas com nível de sinal de 3.3V.

Circuito Estação Meteorológica

Vamos apresentar duas opções de circuito, sendo uma com o Arduino Uno, para quem deseja apenas testar o projeto na protoboard, e outra com o Arduino Nano, ideal para montagens definitivas e que pode ser colocado em uma caixa plástica por exemplo.

No Arduino Uno, utilizamos os pinos de 8 à 12 mencionados anteriormente para ligação do display, e o pino 3 como entrada de dados do DHT22 com um resistor de 10K funcionando como pull-up. O sensor BMP180 utiliza os pinos da interface I2C, que são os pinos analógicos A4 e A5:

Circuito Estação Meteorológica - Arduino Uno

No Arduino Nano, são utilizados os mesmos pinos. Verifique na imagem abaixo a pinagem dessa placa e a conexão dos componentes:

Arduino Nano - Pinos

Circuito Estação Meteorológica - Arduino Nano

Para deixar o projeto mais compacto usamos uma case de modem para proteção e transporte mas você pode usar qualquer outra caixa para obter o mesmo resultado:

Circuito Estação Meteorológica

Bibliotecas e programa

Antes de carregar o programa faça o download das bibliotecas abaixo :

Descompacte cada uma delas e copie para dentro da pasta LIBRARIES da IDE do Arduino.

A Adafruit_GFX é a biblioteca gráfica, responsável pelas funções de desenho de retângulos, círculos, linhas, etc. A Adafruit_PCD8544 é a biblioteca utilizada para gerenciar a comunicação entre o Arduino e o display. A biblioteca BMP085 serve tanto para o sensor BMP085 como para o BMP180, utilizado neste projeto.

O mesmo programa pode ser carregado no Arduino Uno ou no Arduino Nano. O programa desenha três retângulos com as bordas arredondadas, e dentro deles mostra as informações de temperatura, umidade e pressão, atualizando as informações à cada 5 segundos.

// Programa : Estacao Meteorologica com Arduino
// Autor : FILIPEFLOP

// Carrega bibliotecas graficas e sensores
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <DHT.h>
#include <Adafruit_BMP085.h>
#include <Wire.h>
#include <SPI.h>

// Pinagem ligacao display Nokia 5110
// pin 8 - Serial clock out (SCLK)
// pin 9 - Serial data out (DIN)
// pin 10 - Data/Command select (D/C)
// pin 11 - LCD chip select (CS/CE)
// pin 12 - LCD reset (RST)

// Inicializa o display nos pinos acima
Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12);

// Define pino e tipo do sensor DHT
DHT dht(3, DHT22);

Adafruit_BMP085 bmp180;

void setup()   
{
  Serial.begin(9600);
  // Informacoes iniciais no display
  display.begin();
  // Ajusta o contraste do display
  display.setContrast(48);
  // Apaga o buffer e o display
  display.clearDisplay();
  // Define tamanho do texto e cor
  display.setTextSize(1);
  display.setTextColor(BLACK);
  
  // Retangulo temperatura
  display.drawRoundRect(0,0, 44,24, 3, 2);
  // Texto inicial temperatura
  display.setCursor(11,3);  // Seta a posição do cursor
  display.println("TEMP");  
  display.setCursor(5,14);
  display.println("----"); 
  display.setCursor(29,14);
  display.drawCircle(31, 15, 1,1);
  display.println(" C");
  
  // Retangulo umidade
  display.drawRoundRect(45,0, 39 ,24, 3, 2);
  // Texto inicial Umidade
  display.setCursor(52,3);  
  display.println("UMID");
  display.setCursor(50,14); 
  display.println("----"); 
  display.setCursor(75,14);
  display.println("%");  
  
  // Retangulo pressao
  display.drawRoundRect(0,25, 84 ,23, 3, 2);
  // Texto inicial Pressao
  display.setCursor(22,28); 
  display.println("PRESSAO");
  display.setCursor(55,38);
  display.println("hPa");
  display.setCursor(11,38);
  display.println("------"); 
  display.display();
  
  delay(1000);
  // Inicializa o sensor BMP180
  if (!bmp180.begin()) 
  {
    Serial.println("Sensor BMP180 nao encontrado !!");
    while (1) {}
  }
  // Inicializa o DHT22
  dht.begin();
}

void loop()
{
  // Leitura temperatura, umidade e pressao
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float p = bmp180.readPressure()/100.0;
  
  // Atualiza valor da temperatura
  display.fillRect(4,13, 25 , 10, 0);
  display.setCursor(4,14);
  display.println(t,1); 
  
  // Atualiza valor da umidade
  display.fillRect(50,13, 23 , 10, 0);
  display.setCursor(50,14);
  display.println(h,1); 
  
  // Atualiza valor da pressao
  display.fillRect(4, 37, 46 , 10, 0);
  display.setCursor(11,38);
  display.println(p,2); 
   
  display.display();
  // Aguarda 5 segundos para efetuar nova leitura
  delay(5000);
}

Você pode utilizar também o sensor de temperatura DHT11 no projeto, utilizando a mesma biblioteca DHT mostrada acima. Para isso, altere a linha DHT dht(3, DHT22), substituindo DHT22 por DHT11.

Display Estação Meteorológica

Gostou? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo) e visite nossa loja FILIPEFLOP!

8
Estação Meteorológica com Arduino
148 votos, 4.82 classificação média (96% pontuação)

Formado em Ciência da Computação pela Universidade de Mogi das Cruzes, atualmente responsável pelo departamento técnico da FILIPEFLOP.

Compartilhe este Post

125 Comentários

  1. Reinheimer - 13 de abril de 2017

    Caro Adilson, boa noite.

    Quero agradecer o retorno e apoio que recebi do Giovanni e da Felipeflop e aproveito para informar que consegui montar a estação acima proposta com o Arduino UNO sempre problemas, só estou encontrando dificuldades com o Arduino NANO.

    Informo também que o resultado está sendo satisfatório.

    Vou me esforçar mais para aprender.

    Um grande abraço para todos.

  2. Reinheimer - 10 de abril de 2017

    Caro Adilson, boa noite novamente.

    Na rotina abaixo, se colocar valor 1, nada aparece no display e se colocar 0 como está abaixo, aparece a temperatura e umidade.
    // Inicializa o sensor BMP280
    if (!bmp180.begin()){
    Serial.println(“Sensor BMP280 nao encontrado !!”);
    while (0);
    //{}
    }

    Atenciosamente

  3. Reinheimer - 10 de abril de 2017

    Caro Adilson, boa noite.

    Solicito orientação sobre o sensor BMP280 adquirido por mim por intermédio da Feipeflop.

    Fiquei interessado em montar a estação meteorológica mas estou tendo problemas ao utilizar o sensor acima mencionado pois sempre aparece a mensagem Sensor BMP280 nao encontrado !!

    Pesquisando bastante e acompanhando alguns fóruns, observei que o pessoal alertava muito sobre ligação errada, ou seja, ligar no pino de 5 V, tratei de tomar muito cuidado.

    Não deu certo com os dois sensores adquiridos, conforme mencionei acima.

    Segue abaixo o sketch utilizado, solicito orientação.

    //
    // Programa : Estacao Meteorologica com Arduino
    // Autor : FILIPEFLOP
    //
    // Carrega bibliotecas graficas e sensores
    //
    #include
    #include
    #include
    //#include
    #include
    #include
    #include
    #include

    // Pinagem ligacao display Nokia 5110
    // pin 8 – Serial clock out (SCLK)
    // pin 9 – Serial data out (DIN)
    // pin 10 – Data/Command select (D/C)
    // pin 11 – LCD chip select (CS/CE)
    // pin 12 – LCD reset (RST)

    // Inicializa o display nos pinos acima
    Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12);

    // Define pino e tipo do sensor DHT
    DHT dht(3, DHT22);
    //Adafruit_BMP085 bmp180 = Adafruit_BMP085();
    Adafruit_BME280 bmp180;
    //= Adafruit_BME280();
    //#define BME280_ADDRESS (0x76)
    void setup()
    {
    Serial.begin(9600);
    // Informacoes iniciais no display
    display.begin();
    // Ajusta o contraste do display
    display.setContrast(45);
    // Apaga o buffer e o display
    display.clearDisplay();
    // Define tamanho do texto e cor
    display.setTextSize(1);
    display.setTextColor(BLACK);

    // Retangulo temperatura
    display.drawRoundRect(0,0, 44,24, 3, 2);
    // Texto inicial temperatura
    display.setCursor(11,3); // Seta a posição do cursor
    display.println(“TEMP”);
    display.setCursor(5,14);
    display.println(“—-“);
    display.setCursor(29,14);
    display.drawCircle(31, 15, 1,1);
    display.println(” C”);

    // Retangulo umidade
    display.drawRoundRect(45,0, 39 ,24, 3, 2);
    // Texto inicial Umidade
    display.setCursor(52,3);
    display.println(“UMID”);
    display.setCursor(50,14);
    display.println(“—-“);
    display.setCursor(75,14);
    display.println(“%”);

    // Retangulo pressao
    display.drawRoundRect(0,25, 84 ,23, 3, 2);
    // Texto inicial Pressao
    display.setCursor(22,28);
    display.println(“PRESSAO”);
    display.setCursor(55,38);
    display.println(“hPa”);
    display.setCursor(11,38);
    display.println(“——“);
    display.display();

    delay(500);
    // Inicializa o sensor BMP280
    // Nessa condicional tem problemas se trocar o valor while(0) por while(1)
    if (!bmp180.begin()){
    Serial.println(“Sensor BMP280 nao encontrado !!”);
    while (0);
    //{}
    }
    // Inicializa o DHT22
    dht.begin();
    }
    //===============================================
    void loop()
    {
    // Leitura temperatura, umidade e pressao
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    float p = bmp180.readPressure()/100.0;

    // Atualiza valor da temperatura
    display.fillRect(4,13, 25 , 10, 0);
    display.setCursor(4,14);
    display.println(t,1);

    // Atualiza valor da umidade
    display.fillRect(50,13, 23 , 10, 0);
    display.setCursor(50,14);
    display.println(h,1);

    // Atualiza valor da pressao
    display.fillRect(4, 37, 46 , 10, 0);
    display.setCursor(11,38);
    display.println(p,2);

    display.display();
    // Aguarda 5 segundos para efetuar nova leitura
    delay(5000);
    }

  4. Reinheimer - 8 de abril de 2017

    Caro Adilson, bom dia novamente.

    Fiz uma postagem antes e peço que desconsidere, estou achando o fio da meada e conseguindo resolver a situação, você já havia dado essa orientação sobre o problema que lhe levei.

    Muito agradecido.

  5. Reinheimer - 8 de abril de 2017

    Caro Adilson, bom dia.

    Estou montando a estação meteorológica seguindo rigorosamente a sua orientação conforme está no site da Felipeflop, baixei as bibliotecas conforme orientado e após a compilação do programa aparece o erro abaixo descrito.

    In file included from sketch_apr06a.ino:8:0:
    C:\Users\User\Documents\Arduino\libraries\Adafruit-BMP085-Library-master/Adafruit_BMP085.h:26:18: fatal error: Wire.h: No such file or directory
    #include “Wire.h”
    ^
    compilation terminated.
    Erro compilando.

    Solicito seu auxílio e orientação.

  6. Jorge Zottele - 23 de março de 2017

    Ola Adilson
    Muito bom o projeto, ..e possivel jogar estes dados do arduino no pc e criar um layout grafico

    Vc disponibiliza o kit

  7. Nicolas Felipe de Sousa - 18 de fevereiro de 2017

    Boa noite meu display é azul mais o brilho “as letras dentro” ficam bem fraquinhos nem perto do ilustravel a cima. Qual a constante que devo mudar?

    • joão garcia - 19 de fevereiro de 2017

      Olá, Nicolas!

      Experimente aumentar o contraste:

      Linha 33: display.setContrast(48);
      (tente, por exemplo, 53 em vez de 48). Vá alterando até chegar no contraste mostrado na foto do projeto. Cada display requer um ajuste fino de contraste.
      Espero ter contribuído.
      Um abraço.

  8. Nicolas Felipe de Sousa - 9 de fevereiro de 2017

    Bom dia, compilei o codigo igual ao do blog e deu esse erro, podia dar uma ajuda ai, estou iniciando na area, mas gosto muito de eletronica.

    Arduino: 1.8.1 (Windows 8.1), Placa:”Arduino/Genuino Uno”

    In file included from C:\Users\Usuário\Documents\Arduino\libraries\DHT\DHT_U.cpp:22:0:

    C:\Users\Usuário\Documents\Arduino\libraries\DHT\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Erro compilando para a placa Arduino/Genuino Uno

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    • JAGoris - 9 de fevereiro de 2017

      Nicolas, ao que tudo indica, voce não tem a livraria (librarie) Adafruit_Sensor.h instalada na sua IDE. Verifique se instalou a biblioteca DHT indicada no tutorial sob titulo BIBLIOTECAS E PROGRAMAS.

  9. marcello - 17 de janeiro de 2017

    olá a todos
    Preciso medir a umidade de um fluxo de ar de 1m/s de velocidade, qual o melhor sensor para o arduino?

  10. Loris - 31 de dezembro de 2016

    Boa tarde! Feliz Ano Novo!
    Estou quase ficando louco, na compilação do programa esta dando o erro abaixo e não consigo descobrir

    Stray ‘\302′ in program
    stray ‘\240′ in program

    Por favor ajuda!!
    Obrigado

  11. Loris - 21 de dezembro de 2016

    Boa noite!
    Parabens belo projeto, gostaria de saber como exibir o resultado da pressao em mmHg
    Tem Como fazer?
    Obrigado

    • JAGoris - 22 de dezembro de 2016

      Loris, como 1 hPa vale 0,750062 mmHg, basta multiplicar o valor da linha float p=bmp180.readPressure()/100,0 por 0,750062 que terá o valor em mmHg.
      A linha fica assim: float p=bmp180.readPressure()/100)*0,750062 ou float p=bmp180.readPressure()*0,00750062.

  12. José Eduardo - 29 de novembro de 2016

    Adilson,B.tarde
    Desculpe-me pertubar novamente,montei o projeto corretamente.
    Eu estava usando sensor DHT11,e no visor Nokia 5110 aparecia: TEMP nan “C”, UMID nan %, PRESSÂO 925,39 hPa.Troquei o sensor para o DHT22,e continua aparecendo os mesmo problema,com TEMP,e UMID.
    Tudo compolia certo,verifiquei em alguns comentários anteriores,vc fala se aparece biblioteca:Adafruit PCD8544 em exemplo,pois aparece normalmente.Poderia,me ajudar?
    Forte,abraço

  13. CLEBER - 24 de novembro de 2016

    Boa tarde,
    estou iniciando com arduino.
    montei um DHT22 segundo este post.
    os valores de temperatura e umidade retornam NaN.
    como faço para saber se o meu problema é de programação, de montagem ou de equipamento danificado?
    obrigado

    • JAGoris - 26 de novembro de 2016

      José Eduardo, o valor que você esta encontrando significa que o DHT22 não esta sendo lido..
      Se o sensor que você esta usando é um daqueles que vem preso em uma plaquinha, é bem possível que esteja com curto nas pistas do circuito impresso. Se possível, dessosolde-o da plaquinha que deve funcionar.
      Tem lote da china que estas plaquinhas são defeituosas…

  14. José Eduardo - 20 de novembro de 2016

    Adilson,B.dia:
    Para esse projeto,eu poderia usar a placa Arduino ProMini?
    obrigado,um abraço.

  15. joão garcia - 30 de outubro de 2016

    Olá, Adilson!

    Alimento o sensor de pressão com 5 V, normalmente. O regulador de 3V3 fornece tensão adequada ao CI BMP180 instalado na placa. Para ligação com relógio RTC, uso um adaptador de nível, já que o RTC funciona com 5V e os pinos de dados do sensor se comunicam com nível de tensão de 3V3. O relógio pode registrar o instante em que ocorreram as temperaturas , umidades e pressões mínimas e máximas.
    Um abraço,

  16. Alberto Rocha - 28 de outubro de 2016

    Verifiquei um artigo de Albert van Dalen sobre problemas com o Nokia 5110, problemas de mau contato na frágil borracha de contato entre a placa e a tela de LCD, no artigo ele fala do problema crônico e dá uma solução paliativa para minimizar o problema. O mau contato acaba por apagar informações ou sujar a tela, mesmo pressionando o frame para forçar o contato a sujeira ou o apagamento não desaparecem até que se desligue o circuito e o ligue novamente ou efetuando um reset, isto pode ficar cansativo e pode acreditar, bastante desanimador. A solução paliva concebida por ele foi limpar a tela em intervalos regulares utilizando o programa em curso. Adaptei o programa da Estação Metereológica passando as leituras para cima e as executando imediatamente à criação dos quadros, símbolos e unidades. Não afetou o funcionamento e acabou com um erro de persistência de pontos à direita do 2o. décimo da pressão que só desaparecia com um reset e estava me incomodando visualmente (perfeccionismos de minha parte). Espero que este post seja útil para outros que estejam presenciando este mesmo problema.
    Sugestão do Albert e minha, tentar passar este programa para um display TFT que já não estão tão proibitivos e poderia agregar informações e cores.
    Um abraço.
    Alberto

  17. Paulo Luis Steinhauser - 11 de setembro de 2016

    Bom dia!

    Estou no meio de um projeto e ainda não consegui um case adequado para organizar de maneira adequada e que seja de fácil acesso aos componentes em caso de manutenção. Vi que este utilizado no tutorial, por exemplo, é excelente para o mesmo. Terias alguma dica de onde adquirir cases como estes?

    Att, Paulo

  18. Ivan Morales - 23 de agosto de 2016

    Estou pensando em fazer este projeto agregando uma wireless para envio do monitoramento para uma sistema de alarme que quanto chegar a determinados parametros alerta a possibilidade de chuvas.
    Não sei se funcionaria caso sim o que precisaria para desenvolver ? Um modulo wireless ?
    Para gravar as variações constantes de temperatura poderia agregar um modulo com cartao de memoria para gravar no local ou seria interessante enviar para uma base ?
    Qual o valor de todos os componentes ?
    Obrigado.

  19. André - 20 de agosto de 2016

    Olá, vocês tem esse case usado no projeto para venda?

    • Adilson Thomsen - 17 de agosto de 2016

      Boa tarde Gustavo,

      Esse display usa muitos pinos do microcontrolador. Nesse caso, creio que deveria ser usado um Arduino Mega para encaixar o display e nas portas restantes ligar os sensores.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  20. joao garcia - 23 de julho de 2016

    Olá, Adilson!

    Esta placa permite alimentação com 5 V, devido ao regulador de 3,3 V incorporado. Porém, se esta placa for ligada com outra interface,cuja lógica seja de 5 V, no mesmo barramento, será necessário usar um adaptador de nível.

  21. guerino dal bo - 20 de maio de 2016

    eu preciso deste aparelho montado voce poderia me informar onde posso comprar este medidor de pressao

  22. Gustavo Jean Menegazzo - 11 de abril de 2016

    Gostaria de saber se 4 sensores dht22 podem ser utilizados sem problemas num arduino mega 2560?
    Qual tipo de cabo é melhor para fazer a conexão para um ambiente externo para uns 20 metros, e se a placa do arduino consegue fornecer energia suficiente para o sensor, ou tem que ser uma fonte externa.

  23. Wagner Vielmo - 10 de abril de 2016

    Bom dia, gostaria de dizer esse Post me deixou mto empolgado em desenvolver uma mini estação meteorológica, já comprei todos os equipamentos que vc sugeriu. Gostaria de saber se consigo mandar esses dados para o computador ao invés de mostrar apenas no display? Trabalho com programação e banco de dados então gostaria de criar um tipo de bando de dados com essas informações gerando gráficos e disponibilizando na internet. Valeu e mais uma vez parabéns pelo POST.

    • Adilson Thomsen - 11 de abril de 2016

      Boa tarde Wagner,

      Você pode tanto mandar os dados via serial e tratar esses dados no computador, como enviá-los via Wifi, aí vai depender do seu projeto. Uma boa alternativa é usar um módulo wifi ESP8266. Dê uma olhada aqui no blog que temos alguns posts sobre ele.

      Abraço e obrigado!

      Adilson – Equipe FILIPEFLOP

  24. jorge edinaldo alves da silva - 23 de março de 2016

    boa tarde, estou planejando um sistema controlador de umidade e gostaria de usar este display, carreguei a biblioteca, mas não consigo compilar, gostaria de saber quais alterações preciso fazer no sketch, já que não estou usando o sensor de pressão.

    • Adilson Thomsen - 23 de março de 2016

      Boa tarde Jorge,

      Que erro aparece na hora da compilação ?

      Adilson – Equipe FILIPEFLOP

      • jorge edinaldo - 23 de março de 2016

        então o erro que aparece é esse , será que pode me ajudar?

        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::drawPixel(int, int, unsigned int)':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:127: multiple definition of `Adafruit_PCD8544::drawPixel(int, int, unsigned int)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:127: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o:(.data.pcd8544_buffer+0x0): multiple definition of `pcd8544_buffer’
        PCD8544\Adafruit_PCD8544.cpp.o:(.data.pcd8544_buffer+0x0): first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::getPixel(signed char, signed char)':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:163: multiple definition of `Adafruit_PCD8544::getPixel(signed char, signed char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:163: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::isHardwareSPI()':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:255: multiple definition of `Adafruit_PCD8544::isHardwareSPI()’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:255: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::clearDisplay()':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:339: multiple definition of `Adafruit_PCD8544::clearDisplay()’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:339: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::data(unsigned char)':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:268: multiple definition of `Adafruit_PCD8544::data(unsigned char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:268: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::command(unsigned char)':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:259: multiple definition of `Adafruit_PCD8544::command(unsigned char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:259: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::setContrast(unsigned char)':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:277: multiple definition of `Adafruit_PCD8544::setContrast(unsigned char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:277: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::display()':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:289: multiple definition of `Adafruit_PCD8544::display()’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:289: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544::begin(unsigned char, unsigned char)':
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:171: multiple definition of `Adafruit_PCD8544::begin(unsigned char, unsigned char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:171: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544′:
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:115: multiple definition of `Adafruit_PCD8544::Adafruit_PCD8544(signed char, signed char, signed char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:115: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544′:
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:115: multiple definition of `Adafruit_PCD8544::Adafruit_PCD8544(signed char, signed char, signed char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:115: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544′:
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:107: multiple definition of `Adafruit_PCD8544::Adafruit_PCD8544(signed char, signed char, signed char, signed char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:107: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544′:
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:107: multiple definition of `Adafruit_PCD8544::Adafruit_PCD8544(signed char, signed char, signed char, signed char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:107: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544′:
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:98: multiple definition of `Adafruit_PCD8544::Adafruit_PCD8544(signed char, signed char, signed char, signed char, signed char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:98: first defined here
        PCD8544Nokia5110\Adafruit_PCD8544.cpp.o: In function `Adafruit_PCD8544′:
        C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544Nokia5110/Adafruit_PCD8544.cpp:98: multiple definition of `Adafruit_PCD8544::Adafruit_PCD8544(signed char, signed char, signed char, signed char, signed char)’
        PCD8544\Adafruit_PCD8544.cpp.o:C:\Users\jorge\Desktop\arduino-1.0.5-r2\libraries\PCD8544/Adafruit_PCD8544.cpp:98: first defined here

      • jorge edinaldo - 23 de março de 2016

        estou tentando compilar com a biblioteca do sensor de pressão, mas precisava do código sem o sensor.

        • Adilson Thomsen - 24 de março de 2016

          Bom dia Jorge,

          Na verdade o seu programa está apresentando erro na biblioteca gráfica (PCD8544)… Você instalou a biblioteca do display corretamente ?

          Abraço.

          Adilson – Equipe FILIPEFLOP

          • jorge edinaldo - 28 de março de 2016

            instalei como recomenda o projeto. você tem alguma dica que pode me dar?

          • Adilson Thomsen - 29 de março de 2016

            Boa tarde Jorge,

            Parece ser mesmo algo na biblioteca. Veja se ela está sendo carregada corretamente e se aparece na lista de bibliotecas disponíveis (menu arquivo -> exemplos). A biblioteca PCD8544 tem que aparecer nessa lista.

            Abraço!

            Adilson – Equipe FILIPEFLOP

  25. Gabriele Martins - 3 de março de 2016

    Olá, eu e meu grupo de estudos estamos tentando fazer este projeto, o problema é que o compilador do Arduino diz que falta a biblioteca ft2build. Será que tem como nos dar um auxilio?

  26. Natália Oliveira - 2 de março de 2016

    Olá, sabe me informar onde posso conseguir o suporte para os componentes (a case branca onde o display esta acoplado)…
    Obrigada

  27. Piero Maier Ereno - 29 de fevereiro de 2016

    Olá…
    Neste projeto qual é consumo aproximado do sistema (com o backlight apagado)?
    Pergunto porque estou pensando em montar algo parecido, porém o consumo é determinante, pois pretendo utilizar bateria de 9V.

  28. Fernando - 20 de janeiro de 2016

    Olá! Teria como adicionar um sistema com chip de internet 3g, para envio dos dados via 3g, e acesso remoto (pergunto em 3g por indisponibilidade de wi-fi na área que estou pensando)?
    No mais, parabéns pelo blog e postagens, excelente!
    Abraço

  29. Medição de temperatura com Arduino e IoT - Configuração - Embarcados - 18 de dezembro de 2015

    […] Exemplo de projeto de uma estação meteorológica com Arduino e DHT-22 […]

  30. Rodrigo Fonseca de Andrade Júnkior - 10 de novembro de 2015

    O meu display é o vermelho, na de 3,3 não aparece nada e na de 5 fica tudo manchado a tela

    http://imgur.com/AvaeMpm

  31. Milton Vaz - 4 de novembro de 2015

    Prezados,
    Montei todo o circuito conforme indicado, utilizando o Mega 2560 e o DHT11, entretanto os dados dos sensores não são capturados e apresentados no display, apenas traços nos retangulos! Poderiam de ajudar?
    Grato.

  32. Ivan - 1 de novembro de 2015

    Boa Noite a todos,
    Montei este projeto por sinal muito legal e parabéns, coloquei um relé e o mesmo liga e desliga com a atualização do DHT, não consigo fazer com que pare na temperatura pré determinada.. Não estou usando o sensor de pressão; Se alguém tiver alguma ideia agradeço.
    Um abraço a todos.

  33. Guilherme - 10 de outubro de 2015

    opa otimo projeto mas gostaria de adicionar um enthernet shield e mais alguns sensores vc pode me ajudar

  34. Paulo Marcos - 3 de setembro de 2015

    Bacana este tópico viu…. Montei igualzinho, a única diferença é que usei o visor vermelho e para isto alterei a alimentação do pino 5v para o 3v3. E coloquei ele alternando a cada medição entre mostrar pressão e KPa e altitude em metros.
    Entretanto ele está marcando uma altitude/pressão menor, ou seja a altitude daqui onde estou é 789 m, e ele marca 721. Tem que fazer algum ajuste no sensor?
    Corrigi na gambiarra, somando um valor nas variáveis de pressão e altitude na linha do programa, mas acho que ele tinha que ter precisão.
    Outra coisa a alertar é que usei um Nano made China e o chip da porta USB é outro(CH340), portanto apanhei muito até descobrir que a biblioteca deveria ser outra para que ele reconhecesse a USB.

  35. Eduardo - 22 de agosto de 2015

    Olá, parabéns pelo blog, aprendo muito com ele.
    Gostaria também de incluir no projeto o RTC 1307. Porém nos exemplos do Blog com o RTC utilizam as mesmas portas (A4 e A5). Como posso alterar as portas do BMP180 ou do RTC?

  36. Gualda - 21 de agosto de 2015

    Boa tarde. Eu segui todos os passos que você descreveu, contudo no meu projeto eu exclui o DHT e só deixei o BMP180, porque eu só queria temperatura e pressão. Baixei todas as bibliotecas, e quando mando compilar, o programa diz:
    “Esta__o_Met.ino:5:30: fatal error: Adafruit_PCD8544.h: No such file or directory
    compilation terminated.
    Erro compilando.”
    Sem o DHT, qual seria a programação? Vou usar a pressão em mmHg, é possível?
    Grato!

  37. Elcio - 1 de agosto de 2015

    Adilson,
    Excelente projeto. Seria possível acrescentar um módulo de relógio e gravar os dados (incluindo o horário) num módulo SD a cada, digamos, variação de um grau na temperatura, um por cento na umidade ou 0,1 hPa? Ou seja, introduzir mais dois módulos, cartão e relógio?
    Grato.

  38. Italo moreira - 25 de julho de 2015

    Teria como fazer ele enviar um sinal para uma buzina quando a temperatura chegar. Acima de 30 graus ?? Onde colocar essa buzina. E onde devo acresetar a linha de comando

  39. Alexandre N Gikas - 24 de junho de 2015

    Montei o circuito e ele funcionou perfeitamente ate eu tentar conectar mais um sensor, o de umidade do solo, usando um exemplo de porta analógica que vi na internet. Quando adiciono as linhas no programa que fazem a leitura, osensor de temperatura comeca a dar valores erraticos… Alguem ja viu isso ??
    Gratoe

  40. Lucas - 23 de junho de 2015

    Olá,

    Qual foi o programa utilizado para desenhar o esquema do circuito?

    Obrigado.

  41. Alisson Rocha - 23 de junho de 2015

    Boa noite,

    Essa logica o programa roda apenas com o arduino uno ou Nano. Alguem consegue me ajudar a fazer com que rode também no mega.
    Desde ja agradeço.

  42. Alisson - 20 de junho de 2015

    O projeto roda apenas no arduino Uno ou nano? Tentei montar o projeto no Mega mas sem sucesso. Conseguem me ajudar…

  43. Raphaell Coelho - 17 de junho de 2015

    Baixei as bibliotecas corretamente e coloquei elas no local certo, consegui fazer o programa compilar mas quando carrego pro arduino na protoboard já montada a tela do nokia 5110 fica azul e nao aparece nada.. gostaria de saber o que pode ser..

    • FILIPEFLOP - 25 de junho de 2015

      Bom dia,

      O Nokia é um display bem sensível, veja se não existe algum mau contato ou solda fria nos conectores. Tente também testar somente o display separadamente.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  44. eduardo haas - 11 de junho de 2015

    como faço para baixar o dht.h para o meu pc?
    preciso dele para fazer uma estação meteorológica

  45. Igor - 4 de junho de 2015

    Onde comprar essas caixas plasticas para os projetos?

  46. Cândido Areas - 26 de maio de 2015

    Gostaria de saber se o sensor de temperatura utilizado na estação pode ser utilizado no controle de temperatura de água. No caso, a água será aquecida e preciso controlar o aquecimento (ligando ou desligando o equipamento de aquecimento conforme a temperatura medida. Obrigado desde já.

  47. glauco poltronieri - 19 de maio de 2015

    Boa Noite,

    Comprei o LCD e o BMP180 e chegou hoje da Filipeflop, porem fiz tudo e não aparece nada no isplay….outra coisa que percebi que demora muito para compilar e baixar para o arduino….. alguém poderia me ajudar ??????

    Obrigado

    Glauco

  48. Felipe FM - 9 de maio de 2015

    Parabéns! Obrigado por compartilhar o projeto!

  49. Victor - 7 de maio de 2015

    Boas,
    não sei o que se passa, mas dá erro,
    ou seja a compilação mencionada acima não funciona, ou será so a mim que da erro.
    Deixo imagem…
    http://i.imgur.com/2h1nE4e.png
    Os erros são:
    Opções de compilação alteradas, compilando tudo
    METEO.ino:5:26: fatal error: Adafruit_GFX.h: No such file or directory
    compilation terminated.
    Erro ao compilar.

    • jagoris - 7 de maio de 2015

      Esta talvez possa ajudar… Você instalou a biblioteca Adafruit_GFX no diretório libraries do arduino? Se instalou, verifique para que no nome da pasta não tenha nenhum ifem. Renomeie se tiver, pode usar o undesrcore, ou deixe sem espaço algum. Por exemplo a pasta do GFX com o nome correto deve ser: Adafruit_GFX_LIbrary_master ou simplesmente Adafruit_GFX. Faça isto para todas as pastas dos arquivos das bibliotecas.

    • FILIPEFLOP - 22 de maio de 2015

      Boa noite Victor,

      Por favor verifique se a biblioteca Adafruit_GFX foi instalada corretamente.

      Grato.

      Adilson – Equipe FILIPEFLOP

  50. jagoris - 6 de maio de 2015

    Apesar de ter baixado e instaladas as bibliotecas indicadas, quando compilo o programa tem o seguinte erro: fatal error: Adafruit_BMP085.h: No such file or directory
    compilation terminated.

    O que pode estar ocorrendo?

    • PFerreira - 6 de maio de 2015

      Será que a biblioteca foi baixada e deszipada em alguma localização diferente, como a área de Downloads? Um recurso que você tem se você pesquisar onde foi instalada a library, é usar o recurso que existe na própria IDE do Arduino, chamado Importar Library, e apontar para o compilador o lugar da biblioteca. Isso costuma acontecer se a mesma não esta no diretório mais adequado que, em geral é chamado de “libraries”.

      • jagoris - 7 de maio de 2015

        PFerreira, descobri que tem que renomear o include do BMP085 para Adafruit_BMP085_U. Mas ao compilar não é encontrado o arquivo Adafruit_Sensor.
        Tenho a impressão que este tutorial não foi testado com estas bibliotecas.
        Alias, em https://learn.sparkfun.com/tutorials/bmp180-barometric-pressure-sensor-hookup- tem bibliotecas e informações interessantes já para o BMP180….

        • PFerreira - 7 de maio de 2015

          jagoris eu sou mais utilizador do Linux e, neste ambiente, o sketch compila 100%.
          Resolvi testá-lo no Win8, verifiquei os problemas apontados.
          Talvez o autor do artigo tenha testado o sketch em ambiente Linux ( ou Mac) e, assim como eu pensei, achou que estava tudo bem em qualquer ambiente.

          • FILIPEFLOP - 22 de maio de 2015

            Boa noite PFerreira,

            Testado no Windows 7, sem problemas. Pode ser que haja algum problema com relação ao Windows 8.

            Grato.

            Adilson – Equipe FILIPEFLOP

        • PFerreira - 14 de maio de 2015

          Na pesquisa que empreendi pelo problema de compilação do sketch Estação Meteorológica deste site, acabei atualizando minhas versões da IDE do Arduino, tanto de Windows8 e Ubuntu, para a versão 1.6.4.
          Esta versão, além de mais prática na gerência e instalação de libraries, também é um pouco mais rápida que a que eu havia instalado anteriormente 1.6.1. (No Linux é uma bala).

          Acabei achando um sketch de nome igual, só que em inglês, WeatherStationV4, que
          compilou direto nos dois ambientes de programação. O sketch utiliza as libraries tradicionais LCD5110_Graph.h // DHT.h // Wire.h // SPI.h e duas que acho que são da Sparkfun: SFE_BMP180.h e LowPower.h
          A apresentação na telinha segue a mesma disposição do “EstaçãoMeteorologica” com
          a diferença de que não tem os frames (os retângulos de cantos arredondados) que
          envolvem as informações de temperatura/umidade e pressão. Uma implementação que pode ser de utilidade para quem se dedicar a uma estação é a de economia de energia proporcionada pela utilização de um LDR que comanda o display fazendo com que ele entre em modo sleep.
          Quem quiser usar os frames é só usar a library gráfica da Adafruit ( a de final GFX0).
          Quem se interessar é só procurar no youtube pela chave de pesquisa educ8s.com e, no texto de comentários do próprio autor do vídeo ele passa o link do sketch.

    • Victor - 7 de maio de 2015

      Boas a mim acontece-me o mesmo!
      Pena que esteja a dar este erro, seria bom que este erro fosse corrigido, comprei o material e agora nada feito e achei muito interessante esta mini estação meteo.

    • FILIPEFLOP - 22 de maio de 2015

      Boa noite,

      Parece ser algum erro na instalação da biblioteca, verifique se ela foi devidamente carregada.

      Grato.

      Adilson – Equipe FILIPEFLOP

    • FILIPEFLOP - 22 de maio de 2015

      Boa noite Victor,

      Alteramos o link da biblioteca, veja se resolve o problema, por favor. Faça o download à partir deste link:

      https://github.com/adafruit/Adafruit-BMP085-Library

      Abraço.

      Adilson – Equipe FILIPEFLOP

  51. Igor - 5 de maio de 2015

    Projeto interessante! Alguma ideia de como medir a velocidade do vento utilizando um Arduino?

  52. Jose Antonio - 4 de maio de 2015

    Boa noite galera,

    Baixei as bibliotecas e tentei verificar o skecth, Achei interessante, mais dá o seguinte erro:
    Alguém sabe o que esta acontecendo ? Valeu.

    In file included from sketch_may04a.ino:8:
    C:\Program Files (x86)\Arduino\libraries\Adafruit_BMP085/Adafruit_BMP085.h:100: error: expected class-name before ‘{‘ token
    C:\Program Files (x86)\Arduino\libraries\Adafruit_BMP085/Adafruit_BMP085.h:114: error: ‘sensors_event_t’ has not been declared
    C:\Program Files (x86)\Arduino\libraries\Adafruit_BMP085/Adafruit_BMP085.h:115: error: ‘sensor_t’ has not been declared
    sketch_may04a:25: error: ‘Adafruit_BMP085′ does not name a type
    sketch_may04a.ino: In function ‘void setup()':
    sketch_may04a:74: error: ‘bmp180′ was not declared in this scope
    sketch_may04a.ino: In function ‘void loop()':
    sketch_may04a:88: error: ‘bmp180′ was not declared in this scope

  53. Sergio - 4 de maio de 2015

    onde compro essa caixa branca que vc usou?

  54. manotroll - 28 de abril de 2015

    mais não teria como ele mostrar se vai chover ou fazer sol de acordo com a pressão atmosférica ?
    assim como aqueles relojios de paredes que tem uma mini estação meteorológica neles ?

    • PFerreira - 2 de maio de 2015

      Adicionar alguns comandos a mais ao sketch fornecido, para dar uma utilização mais interessante ao conjunto proposto é um bom exercício mental e apenas uma questão de combinar valores de pressão, umidade relativa e temperatura.
      Pode-se até adicionar uma tela “dinâmica” que apareceria em substituição à tela principal (um bitmap adequado ficaria até bacana) quando os parâmetros citados fossem propícios à precipitação pluviométrica.
      Sugestão: estes valores poderiam ser tomados de observações durante a utilização do aparelho em períodos que antecedem chuvas para serem utilizados na modificação do sketch.
      Mas não nos decepcionemos. Se até nossos melhores serviços de meteorologia às vezes erram, também pode haver uma boa margem de “não-acertos” nas nossas previsões.

    • PFerreira - 5 de maio de 2015

      Achei um resumo bem explicativo e rápido para entender as leituras de pressão do BMP180 e ajudar nas nossas previsões de tempo:

      http://www.climaonline.com.br/art_pdf/press.pdf

    • FILIPEFLOP - 22 de maio de 2015

      Boa noite,

      É possível sim, mas você teria que armazenar os dados por algum tempo, para realizar uma previsão do tempo com mais precisão.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  55. evandro - 28 de abril de 2015

    Seria possível postar os dados de hora em hora num servidor, para acompanhamento posterior?

    • Igor - 5 de maio de 2015

      Fiz uma estação meteorológica semelhante, utilizando um DHT22 para medir pressão e temperatura, um BMP180 para medição da pressão atmosférica, e outros sensores para medição de luminosidade, exposição UV e material particulado. Conectei o meu Arduino Uno ao wi-fi utilizando um módulo ESP8266, que posta os dados a cada 5 minutos no thingspeak.
      Os dados públicos podem ser acompanhados no site:
      https://thingspeak.com/channels/35540

      • jagoris - 8 de maio de 2015

        Igor, Seria pedir demais se postasse o seu programa? Ou somente indicasse quais as bibliotecas que utilizou?

        • Igor - 9 de maio de 2015

          jagoris,

          Você pode testar esse código abaixo para ver se funciona? Conectei o DHT no pino 2 e o BMP nos pinos A4 e A5.

          As bibliotecas que utilizei estão no drive:

          https://drive.google.com/folderview?id=0B03tFgG6RVCTfm1OQ0RQOXN1N3paNzEtcl83VnJqWkRZMmhHT1pxWXNORUowXzVQVjZNR2s&usp=sharing

          #include
          #include
          #include
          #include
          #include
          #include

          dht DHT;
          Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);

          #define DHT22_PIN 2

          void setup()
          {
          Serial.begin(9600);
          monitor.begin(9600);

          /* Initicializar o sensor*/
          if(!bmp.begin())
          {
          /* Se ocorrer um problema na detecção do BMP085, verificar suas conexões */
          Serial.print(“O BMP085 não foi detectado. Verifique suas ligações ou o I2C ADDR!”);
          while(1);
          }
          }

          void loop(){
          int chk = DHT.read22(DHT22_PIN);
          float humidity = DHT.humidity;
          float temperature = DHT.temperature;

          sensors_event_t event;
          bmp.getEvent(&event);

          float pressure = 0;
          float temperature1 = 0;

          if (event.pressure)
          {
          pressure = event.pressure;
          bmp.getTemperature(&temperature1);
          }

          Serial.print(“Umidade: “);
          Serial.println(humidity);
          Serial.print(“Temperatura 1: “);
          Serial.println(temperature);
          Serial.print(“Pressão: “);
          Serial.println(pressure);
          Serial.print(“Temperatura 2: “);
          Serial.println(temperature1);

          delay(30000);

          }
          }

          • Igor - 9 de maio de 2015

            #include stdlib.h
            #include DHT.h
            #include Wire.h
            #include Adafruit_Sensor.h
            #include Adafruit_BMP085_U.h

    • FILIPEFLOP - 22 de maio de 2015

      Boa noite Evandro,

      Sim, você pode utilizar vários métodos para fazer isso, como por exemplo usar um módulo wireless NRF24L01.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  56. caíque carvalho - 28 de abril de 2015

    Que parâmetros são esse usados abaixo,que representa na função do retângulo do visor ?

    display.drawRoundRect(0,25, 84 ,23, 3, 2);

  57. Rodrigo cunha - 28 de abril de 2015

    legal esse projeto

  58. Ivo Rodriguez - 28 de abril de 2015

    Ótimo post, quero ver agora se consigo encaixar o meu Arduino Uno dentro de uma case de modem hehe.

  59. Carlos Alexandre - 28 de abril de 2015

    Agora já sei o que fazer de TCC :D
    Parabéns!

Deixe uma resposta