diff --git a/README.md b/README.md new file mode 100644 index 0000000..43ecf43 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +Dies ist das einfache Beispielprojekt für das Steckergeschenk, was zum zum Zeitpunkt der Übergabe auch darauf lief. + +# Hardware +Das Geschenk besteht, von der Elektronik her betrachtet Aus einem ESP32 (Das konkrete Board ist ein _DOIT ESP32 DEVKIT V1_). Kurz gefasst ist der ESP32 ein Mikrocontroller welcher über 2,4GHz-WLAN und Bluetooth verfügt und im einfachsten Fall über das Arduino-Framework programmiert werden kann. Dieser steuert einen Streifen von 24 WS2812b RGB-LEDs. Diese laufen mit 5V, sind adressierbar und werden vom Mikrocontroller über den Pin **GPIO13** gesteuert. + +Weitere Infos: +- [Eine gute Übersicht über den ESP32](https://www.exploreembedded.com/wiki/Overview_of_ESP32_features._What_do_they_practically_mean%3F) +- [ESP-32 Dokumentation vom Hersteller (Espressif)](https://www.espressif.com/en/products/hardware/esp32/overview) +- [Detaillierte Infos zu den WS2812b](https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf) + +# Software +Was hier vorliegt ist ein [PlatformIO](https://platformio.org/)-Projekt. Dies ist eine Alternative zur Nutzung der (meiner Meinung nach) relativ unbequemen Arduino-IDE. +Wenn PlatformIO installiert ist (gibt es für Windows sowie alle möglichen Linux-Distros - Ich nutze es unter Arch) kann mit dem Befehl `platformio run --target upload` das Programm auf den angeschlossenen Mikrocontroller hochgeladen werden. Der Quellcode kann mit einem Editor/ einer IDE der Wahl bearbeitet werden. + +**Ich würde aufgrund des Stromverbauchs der LEDs ausdrücklich empfehlen das Netzteil mit anzuschließen, da sonst der Rechner die LEDs über USB mit Strom versorgt!** + +Der Hauptvorteil von PlatformIO ist die vollständige Steuerung über ein Kommandozeilenwerkzeug (`platformio`). So können zum Beispiel weitere Bibliotheken aus der [Registry](https://platformio.org/lib) mit dem Befehl `platformio lib install $LIBRARY_ID` installiert werden (`$LIBRARY_ID` ist _offensichtlich_ nur ein Platzhalter für die tatsächliche ID der Bibliothek). +Die verwendete Bibliothek für die LED-Ansteuerung ist [SmartLeds](https://platformio.org/lib/show/1740/SmartLeds). Diese ist auf die Hardware des ESP32 angepasst und nutzt diesen volkommen aus, so dass es keine Timingprobleme gibt. + +Beispiele für die Nutzung von WLAN und Bluetooth des ESP-32 im Rahmen des Arduino-Frameworks findet ihr [in diesem GitHub Repository](https://github.com/espressif/arduino-esp32/tree/master/libraries). + +Falls ihr noch Fragen habt, fragt mich ruhig. \ No newline at end of file