M5Stamp Pico Mate #4: OLED Display anschließen

In diesem Beitrag möchte ich dir zeigen, wie du ein OLED Display per I²C Schnittstelle am M5Stamp Pico Mate in der Arduino IDE programmierst.

M5Stamp Pico Mate - OLED Display programmieren
M5Stamp Pico Mate – OLED Display programmieren

Den Mikrocontroller M5Stamp Pico Mate habe ich dir bereits in den nachfolgend aufgelisteten Beiträgen vorgestellt und gezeigt wie man diesen Programmieren kann.

Benötigte Ressourcen für dieses Projekt

Für dieses Projekt benötige ich folgende Bauteile:

Anschluss des OLED Displays

Der Pico Mate wird mit einem kleinen Aufkleber ausgeliefert, auf welchem man die Pinbelegung ablesen kann. Dieses erleichtert einem den Anschluss von Sensoren / Aktoren über Breadboardkabel.

M5Stamp Pico Mate - Aufkleber mit Pinbelegung
M5Stamp Pico Mate – Aufkleber mit Pinbelegung
OLED DisplayM5Stamp Pico Mate
GNDGND
VCC5V
SCLSCL, G22
SDASDA, G21

In dem nachfolgenden Beispiel habe ich zusätzlich einen 12×12 mm Printtaster in die Schaltung integriert welcher über GND & G26 anschlossen wurde

M5Stamp Pico Mate - OLED Display & Taster
M5Stamp Pico Mate – OLED Display & Taster

Programmieren des Displays in der Arduino IDE am M5Stamp Pico Mate

Den M5Stamp Pico Mate kannst du recht einfach über die Arduino IDE programmieren.

Du benötigst jedoch zum ansteuern des Displays eine Bibliothek welche du vom GitHub Repository stblassitude / Adafruit_SSD1306_Wemos_OLED herunterladen kannst. Wie du eine Bibliothek in der Arduino IDE installierst, habe ich dir bereits im Beitrag Arduino IDE, Einbinden einer Bibliothek erläutert.

//Bibliotheken für das ansteuern des OLED Displays
//per I²C Schnittstelle

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

//Taster am GP26 angeschlossen
#define taster 26

//Zähler für den Counter auf dem Display
int counter = 0;

void setup()   {
  //Taster am internen PullUp Widerstand
  pinMode(taster, INPUT_PULLUP);

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.display();
  delay(2000);
  display.clearDisplay();
}


void loop() {
  //So lange der Taster gedrückt wird, mache...
  if (digitalRead(taster) == LOW) {
    counter++;
    
    display.setTextSize(2);
    display.setTextColor(WHITE);
    //Cursor an der Position X=10 und Y=10 setzen
    display.setCursor(10, 10);
    display.clearDisplay();
    //Umwandeln des Wertes der Zählervariable in eine Zeichenkette
    display.println(String(counter,DEC));
    //Anzeigen des Wertes auf dem Display
    display.display();
    delay(1);
  }
}

Hier nun ein kleines Video wie ein Zähler auf dem Display incrementiert wird.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.