2
respostas

Outro modelo de display

2 respostas

Caso alguém tenha a mesma dificuldade, o meu utiliza o protocolo "spi", e acabou dando certo com a lógica abaixo:

#include <DHT.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels


// Declaration for SSD1306 display connected using software SPI (default case):
#define OLED_MOSI  D7
#define OLED_CLK   D5
#define OLED_DC    D2
#define OLED_CS    D8
#define OLED_RESET D1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT,
  OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);


#define DHTPIN D3
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int umidade;
int temperatura;


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


  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if(!display.begin(SSD1306_SWITCHCAPVCC)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }
}

void loop() {
  medirTemperaturaUmidade();
  mostrarMensagemNoDisplay();
  //delay(2000);

}

void medirTemperaturaUmidade() {
  umidade = dht.readHumidity();
  temperatura = dht.readTemperature(false);
  delay(2000);
}


void mostrarMensagemNoDisplay() {
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.print("Temperatura");
  display.setTextSize(5);
  display.setCursor(20, 20);
  display.print(temperatura);
  display.setTextSize(2);
  display.print("C");
  display.display();
  delay(5000);

  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.print("Umidade");
  display.setTextSize(5);
  display.setCursor(20, 20);
  display.print(umidade);
  display.setTextSize(2);
  display.print("%");
  display.display();
  delay(3000);
}

Boa tarde Eric, tudo certo?

Muito obrigado por compartilhar no fórum o que você aprendeu e desenvolveu! Pode parecer desconfortável, mas quebrar a cabeça procurando por uma solução, utilizar componentes com algumas variações e compartilhar o que você descobriu são ótimas formas de fixar o conhecimento.

Continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software