Skip to content

Commit eda8d8f

Browse files
committed
add OLED display
1 parent 98dcfe7 commit eda8d8f

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

platformio.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ lib_deps =
3434
juerd/ESP-WiFiSettings @ ^3.6.0
3535
plerup/EspSoftwareSerial @ ^6.11.2
3636
tobiasschuerg/MH-Z CO2 Sensors @ ^1.2.0
37+
adafruit/Adafruit SSD1306 @ ^2.4.3

src/config.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#define MH_Z19_RX GPIO_NUM_3
22
#define MH_Z19_TX GPIO_NUM_1
33

4+
#define SCREEN_WIDTH 128 // OLED display width, in pixels
5+
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
6+
47
#define PASSWORD "waaatering"

src/main.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
//#include <Wire.h>
2+
#include <Wire.h>
23
#include <WiFi.h>
34
#include <ArduinoOTA.h>
45
#include <AsyncMqttClient.h>
@@ -7,6 +8,9 @@
78
#include <WiFiSettings.h>
89
#include <SoftwareSerial.h>
910
#include <MHZ.h>
11+
#include <Adafruit_GFX.h>
12+
#include <Adafruit_SSD1306.h>
13+
#include <Adafruit_I2CDevice.h>
1014

1115
#include "config.h"
1216

@@ -29,6 +33,7 @@ TimerHandle_t mqttReconnectTimer;
2933
TimerHandle_t wifiReconnectTimer;
3034

3135
MHZ co2(MH_Z19_RX, MH_Z19_TX, MHZ14A);
36+
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire);
3237

3338
// states
3439
bool isUpdating = false;
@@ -275,6 +280,22 @@ void setupTimers()
275280
wifiReconnectTimer = xTimerCreate("wifiTimer", pdMS_TO_TICKS(2000), pdFALSE, (void *)1, reinterpret_cast<TimerCallbackFunction_t>(connectToWifi));
276281
}
277282

283+
void setupDisplay()
284+
{
285+
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
286+
287+
delay(1000);
288+
289+
display.clearDisplay();
290+
291+
// demo output
292+
display.setTextColor(WHITE);
293+
display.setTextSize(1);
294+
display.setCursor(0, 0);
295+
display.print("CO2 Meter");
296+
display.display();
297+
}
298+
278299
void setupOTA()
279300
{
280301
ArduinoOTA
@@ -418,6 +439,7 @@ void setup()
418439
}
419440

420441
setupOTA();
442+
setupDisplay();
421443

422444
detect_wakeup_reason();
423445
}

0 commit comments

Comments
 (0)