Erkunden Sie die Fähigkeiten des espressif ESP32 mit einem Dali Clock-Projekt
Erkunden Sie die Möglichkeiten des Espressif ESP32 mit einem Dali-Clock-Projekt. Der ESP32—die Nachfolge von Espressif Systems zu dem unglaublich beliebten und leistungsstarken ESP8266-WiFi-Modul—ist noch leistungsfähiger als sein Vorgänger. Zu den Highlights gehören eine 32-Bit-Dual-Core-Verarbeitungseinheit, die mit bis zu 240 MHz arbeitet, und drahtlose Kommunikation über sowohl WiFi als auch Bluetooth. Er bietet außerdem kapazitive Berührungserkennung, I2S-Datenübertragung, eine Audio-Phasenregelungsschleife (PLL) und zwei Digital-zu-Analog-Wandler (DAC)-Ausgänge. Beachten Sie, dass diese Funktionen je nach ESP32-Variante variieren können.
Adafruit Huzzah23 (oben) mit DFRobot Firebeetle (unten)
Verwendung des ESP32 mit einer Composite-Video-Taktung
Für ein konkretes Beispiel, wie der ESP32 verwendet werden kann (das sowohl leicht umzusetzen als auch beeindruckend ist), betrachten Sie den Dali-Clock-Build von Marcio L. Teixeira. Dieses Setup nutzt einen älteren Fernseher mit Composite-Eingang und ein ESP-Entwicklungsboard, um eine morphende Onscreen-Uhr anzuzeigen. Wie jedes grenzenüberschreitende Projekt steht auch dieses auf den metaphorischen Schultern von Giganten, indem das Konzept der Dali-Uhr (1979 für den Xerox Alto entwickelt) mit einer scrollenden Sonnenuntergangsszene im Stil der Pop-Art der 1980er Jahre kombiniert wird. Auf technischer Ebene werden mehrere Hardware-Hacks/Hacker gewürdigt. Und natürlich wäre das Ganze ohne den ESP32 nicht möglich. Schließlich darf Salvador Dali selbst für seine ursprüngliche künstlerische Inspiration nicht unerwähnt bleiben. So beeindruckend diese Qualifikationen auch sind – um diese Uhr einzurichten, benötigen Sie lediglich Folgendes:
- ESP32-Entwicklungsboard
- RCA-Stecker
- (2) Verbindungsdrähte
- USB-Stromquelle
- Composite-fähiger Fernseher oder Monitor
Videoanzeige
Einrichtung: Code laden und verbinden
Um alles einzurichten, laden Sie den Code von GitHub herunter und übertragen Sie ihn mit der Arduino IDE auf den ESP32. Genauere Anweisungen zu diesem Prozess finden Sie hier. Sie müssen die Fähigkeit hinzufügen, mit ESP32-Boards in der Arduino IDE zu arbeiten, indem Sie die Einstellungen öffnen und „https://dl.espressif.com/dl/package_esp32_index.json“ im Abschnitt Additional Boards Manager URLs eingeben. Wählen Sie anschließend Ihr Entwicklungsboard (in diesem Fall Adafruit ESP32 Feather oder FireBeetle-ESP32) sowie den richtigen seriellen Port aus und laden Sie den Code auf Ihren ESP.
Videoanzeige
Verbinden Sie den GND-Pin des Adafruit Huzzah32-Boards mit dem Außenkontakt des RCA-Steckers. Verbinden Sie anschließend ein weiteres Kabel vom A1 DAC1-Pin mit dem mittleren Anschluss des Steckers, um es mit dem Composite-Videoeingang des Fernsehers einzuspeisen. Sie können Krokodilklemmen verwenden, um es mit einem standardmäßigen Stecker-zu-Stecker-Kabel zu verbinden, oder Schraubklemmenstecker nutzen, die eine deutlich sicherere Verbindung ermöglichen. Vermutlich könnte man auch ein RCA-Kabel aufschneiden, um an die inneren Leitungen zu gelangen. Stecken Sie den RCA-Stecker in das Fernsehgerät/den Monitor, verbinden Sie das Entwicklungsboard mit Strom, und stellen Sie den Fernseher auf die richtige Eingangsquelle ein. Voilà, Sie haben eine Dali-Uhr mit schmelzenden Ziffern auf dem Bildschirm, die zu diesem Zeitpunkt fast sicher die falsche Uhrzeit anzeigt. Um dies zu beheben, loggen Sie sich über ein Telefon oder einen Computer in das vom ESP32 erzeugte „ESP32 Dali Clock“-WLAN-Netzwerk ein, um die Einstellungen über eine Browseroberfläche zu konfigurieren. Nach der korrekten Einrichtung kann die Uhr über Ihr Heimnetzwerk aufgerufen werden. Die Uhrzeit kann automatisch über NTP/Zeitzone eingestellt werden, oder Sie können sie auch manuell eingeben, wenn Sie dies bevorzugen.
Geräteanschluss
Die Uhr kann auch auf die Anzeige des Datums anstelle der Zeit umgeschaltet werden. Verbinden Sie Drähte mit A5 4 und A4 36 auf dem Huzzah-Board und berühren Sie beide mit Ihrem Finger, um diese Funktion zu aktivieren (ich habe dies nicht auf dem FireBeetle ausprobiert, aber es sollte möglich sein). Es kann auch so eingestellt werden, dass die Farben im Laufe des Tages wechseln, was ziemlich viel Spaß macht.
Merkmale des verwendeten ESP32
Zusätzlich zu einer schnellen Verarbeitungsgeschwindigkeit (beeindruckend für Desktop-Standards vor nicht allzu langer Zeit) zeigt dieser Aufbau einige Funktionen des ESP32 eindrucksvoll auf:
- WiFi-Konnektivität – verwendet für Webschnittstelle und Zeiteinstellung
- RCA-Stecker
- I2C/DAC/PLL – ermöglicht Spannungsausgangspegel und präzises Timing, das für Farb-Kompositvideos erforderlich ist
- Kapazitive Berührungserkennung – erkennt Berührungen der Drähte, um vorübergehend zur Datumsanzeige zu wechseln
- Dual-Core-Prozessor – die Grafikverarbeitung und die Ausgabe des Videosignals werden von einem Kern verarbeitet, während WiFi/Webschnittstelle, die das Timing beeinträchtigen kann, auf dem zweiten Kern läuft
Grenzen verschieben
Laut diesem separaten Video, das beschreibt, wie ein ähnliches Setup wie dieser Aufbau funktioniert, gibt der ESP32 in seinen Spezifikationen keine Unterstützung für Composite-Video an. Allerdings macht die Tatsache, dass er eine digitale-zu-analoge Umwandlung (DAC) durchführen und das I2S-Protokoll verwenden kann, ihn sehr leistungsfähig und vielseitig einsetzbar für retro-futuristisches Video-Hacking. Weitere Informationen darüber, wie Marcio in der Lage war, dies auf Farbausgabe aufzurüsten, indem er die PLL-Fähigkeiten des ESP32 nutzte, finden Sie auf dieser GitHub-Seite. In meiner äußerst begrenzten Stichprobe mit jeweils einer Platine und einem einzigen Fernseher funktionierte die Anzeige mit dem Adafruit Huzzah32 recht gut. Der FireBeetle, mit entsprechend sortierten Ausgangspins, funktionierte ebenfalls, hatte jedoch einige gelegentliche Synchronisationsprobleme. Ein genauerer Blick auf die beiden Platinen: Der Huzzah32 verwendet ein ESP32-WROOM-32E WiFi-Modul, während die DFRobot-Platine ein ESP32-WROOM-32D verwendet. Während sie weitgehend gleichwertig sind, bietet das -32E einige Verbesserungen unter der Haube, einschließlich der Art und Weise, wie es mit dem Quarzoszillator interagiert, um die CPU-Taktung festzulegen. Es ist möglich, dass ein kleiner Unterschied im Design dazu führt, dass das -32D und das -32E auf meinem Fernseher unterschiedlich angezeigt werden. Das gesagt, für die überwiegende Mehrheit der Fälle, in denen die Grenzen des ESP nicht auf kreative Weise ausgereizt werden, sollte jedes Modul einen gegebenen Job recht gut erledigen. Wenn Sie jedoch eine Produktionsanwendung haben, die die volle Leistung des ESP-32 benötigt, ist es eine gute Erinnerung, genau zu überlegen, welchen ESP-32 Sie verwenden möchten.
Artikel Tags