ESP32 von heltec mit Display

OP (Firma: Megabricks GmbH) #7344035
Lesenswert?

Hallo,

Ich habe ein ESP32 S3 von heltec gekauft und dieser hat ein Display mit eingebaut. Dieser hier: https://heltec.org/project/wifi-kit-32-v3/

Nur wie bekomme ich den Display eingebunden? ich hab es über die Adafruit_SSD1306 probiert mit wire und gfx doch es bleibt alles dunkel. ist das einfach nur falsch oder hab ich eine falsche I2C Adresse? es gibt keine fehlermeldung.

Evtl kann mir jemand helfen diesen Code so zu ergänzen das die Sachen die auf dem serial screen ausgegeben werden auch auf meinem Eingebauten Screen ausgegeben werden.

Ich habe bewusst meinen Code für die Screen einbindung raus genommen um keine verwirrung zu stiften. Danke

1
#include <WiFi.h>
2
#include <WiFiClient.h>
3
#include <WiFiServer.h>
4
#include <WebServer.h>
5
#include <FastLED.h>
6

7
const char* ssid = "";
8
const char* password = "";
9

10
#define LED_PIN 4
11
#define NUM_LEDS 50
12
#define BRIGHTNESS 100
13
#define LED_TYPE WS2813
14
#define COLOR_ORDER GRB
15
CRGB leds[NUM_LEDS];
16

17
WebServer server(80);
18

19
int led1, led2;
20

21
struct LEDPair {
22
String code;
23
int led1;
24
int led2;
25
};
26

27
LEDPair pairs[] = {
28
{"A001", 0, 1},
29
{"A002", 2, 3},
30
{"A003", 4, 5},
31
{"A004", 3, 8},
32
{"A005", 2, 30},
33
{"A006", 0, 49},
34
};
35

36
void setup() {
37
Serial.begin(115200);
38
WiFi.begin(ssid, password);
39

40
while (WiFi.status() != WL_CONNECTED) {
41
delay(1000);
42
Serial.println("Connecting to WiFi...");
43
}
44
Serial.println("Connected to WiFi");
45
Serial.println("IP address: ");
46
Serial.println(WiFi.localIP());
47

48
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
49
FastLED.setBrightness(BRIGHTNESS);
50

51
server.on("/led", handleLedRequest);
52
server.begin();
53
Serial.println("HTTP server started");
54
}
55

56
void loop() {
57
server.handleClient();
58

59
for (int i = 0; i < NUM_LEDS; i++) {
60
if (i == led1 || i == led2) {
61
leds[i] = CRGB::Red;
62
} else {
63
leds[i] = CRGB::Black;
64
}
65
}
66
FastLED.show();
67
delay(500);
68

69
for (int i = 0; i < NUM_LEDS; i++) {
70
if (i == led1 || i == led2) {
71
leds[i] = CRGB::Black;
72
} else {
73
leds[i] = CRGB::Black;
74
}
75
}
76
FastLED.show();
77
delay(500);
78
}
79

80
void handleLedRequest() {
81
if (server.hasArg("ledpair")) {
82
String ledpair = server.arg("ledpair");
83
for (int i = 0; i < sizeof(pairs)/sizeof(LEDPair); i++) {
84
if (ledpair == pairs[i].code) {
85
led1 = pairs[i].led1;
86
led2 = pairs[i].led2;
87
break;
88
}
89
}
90
if (led1 >= 0 && led2 >= 0) {
91
server.send(200, "text/plain", "LEDs are blinking");
92
} else {
93
server.send(400, "text/plain", "Invalid request");
94
}
95
} else {
96
server.send(400, "text/plain", "Invalid request");
97
}
98
}
#7344081
Lesenswert?

Und beachte bitte die Regeln

Wichtige Regeln - erst lesen, dann posten!

1
Groß- und Kleinschreibung verwenden
2
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Es macht wenig Spaß, immer im Fenster hin- und her zu scrollen. Danke. Formatierung (Einrückung) könnte auch besser sein.

Beitrag #7344092 wurde von einem Moderator gelöscht.
Gast #7344140
Lesenswert?

Ich habe

1
// Display
2
#include <U8g2lib.h>          // For text on the little on-chip OLED
3
#define OLED_CLOCK  15        // Pins for the OLED display
4
#define OLED_DATA   4         // https://github.com/olikraus/u8g2/wiki
5
#define OLED_RESET  16
6
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, OLED_RESET, OLED_CLOCK, OLED_DATA);

und

1
void setup() {
2
  // Setup OLED Display
3
  u8g2.begin();
4
}

Das sollte zumindest die Pins klären.

Gast #7344147
Lesenswert?

Thomas H. schrieb:

Nur wie bekomme ich den Display eingebunden? ich hab es über die Adafruit_SSD1306 probiert mit wire und gfx doch es bleibt alles dunkel.

Ich habe bewusst meinen Code für die Screen einbindung raus genommen um keine verwirrung zu stiften.

Muss man die Logik hinter der Aktion verstehen?

Beitrag #7344155 wurde von einem Moderator gelöscht.
Beitrag #7344167 wurde von einem Moderator gelöscht.
Beitrag #7344188 wurde von einem Moderator gelöscht.
Beitrag #7344198 wurde von einem Moderator gelöscht.
Beitrag #7344304 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren