Inhaltsverzeichnis:
- Schritt 1: Was ist BiJin ToKei?
- Schritt 2: Warum ESP32?
- Schritt 3: Vorbereitung
- Schritt 4: Design
- Schritt 5: Herunterladen, Kompilieren, Flashen und Ausführen des Programms
- Schritt 6: Lötarbeiten
- Schritt 7: Überprüfen und platzieren Sie das LCD auf dem Ständer
- Schritt 8: Glückliche Zeit
- Schritt 9: Was kommt als nächstes?
Video: ESP32 Fotouhr - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Diese Anleitungen zeigen, wie man ESP32 und LCD verwendet, um eine Fotouhr zu machen. Auf Japanisch heißt es BiJin ToKei(美人時計).
Schritt 1: Was ist BiJin ToKei?
BiJin ToKei(美人時計)ab 2009 finden sie verschiedene Schönheiten, die jede Minute eine Zeittafel berichten. BiJin ToKei bietet eine Webanwendung und eine mobile App-Version. Nach diesen Jahren finden Sie jetzt viele Varianten im Web.
Ref.:
www.bijint.com
ja.wikipedia.org/wiki/BIJIN%26Co.
itunes.apple.com/us/app/bijin-tokei-plus/i…
deadoralive.wikia.com/wiki/Bijin_Tokei
twitter.com/search?q=%23bijintokei
Schritt 2: Warum ESP32?
BiJin ToKei bietet ursprünglich eine Webanwendung und eine mobile App-Version. Es ist eine schöne Uhr, aber es ist sehr schwer, einen Desktop-Bildschirm oder ein Mobiltelefon auf Dauer als Uhr zu verwenden.
Wie wäre es mit ESP32 und einem winzigen LCD, es kostet nur etwa 10 USD, dieser Preis ist es wert, es zu schaffen.
Schritt 3: Vorbereitung
ESP32-Karte
Jedes ESP32-Entwicklungsboard mit SPI-Breakout-Pins sollte in Ordnung sein.
LCD
ESP32_TFT_Library kann ILI9341, ILI9488, ST7789V und ST7735 unterstützen. Diesmal verwende ich ein 2,4 ST7789V LCD, Modellnummer JLX240-00302-BN. Dieses Modell ist nur für SPI ausgelegt, hat also nur 10 Pins (eigentlich 9 Pins). Es kann die Lötarbeit erleichtern.
Update: Ich habe auch ein 3,2-Zoll-LCD ausprobiert, Modellnummer JLX320-00202
Ausstellungsständer
Sie können jedes vorhandene Altmaterial als einfachen Ständer wiederverwenden, z. B. ein mobiler Ständer. Ich habe einen kaputten Namensschildhalter in der Hand, es ist perfekt, diesen Job zu machen!
Andere
Ein 10 Ohm Widerstand und etwas beschichteter Kupferdraht.
Schritt 4: Design
Eine Fotouhr erfordert die Fähigkeit, Fotos anzuzeigen. Das Foto auf www.bijint.com ist im JPG-Format, daher benötige ich eine JPG-Dekodierungs- und Anzeigebibliothek. Ich suche vor langer Zeit nach der zugehörigen Bibliothek, bis ESP32 populär wurde.
ESP32 ist der erste Hobby-Chip, der eine vollständige Lösung für die Anzeige von JPG-Bildern bietet (dank der Bemühungen von loboris). Davor kann ich ein Video in Youtube finden, das behauptet, dass-j.webp
Dieses Projekt beginnt also mit der ESP32_TFT_library von Loboris.
Hier der Programmablauf:
- WLAN verbinden
- Holen Sie sich die aktuelle Uhrzeit mit dem NTP-Protokoll
- Verknüpfen Sie die Stunden- und Minutenzeichenfolge, um die Bild-URL der aktuellen Zeit zu bilden, und rufen Sie sie dann jede Minute von www.bijint.com ab
- Speichern Sie die JPG-Bilddatei in SPIFFS
- jpg-Datei anzeigen
Update: Der neueste Code unterstützt auch die direkte Dekodierung von JPG-HTTP-Antworten an LCD, kein Schreiben in SPIFFS als Cache erforderlich.
Ausführung bezüglich Details:
- WiFi und Internetverbindung sind nicht 100% zuverlässig und ich möchte nicht, dass die Uhr zu einer falschen Zeit einfriert. Wenn also ein Fehler auftritt (z.
- Jede Minute hat ein einziges Zeitbild bedeutet 1440 Bilder pro Tag, der eingebaute ESP32-Blitz kann nicht Hunderte MB-Bilder aufnehmen. Die Uhr kann also nicht alle Bilder vorab abrufen, aber sie kann jedes Mal das Bild abrufen, anzeigen und dann bereinigen.
- Flash wird durch späteres Überschreiben leicht abgenutzt, sodass das Programm die Cache-Dateien rotiert, um zu vermeiden, dass jede Minute an dieselbe Stelle geschrieben wird.
- Die Bildgröße ist größer als die LCD-Auflösung, daher muss das Bild zur Anzeige auf die halbe Größe verkleinert werden.
- Die in ESP-IDF integrierte Zeitzonenanpassung funktioniert nicht wie erwartet, daher muss die Zeitzone mit benutzerdefiniertem Code angepasst werden.
- Die Download-Dateizeit erfordert 10-50 Sekunden (abhängig von Dateigröße und Netzwerk), daher habe ich 20 Sekunden (konfigurierbar) von der Echtzeit entfernt, um diese Verzögerung zu überwinden.
Schritt 5: Herunterladen, Kompilieren, Flashen und Ausführen des Programms
ESP-IDF einrichten (falls noch nicht):
- Windows-Setup-Anleitung
- Mac OS-Setup-Anleitung
- Linux-Setup-Anleitung
Laden Sie den Quellcode hier herunter:
github.com/moononournation/ESP32_BiJin_ToK…
Aufbau:
Menükonfiguration machen
-
Serielle Schnittstelle konfigurieren
- wählen Sie "Serielle Blinker-Konfiguration"
- Wählen Sie "Standard serieller Port"
- Füllen Sie den seriellen Port des ESP32-Boards, z. B. COM6 unter Windows; /dev/cu. SLAB_USBtoUART unter macOS
-
WLAN konfigurieren
- wählen Sie "BiJin Tokei-Konfiguration"
- Füllen Sie Ihre eigene "WiFi-SSID" und Ihr "WiFi-Passwort" aus
Anpassung
"partitions.csv" geändert, Speichergröße anpassen. (maximal 0x100000 für 2M und 0x300000 für 4M)
Speicher, Daten, Spiffs, 0x100000, 0xF0000, "main/bijin_tokei.c" geändert
Definieren Sie, wie viele Cache-Dateien verwendet werden, abhängig von der SPIFFS-Speichergröße. Oder auf 0 setzen, um die JPG-HTTP-Antwort im laufenden Betrieb direkt zu decodieren:
#define CACHE_COUNT 0
Wählen Sie eine der TOKEI LIST-URLs aus und entkommentieren Sie sie oder geben Sie Ihre eigene URL ein:
statisches const char *REQUEST_FORMAT =
Kompilieren, flashen und starten Sie das Programm:
Blitzmonitor machen
Schritt 6: Lötarbeiten
Kleben Sie die ESP32-Platine auf die LCD-Rückseite und löten Sie mit beschichtetem Kupferdraht.
Die Verbindung ist sehr einfach, aber die LCD-Pins sind normalerweise sehr dünn, passen Sie auf, dass sie nicht ineinandergreifen.
Hier die Verbindungszusammenfassung:
ESP32 GND -> LCD -ve
-> LCD LED -ve ESP32 3v3 -> LCD +ve -> 10 Ohm Widerstand -> LCD LED +ve ESP32 GPIO16 -> LCD RS (DC) ESP32 GPIO23 -> LCD SDA (SPI MOSI) ESP32 GPIO05 -> LCD CS ESP32 GPIO17 -> LCD RST ESP32 GPIO18 -> LCD CL (SPI CLK)
Tipps: Stromleitungen erfordern dickere Drähte, um den Stromfluss zu erfüllen, aber es erfordert mehr Aufwand, die Position zu fixieren; andere Signalleitungen können dünnere Drähte verwenden und die Lötarbeit erleichtern.
Schritt 7: Überprüfen und platzieren Sie das LCD auf dem Ständer
Überprüfen Sie den korrekten Programmablauf und befestigen Sie ihn anschließend am Ständer.
Schritt 8: Glückliche Zeit
Es ist Zeit, es auf Ihrem Desktop zu platzieren und Ihrem Freund zu zeigen, was Sie getan haben!
Schritt 9: Was kommt als nächstes?
- Probieren Sie andere BiJin ToKei-Varianten aus
- Ausgewählte Variationen zufällig drehen
- Passen Sie Ihre eigenen Fotos an
- Anzeigezeit in großer Schriftgröße, falls das Bild nicht geladen werden konnte
- Versuchen Sie es mit einem größeren Bildschirm, z. ili9488 (320 x 480)
Empfohlen:
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 9 Schritte
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um die Zeit auf dem LCD anzuzeigen
M5STACK So zeigen Sie Temperatur, Feuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 6 Schritte
M5STACK So zeigen Sie Temperatur, Luftfeuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um Temperatur, Luftfeuchtigkeit und Druck mit dem ENV-Sensor (DHT12, BMP280, BMM150)
Google-Suche auf ESP32: 7 Schritte
Google-Suche auf ESP32: In diesem Tutorial zeige ich Ihnen, wie Sie Google-Suchen mit einem ESP32 durchführen. Das Ergebnis selbst ist nicht sehr nützlich, da die Suchergebnisse im seriellen Monitor des Computers angezeigt werden, aber es ist eine coole Sache, die Leistung von ESP32 zu zeigen. Der Code kann
Google Fotouhr: 7 Schritte (mit Bildern)
Google Photo Clock: Diese Anleitung zeigt, wie man mit einem ESP32 und einem LCD eine Digitaluhr mit zufälliger Fotoanzeige im Hintergrund jede Minute erstellt. Die Fotos stammen von Ihrem freigegebenen Google-Fotoalbum, geben Sie einfach den Freigabelink ein ESP32 erledigt die Aufgabe;>
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu -- ESP32-Anfängerleitfaden: 5 Schritte
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu || ESP32-Anfängerhandbuch: In diesem Projekt zeige ich Ihnen, wie einfach / schwierig es ist, einen ESP32 mit der Arduino IDE zu verwenden, um jedem Elektronikprojekt eine WiFi-Steuerung hinzuzufügen. Unterwegs zeige ich Ihnen, wie Sie mit dem ESP32 einen einfachen WLAN-Server erstellen und wie Sie