ESP8266 mit OLED Display?
Ich habe ein ESP8266 Developer Board, und möchte damit ein OLED-Display steuern (.94", 128x64px).
Ich finde nur Tutorials für Displays mit einem I2C-Protokoll, da hat das Display die Pins GND, VCC, SCL und SDA. Ich habe die Pins GND, VDD, SCK und SDA.
Laut meiner Recherche ist das ein SPI-Protokoll. Wenn ich dafür nach Tutorials suche, finde ich nur welche für Displays mit 6 Pins.
Mein Code (von einem I2C Tutorial) benutzt die Adafruit SDD1306 Library, keine Ahnung ob die nur mit I2C oder auch mit ISP funktioniert.
Wenn ich mit einem I2C Scanner die Screen Address suche, findet es das Display nicht.
Meine Schaltung:
OLED GND --> Chip GND
OLED VDD --> Chip 3V3
OLED SCK --> Digital IO 1
OLED SDA --> Digital IO 2
Kann ich einfach die ISP Adresse in den Code einfügen, und wenn ja wie finde ich diese? Oder brauch ich ganz anderen Code / Schaltung?
Code:
#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 I2C
#define OLED_RESET -1 // Reset pin
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(9600);
display.clearDisplay(); //Clear
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,28);
display.println("Hello world!");
display.display();
delay(2000);
}
void loop() {
delay(1000);
}
Display (Ich weiß dass die Schutzfolie noch drauf ist):
2 Antworten
SCK wird zwar eher für SPI benutzt aber alles andere spricht für I2C. Aber diese „Verwechslung“ der anderen Clock Schreibweise findet man öfters.
Vor allem ein SDA würde man bei SPI aber nicht finden. Da hätte man auch noch andere Pins wie CS.
Also ich würde fest davon ausgehen das es ein I2C Gerät ist.
Ich würde mal weiter mit dem Scanner probieren die Adresse herauszufinden.
Als Pins hast du auch D1 und D2 benutzt? GPIO 1/2 wären ja andere Pins
Hallo,
deiner bekommt nicht die spannung, die er braucht..
auf der rückseite ist ein Spannungsregler aufgelötet (Q1)..kannst du davon versuchen die Zahlen abzulesen, um sicher zugehen dass dieser auf 3,3V schaltet?
Ich vermute mal:
VDD musst du auf 5V anklemmen..
dann sollte es funktionieren.
Ich kann nicht direkt an die GPIO Pins, da das Devboard diese eben an die Direct I/O weiterleitet. Der Scanner findet es imemrnoch nicht.