Advertisement
TDamiao

MIniEstaçãoMeteriologica

Sep 27th, 2018
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1.  
  2. // Carrega bibliotecas graficas e sensores
  3. #include <Adafruit_GFX.h>
  4. #include <Adafruit_PCD8544.h>
  5. #include <DHT.h>
  6. #include <Adafruit_BMP085.h>
  7. #include <Wire.h>
  8. #include <SPI.h>
  9.  
  10. // Pinagem ligacao display Nokia 5110
  11. // pin 8 - Serial clock out (SCLK)
  12. // pin 9 - Serial data out (DIN)
  13. // pin 10 - Data/Command select (D/C)
  14. // pin 11 - LCD chip select (CS/CE)
  15. // pin 12 - LCD reset (RST)
  16.  
  17. // Inicializa o display nos pinos acima
  18. Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12);
  19.  
  20. // Define pino e tipo do sensor DHT
  21. DHT dht(3, DHT22);
  22.  
  23. Adafruit_BMP085 bmp180;
  24.  
  25. void setup()
  26. {
  27. Serial.begin(9600);
  28. // Informacoes iniciais no display
  29. display.begin();
  30. // Ajusta o contraste do display
  31. display.setContrast(48);
  32. // Apaga o buffer e o display
  33. display.clearDisplay();
  34. // Define tamanho do texto e cor
  35. display.setTextSize(1);
  36. display.setTextColor(BLACK);
  37.  
  38. // Retangulo temperatura
  39. display.drawRoundRect(0,0, 44,24, 3, 2);
  40. // Texto inicial temperatura
  41. display.setCursor(11,3); // Seta a posi��o do cursor
  42. display.println("TEMP");
  43. display.setCursor(5,14);
  44. display.println("----");
  45. display.setCursor(29,14);
  46. display.drawCircle(31, 15, 1,1);
  47. display.println(" C");
  48.  
  49. // Retangulo umidade
  50. display.drawRoundRect(45,0, 39 ,24, 3, 2);
  51. // Texto inicial Umidade
  52. display.setCursor(52,3);
  53. display.println("UMID");
  54. display.setCursor(50,14);
  55. display.println("----");
  56. display.setCursor(75,14);
  57. display.println("%");
  58.  
  59. // Retangulo pressao
  60. display.drawRoundRect(0,25, 84 ,23, 3, 2);
  61. // Texto inicial Pressao
  62. display.setCursor(22,28);
  63. display.println("PRESSAO");
  64. display.setCursor(55,38);
  65. display.println("hPa");
  66. display.setCursor(11,38);
  67. display.println("------");
  68. display.display();
  69.  
  70. delay(1000);
  71. // Inicializa o sensor BMP180
  72. if (!bmp180.begin())
  73. {
  74. Serial.println("Sensor BMP180 nao encontrado !!");
  75. while (1) {}
  76. }
  77. // Inicializa o DHT22
  78. dht.begin();
  79. }
  80.  
  81. void loop()
  82. {
  83. // Leitura temperatura, umidade e pressao
  84. float h = dht.readHumidity();
  85. float t = dht.readTemperature();
  86. float p = bmp180.readPressure()/100.0;
  87.  
  88. // Atualiza valor da temperatura
  89. display.fillRect(4,13, 25 , 10, 0);
  90. display.setCursor(4,14);
  91. display.println(t,1);
  92.  
  93. // Atualiza valor da umidade
  94. display.fillRect(50,13, 23 , 10, 0);
  95. display.setCursor(50,14);
  96. display.println(h,1);
  97.  
  98. // Atualiza valor da pressao
  99. display.fillRect(4, 37, 46 , 10, 0);
  100. display.setCursor(11,38);
  101. display.println(p,2);
  102.  
  103. display.display();
  104. // Aguarda 5 segundos para efetuar nova leitura
  105. delay(5000);
  106. }
  107.  
  108.  
  109. ////////////////////////////// https://imgur.com/a/6otG4rX
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement