Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

Untitled

a guest Oct 17th, 2017 55 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1.  
  2. // Programa : Estacao Meteorologica
  3. // Autor : Ivo Jr - Colaboração http://labdegaragem.com/
  4.  
  5. ////////////////////Inclusão Bibliotecas////////////
  6.  
  7. #include <DHT.h>
  8. #include <DHT_U.h>
  9. #include <Wire.h>
  10. #include <SPI.h>
  11. #include <Adafruit_Sensor.h>
  12. #include <Adafruit_BMP280.h>
  13. #include <Adafruit_MLX90614.h>
  14.  
  15. ///////////Configurações BMP280///////////////////////////////
  16.  
  17. #define BMP_SCK 13
  18. #define BMP_MISO 12
  19. #define BMP_MOSI 11
  20. #define BMP_CS 10
  21. Adafruit_BMP280 bme(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);
  22.  
  23. /////////////////Configuração Sensor Anemometro e vazao//////////////
  24.  
  25. float vazaoagua;
  26. float vazaomedia;
  27. float velvento;
  28. float ventomedio;
  29. int Pulsoagua;
  30. int Pulsovento;
  31. int i = 0;
  32.  
  33. //////////////////////Configurações DHT 22///////////////////////////////
  34.  
  35. #define PINODHT 4     // qual pino usaremos para comunicação com DHT
  36. #define TIPODHT DHT22
  37. DHT dht(PINODHT, TIPODHT);//configuraçãoes do DHT
  38.  
  39.  
  40. ////////////////Configurações MLX90614/////////////////
  41.  
  42. Adafruit_MLX90614 mlx = Adafruit_MLX90614();
  43.  
  44. //////////////Configuração LDR////////////////////////
  45.  
  46. const int LDR = 0;
  47. int ValorLido = 0;
  48.  
  49. //////////////////////////////////////////////////
  50.  
  51.  
  52. void setup() {
  53.  
  54.   Serial.begin(9600);
  55.   pinMode(2, INPUT);
  56.   attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
  57.   attachInterrupt(1, decpulso, FALLING); //Configura o pino 3(Interrupção 1) para trabalhar como interrupção
  58.   dht.begin();//Inicializa o DHT
  59.   ValorLido = analogRead(LDR);
  60. }
  61.  
  62.  
  63.  
  64. void loop() {
  65.  
  66.   ////////////Vazao e anemometro////////////////////////////////
  67.  
  68.   Pulsoagua = 0; //Zera a variável para contar os giros por segundo
  69.   Pulsovento = 0; //Zera a variável para contar os giros por segundo
  70.   sei(); //Habilita interrupção
  71.   delay (100); //Aguarda 1 segundo
  72.   cli(); //Desabilita interrupção        // Volume in
  73.   vazaoagua = Pulsoagua * 5.5; //Converte para l/m
  74.   vazaomedia = vazaomedia + vazaoagua; //Soma a volume para o calculo da media       //
  75.   velvento = Pulsovento ; //Converte para RPM
  76.   ventomedio = ventomedio + velvento; //Soma a volume para o calculo da media
  77.   i++;
  78.   if (i == 60)
  79.   {
  80.     vazaomedia = vazaomedia / 60;
  81.     ventomedio = ventomedio / 60;
  82.  
  83.  i = 0;
  84.     ///////////LDR////////////////////////////////////////////////
  85.  
  86.     ValorLido = analogRead(LDR);
  87.  
  88.     ////////////////////Print///////////////////////////////////////
  89.  
  90.     Serial.print("Umidade");
  91.     Serial.println(dht.readHumidity());
  92.     Serial.print("Pressão");
  93.     Serial.println(bme.readPressure());
  94.     Serial.print("Temp MLX");
  95.     Serial.println(mlx.readObjectTempC());
  96.     Serial.print("LDR" );            
  97.     Serial.println(ValorLido);
  98.     Serial.print("vazao = ");
  99.     Serial.println(vazaomedia);
  100.     Serial.println("l/m ");
  101.     Serial.print("vento = ");
  102.     Serial.println(ventomedio);
  103.  
  104.   }
  105. }
  106. void incpulso ()  {
  107.   Pulsoagua++;
  108. }
  109. void decpulso ()  {
  110.   Pulsovento++; //Incrementa a variável de contagem dos pulsos  }
  111. }
  112.  
  113. ///////////////////////////////////////////////////////////////
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top