Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Vorhergehende ÜberarbeitungLetzte Überarbeitung | |||
— | workshop:rgb-leds-und-raspberry-pi [09.11.2020 01:03] – [Plan] ebrnd | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== RGB-LED-Strips mit Raspberry Pi ====== | ||
+ | ====== ENTWURF!! ====== | ||
+ | Dies ist ein Entwurf. Der genaue Inhalt und der Termin des Workshops stehen noch nicht fest. | ||
+ | Was hier steht, kann sich bis zum Workshop noch ändern. | ||
+ | Sobald Inhalt und Termin festgelegt ist, wird eine Einladung per Mailingliste erfolgen. | ||
+ | |||
+ | ====== RGB-LED-Strips mit Raspberry Pi ====== | ||
+ | |||
+ | Bei diesem Workshop möchte ich euch zeigen, wie ihr bunte Animationen und Effekte auf LED-Strips mit RGB-LEDs (WS2812, NeoPixel, APA106, ...) erzeugen könnt. | ||
+ | |||
+ | Die Idee dafür kam auf, weil ich gefragt wurde, " | ||
+ | |||
+ | ===== Motivation ===== | ||
+ | |||
+ | --> Bild von meiner LED-Lampe | ||
+ | |||
+ | Diese Lampe habe ich im Baumarkt gefunden, und sie schrie einfach danach, mit WS2812 Strips ausgerüstet zu werden. Original konnte sie nur Rot/ | ||
+ | * Uhrzeit | ||
+ | * Astronomische Daten, berechnet mit Hilfe der // | ||
+ | * Mondphase | ||
+ | * Sonnenstand mit Aufgangs-/ | ||
+ | * Wetterdaten vom Online-Dienst //wttr.in// | ||
+ | * Außentemperatur | ||
+ | * Regenwahrscheinlichkeit | ||
+ | |||
+ | ===== Mitmachen! ===== | ||
+ | |||
+ | Es sind für das Mitmachen und Anwenden des Gelernten lediglich Grundkenntnisse im Programmieren nötig (nicht unbedingt in Python). | ||
+ | |||
+ | Falls ihr euch schon mit anderen Systemen auskennt, z.B. Mikrocontroller-Programmierung in C, könnt ihr das Gelernte relativ einfach dorthin übertragen, | ||
+ | |||
+ | ===== Plan ===== | ||
+ | |||
+ | * Online-Meeting über BigBlueButton | ||
+ | * Screenshare vom Raspberry (//falls der Raspberry das nicht kann, kann ich das auch per HDMI-Capture machen//) | ||
+ | * Webcam zeigt Ergebnis der Programme auf dem LED-Strip | ||
+ | * Ich zeige die Programmierung Schritt für Schritt | ||
+ | * Jederzeit können Fragen gestellt werden | ||
+ | * Per Video-Chat oder Text-Chat im BigBlueButton | ||
+ | * Zwischen den Programmier-Schritten Erklärungen / Frage-Antwort-Session | ||
+ | * Evtl. ein paar Slides um Dinge zu veranschaulichen | ||
+ | * Wenn möglich werde ich meine Erklärungen aufzeichnen, | ||
+ | * Lokales Recording bei mir mit extra Mikrofon: | ||
+ | * Publikums-Wortmeldungen *nicht* aufzeichnen damit sich die Leute auch trauen " | ||
+ | |||
+ | ==== Was im Workshop vorkommt ==== | ||
+ | |||
+ | * Programmierung in Python | ||
+ | * Ihr braucht nur Grundkenntnisse in der Programmierung | ||
+ | * Ich werde das auf RaspiOS (ehem. Raspbian) vorinstallierte //Thonny// benutzen | ||
+ | * Den Strip ansteuern | ||
+ | * Blinken | ||
+ | * Farbverläufe | ||
+ | * Dinge mit Farben tun | ||
+ | * RGB vs. HSV Farbraum und Umrechnung | ||
+ | * Regenbogen-Farbverlauf | ||
+ | * rotierender Regenbogen | ||
+ | * additives Mischen von Farben | ||
+ | * Framebuffer mit Persistenz | ||
+ | * Bewegliche Objekte im Framebuffer | ||
+ | * Visualisierung von Daten | ||
+ | * Online-Wetterdienst | ||
+ | * Sensoren am Pi | ||
+ | * //Ich habe noch keine. Wenn wer eine gute Idee hat, kann ich den entspr. Sensor besorgen und sehen was sich damit machen lässt.// | ||
+ | * evtl. Audio-Spektrum | ||
+ | * //Nur wenn es am Raspberry einfach ist, ein Mikro anzuschließen UND es dafür eine einfache Library gibt. Im Rahmen des Workshop ist es wohl zu viel, eine FFT in Numpy zu programmieren - das können wir gern tun, aber braucht eine extra Session.// | ||
+ | * //Andere Ideen?// | ||
+ | |||
+ | ==== Was ihr braucht ==== | ||
+ | |||
+ | * Einen Raspberry Pi | ||
+ | * Eine SD-Karte mit RaspiOS drauf | ||
+ | * Internetzugang am Pi | ||
+ | * Ihr müsst vorher keine extra Tools installieren, | ||
+ | * //Noch zu klären: Geht das auch direkt auf dem Pi Zero, oder muss hier SSH o.ä. benutzt werden, weil die GUI zu langsam ist?// | ||
+ | * Einen LED-Streifen oder eine Platine mit mindestens 10 LEDs | ||
+ | * //Maximale Länge? Ab wievielen braucht eins eine extra Stromversorgung?// | ||
+ | * Grundkenntnisse im Programmieren | ||
+ | * Muss nicht in Python sein, jede Sprache ist okay | ||
+ | * Das nötige Python-Wissen wird im Rahmen des Workshops erklärt | ||
+ | * "Ich hab schonmal was mit Arduino gemacht" | ||
+ | * "Ich kann in BASIC den Bildschirm bunt machen" | ||
+ | * Eine Möglichkeit, | ||
+ | * //Evtl werden wir Kits anbieten, die alles Nötige beinhalten und ohne Löten angeschlossen werden können// | ||
+ | |||
+ | ==== Was im Workshop //nicht// vorkommt ==== | ||
+ | |||
+ | * Low-Level Ansteruerung, | ||
+ | * Wir werden die Library rpi-ws281x benutzen, die das für uns erledigt | ||
+ | * Löten, Platinen etc. | ||
+ | * Wir werden die LED-Streifen direkt an den Pi anschließen. | ||
+ | |||
+ | Wer Hilfe bei komplizierteren Projekten braucht, ist aber gerne bei unseren open (online) HackNights gesehen! |