Wie findest Du diesen Artikel?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne 2

Loading…

In diesem Artikel zeige ich Dir, wie du ein 0,96 Zoll I2C OLED-Display mit dem Arduino UNO Board verwenden kannst.

Arduino 0.96 Display

Ein OLED-Display benötigt im Gegensatz zu einem LC-Display keine Hintergrundbeleuchtung, was zu einem sehr guten Kontrast in einer dunklen Umgebung führt. Außerdem verbraucht es deutlich weniger Strom, als andere Displays.

Wie auch bei vielen anderen Bauteilen, sind OLED-Displays in verschiedenen Größen, Formen sowie Ansteuerungen erhätlich.
Ich verwende in meinen Projekten gerne das OLED 0.96 Display I2C. Es nutzt das I2C communication protocol und erleichtert so die Ansteuerung.

In einem weiteren Artikel zeige ich dir, wie du sogar Bilder/Animationen auf deinem kleinen 0.96 Display anzeigen kannst.

Arduino Uno Oled Display 0.96 anschließen

5V – VCC
GND – GND
SCL – A5
SDA – A4

Sketch

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

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // eventuell 0x3D - benutze den I2C_Scanner
delay(1000);
}
void loop() {
display.clearDisplay();
display.setTextColor(WHITE);  
display.setTextSize(2);
display.setCursor(0, 0);
display.println("OLED 0.96");
display.setTextSize(1);
display.setCursor(0, 21);
display.println("Hello, world!");
display.setTextSize(2);
display.setCursor(0, 50);
display.println("Ardutronix");
display.display();
}


				
			

Nach dem Upload erhälst du folgendes:

OLED 0.96

				
					display.setTextSize(2);
display.setCursor(0, 0);
display.println("OLED 0.96");

				
			

Hello, world!

				
					display.setTextSize(1);
display.setCursor(0, 21);
display.println("Hello, world!");
				
			

Ardutronix

				
					display.setTextSize(2);
display.setCursor(0, 50);
display.println("Ardutronix");
display.display();
				
			

Display bleibt schwarz?

I2C-Scanner

Benutze den I2C-Scanner, um herauszufinden, unter welcher Adresse dein Display erreichbar ist. Meistens 0x3C.

Mehr Infos: I2c_scanner

				
					 // --------------------------------------
// i2c_scanner
//
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the Arduino.cc forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by Arduino.cc user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
//    https://www.gammon.com.au/forum/?id=10896
// Version 5, March 28, 2013
//    As version 4, but address scans now to 127.
//    A sensor seems to use address 120.
// Version 6, November 27, 2015.
//    Added waiting for the Leonardo serial communication.
// 
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//

#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknown error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}
				
			

Textgrößen

				
					display.setTextSize(1);  
				
			
				
					display.setTextSize(2);  
				
			

Just a pixel

				
					display.drawPixel(10, 10);
				
			

Linie zeichnen

				
					display.setTextSize(2);
display.setCursor(0, 20);
display.println("Ardutronix");
display.display();
display.drawLine(0, 37, 127, 37);
				
			

Rechteck zeichnen

				
					
display.drawRect(50, 20, 50, 20);
				
			

Kreis zeichnen

				
					
display.drawCircle(30, 30, 30);
				
			

0.96 OLED-Display meets ATTiny85

Ein 0.96 OLED Display lässt sich auch mit einem ATTiny85 verbinden.

Attiny mit einem Oled 0.96 verbinden

Arduino Countdown Display

Ein kleiner Countdown-Spaß für zwischendurch.
Mit einer Variablen-Deklaration und einer for-Schleife.

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

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
delay(1000);
}
void loop() {
for (int i=10; i >= 0; i--){
display.clearDisplay();
display.setTextColor(WHITE);  
display.setTextSize(2);
display.setCursor(10, 0);
display.println("Countdown");
display.setTextColor(WHITE);  
display.setTextSize(2);
display.setCursor(60, 32);
display.println(i);
delay(850);


if (i == 0) {

display.clearDisplay();
display.setTextColor(WHITE);  
display.setTextSize(2);
display.setCursor(5, 0);
display.println("You failed");
  }
display.display();
 }
 }


				
			

Bilder auf dem Oled 0.96 Display mit Arduino anzeigen

Oled 0.96 Bilder auf Display

In diesem Artikel zeige ich dir, wie du mit Arduino Bilder auf deinem OLED 0.96 Display anzeigen kannst.

Weitere Projekte

Kommentare

Schreibe einen Kommentar

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

kaffee-spenden

Einen Kaffee spendieren :)

Gefallen Dir meine Projekte? Für meine Motivation und Arbeit kannst Du mich gerne unterstützen, indem Du mir einen Kaffee oder ein Club-Mate spendest.

DANKE

Noch Fragen?

Im Ardutronix-Forum kannst Du deine Fragen stellen oder andere beantworten. Tausche dich mit anderen Makern aus.

Die Anmeldung und Nutzung ist kostenlos.

error: Der Inhalt ist urheberrechtlich geschützt!

Diese Website benutzt Cookies. Wenn Du die Website weiter nutzen willst, stimme der Verwendung von Cookies zu.