Links die mit dem Einkaufskorb-Symbol versehen sind, verweisen auf  die Webseiten meiner Partner. Weitere Infos!

Explizierter Hinweis für Amazon-Links: Als Amazon-Partner verdiene ich an qualifizierten Verkäufen!

ESP8266 Projekte – Digitales Klingelschild

Digitales Klingelschild aus nur zwei Komponenten? Hier findest du die Bauanleitung zu diesem ESP8266 Projekte. Und passend dazu gibt selbstverständlich auch wieder ein Video auf meinem YouTube-Kanal.

Inhalt

Hinweis (Disclaimer)

Die in meinen Beiträgen gezeigten Inhalte dienen ausschließlich zu Informations- und Unterhaltungszwecken. Es liegt in der Verantwortung der Leser, jegliche Nachbauten, die auf meinen Inhalten basieren, auf eigene Gefahr durchzuführen

Bauteile

Folgende Bauteile werden für diese Projekt benötig:

  • Ein ESP32 oder ESP8266
  • OLED Display

Aufbau

Die Anschlüsse sind folgermaßen auszuführen:

OLED-Pin  →  ESP8266 Pin

VCC  →  3.3V
GND  →  GND
SCL  →  D1 (GPIO5)
SDA  →  D2 (GPIO4)

ESP8266 Projekte - Klingelschild

Codieren lernen mit Chat-GPT

Den nachfolgenden Code kann man ohne Probleme mittels eine KI wie ChatGPT oder DeepSeek erstellen. Dabei gibt es zwei Vorteile:

  • Erfahrene Programmierer ersparen sich eine Menge Zeit
  • Anfänger können mit einer KI das Programmieren lernen
				
					#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET    -1  // Reset-Pin nicht verwendet
#define SCREEN_ADDRESS 0x3C  // I2C-Adresse des Displays

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

String text = "Hallo, ESP8266!";  // Text für die Laufschrift
int textX = SCREEN_WIDTH;
int textSpeed = 2;  // Geschwindigkeit der Laufschrift (je höher, desto schneller)
int textSize = 5;  // Schriftgröße anpassbar

void setup() {
    WiFi.mode(WIFI_OFF); // WLAN-Funktion deaktivieren
    WiFi.forceSleepBegin(); // WLAN vollständig abschalten
    Wire.begin();
    display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
    display.clearDisplay();
    display.setTextSize(textSize);
    display.setTextColor(SSD1306_WHITE);
    display.setTextWrap(false); // Sicherstellen, dass der Text nicht umgebrochen wird
    display.display(); // Sicherstellen, dass das Display am Anfang leer ist
}

void loop() {
    display.clearDisplay(); // Display vor jeder neuen Zeichnung löschen
    int textY = (SCREEN_HEIGHT - (8 * textSize)) / 2; // Vertikale Zentrierung
    display.setCursor(textX, textY);
    display.print(text);
    display.display();
    
    textX -= textSpeed;
    if (textX < -((int)text.length() * 6 * textSize)) { // Korrektur der Reset-Bedingung
        textX = SCREEN_WIDTH;
    }
    
    delay(50);  // Anpassung der Geschwindigkeit
}

				
			

Schreibe einen Kommentar

Stay Connected

More Updates