Ultizin

Agrinho | Código

Aug 8th, 2024
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. // Bibliotecas
  2. #include <Wire.h>
  3. #include <Adafruit_GFX.h>
  4. #include <Adafruit_SSD1306.h>
  5.  
  6. // Variaveis - Tela
  7. int VAR_screenWidth = 128;
  8. int VAR_screenHeight = 64;
  9.  
  10. // Variaveis - Sensor
  11. int VAR_sensorPin = A0;
  12. int VAR_minMoisture = 30;
  13. int VAR_valueAnalog;
  14.  
  15. Adafruit_SSD1306 display(VAR_screenWidth, VAR_screenHeight, &Wire, -1);
  16.  
  17.  
  18. void setup() {
  19. Serial.begin(115200);
  20.  
  21. if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
  22. Serial.println(F("Falha na alocação SSD1306"));
  23. for (;;);
  24.  
  25. }
  26.  
  27. delay(2000);
  28. display.clearDisplay();
  29.  
  30. /* Base de Código de Pixeis
  31. display.drawPixel(0, 0, SSD1306_WHITE);
  32. display.drawPixel(0, 0, BLACK);
  33. */
  34.  
  35. // Texto "Umidade:"
  36. display.setTextSize(1);
  37. display.setTextColor(SSD1306_WHITE);
  38. display.setCursor(15,20);
  39. display.print("Umidade:");
  40.  
  41. // Barra Lateral Direita
  42. display.drawLine(110, 0, 110, 63, SSD1306_WHITE);
  43. display.fillTriangle(110, 0, 110, 13, 127, 0, SSD1306_WHITE);
  44. display.fillTriangle(110, 27, 110, 41, 127, 14, SSD1306_WHITE);
  45. display.fillTriangle(127, 14, 127, 28, 110, 41, SSD1306_WHITE);
  46. display.fillTriangle(110, 55, 110, 69, 127, 42, SSD1306_WHITE);
  47. display.fillTriangle(127, 42, 127, 56, 110, 69, SSD1306_WHITE);
  48.  
  49. /*Desenho Triangulo fora do if
  50. display.fillTriangle(77, 27, 64, 47, 90, 47, SSD1306_WHITE);
  51.  
  52. display.fillRect(76, 33, 3, 7, BLACK);
  53. display.drawLine(77, 40, 77, 41, BLACK);
  54. display.fillRect(76, 43, 3, 3, BLACK);
  55. */
  56.  
  57. display.display();
  58.  
  59. }
  60.  
  61. void loop() {
  62.  
  63. VAR_valueAnalog = analogRead(VAR_sensorPin);
  64. int VAR_soilMoisture = map(VAR_valueAnalog, 1023, 0, 0, 100);
  65.  
  66. // Texto do Valor da Umidade
  67. display.setTextSize(1);
  68. display.setTextColor(SSD1306_WHITE);
  69. display.setCursor(20,30);
  70. display.print(VAR_soilMoisture);
  71. display.print("%");
  72.  
  73. // Verificador de Umidade
  74. if (VAR_soilMoisture <= VAR_minMoisture) {
  75.  
  76. display.fillTriangle(77, 27, 64, 47, 90, 47, SSD1306_WHITE);
  77. display.fillRect(76, 33, 3, 7, BLACK);
  78. display.drawLine(77, 40, 77, 41, BLACK);
  79. display.fillRect(76, 43, 3, 3, BLACK);
  80.  
  81. display.setCursor(20, 53);
  82. display.print("Umidade Baixa");
  83.  
  84. display.display();
  85. delay(500);
  86. display.invertDisplay(true);
  87. delay(500);
  88. display.invertDisplay(false);
  89. }
  90.  
  91. else {
  92.  
  93. display.clearDisplay();
  94. display.setTextSize(1);
  95. display.setTextColor(SSD1306_WHITE);
  96. display.setCursor(15, 20);
  97. display.print("Umidade:");
  98. display.setCursor(20, 30);
  99. display.print(VAR_soilMoisture);
  100. display.print("%");
  101.  
  102. display.drawLine(110, 0, 110, 63, SSD1306_WHITE);
  103. display.fillTriangle(110, 0, 110, 13, 127, 0, SSD1306_WHITE);
  104. display.fillTriangle(110, 27, 110, 41, 127, 14, SSD1306_WHITE);
  105. display.fillTriangle(127, 14, 127, 28, 110, 41, SSD1306_WHITE);
  106. display.fillTriangle(110, 55, 110, 69, 127, 42, SSD1306_WHITE);
  107. display.fillTriangle(127, 42, 127, 56, 110, 69, SSD1306_WHITE);
  108.  
  109. display.display();
  110.  
  111. }
  112.  
  113. delay(2000);
  114.  
  115. }
Advertisement
Add Comment
Please, Sign In to add comment