Dekoleuchte mit Arduino Uno und PL9823?

Hallo alle miteinander!

Ich habe mich ganz schön in ein "kleines" Projekt reingesteigert und wollte mal sehen, was die etwas erfahreneren Leute davon halten.

Ich habe vor, eine Dekoleuchte zu bauen. Dazu will ich in ein Stück Korkeichröhre mit Epoxidharz einen "Fluss" bzw. "Wasserfall" gießen und diesen dann von hinten ausleuchten (in etwa so). Drumherum sollen dann noch ein paar Details leuchten. Ich denke, das sollte euch erstmal in etwa ein Bild davon geben.

Bezüglich der Funktion sieht mein Plan so aus: - über einen einfachen Schalter schalte ich die Leuchte ein bzw. aus - mit dem Smartphone kann ich die Farbe der LEDs ändern oder gespeicherte Programme starten - das favorisierte Farbschema kann gespeichert werden und wird beim nächsten Einschalten wieder gestartet

Man könnte da jetzt natürlich einfach einen fertigen LED Streifen hinterklatschen, aber das reicht mir anscheinend nicht. Könnte damit zusammenhängen, dass ich mal Elektroniker gelernt habe. Mit Programmieren hab ich seit meiner Ausbildung zwar nie wieder was zu tun gehabt, aber das wäre ja gelacht.

Nach reichlich googlen bin ich zu dem Entschluss gekommen, das Ganze mit einem Arduino zu realisieren und jetzt bin ich hier.

Ich möchte mir also ein Arduino Uno zulegen und frage mich, ob ihr mir da evtl. gute Bücher oder Starterkits empfehlen könntet . Um mich langsam an die Realisierung dieses Projekts heranzuführen, wäre es natürlich ideal, wenn diese sich auf Übungen rund um LEDs konzentrieren.

Bei der Wahl der LEDs habe ich mich für die PL9823 entschieden, da diese leicht addressierbar sein sollen und die bedrahtete Bauform für mein Projekt besser geeignet ist (zumindest nach meinen Vorstellungen). Momentan rechne ich mit ca. 30 Stück.

Um das Ganze mit dem Smartphone zu steuern, gibt's ein HC-06 Bluetooth-Modul. Die App bastel ich mit App Inventor 2.

Je nachdem, wie gut alles läuft, überlege ich auch noch, das Programm auf einen ATtiny85 zu spielen, um das ganze auf einer kleinen Platine in der Korkröhre zu verstecken.

Das wäre es soweit wohl erstmal.

Die wichtigste Frage wäre jetzt, ob sich mein Projekt so in etwa verwirklichen lässt. Nicht dass ich mir jetzt 'nen Haufen Zeug kaufe und dann irgendwann blöd aus der Wäsche gucke.

Hat jemand noch Hinweise, was ich beachten sollte?

Danke für's Lesen und schönes Wochenende.

Hallo AK36
Dein Vorhaben klingt auf jeden Fall schon einmal durchdacht und gut umsetzbar.
Ich hätte da 3 Punkte, die ich anmerken möchte:

  1. Warum PL9823? Diese LEDs sind recht unüblich… gängiger sind APA102 oder WS2812B. Man kann sie zum Beispiel ganz einfach über die Fastled-Bibliothek ansteuern.
  2. Du willst eine eigene App über App Inventor 2 erstellen… kann man vielleicht so machen, ich hatte damit noch nicht das Vergnügen. Aber für Deine Zwecke würde auch die App Virtuino ausreichen, dort kannst Du Dir mit verschiedenen Anzeige- und Eingabeelementen eine Art Dashboard zusammenbasteln und den Arduino damit steuern. Dabei ist es sogar egal, ob Bluetooth oder WiFi (hierbei auch egal ob als Webserver oder als Client in einem Netzwerk).
  3. Warum Bluetooth? Entscheidest Du Dich für WiFi, so kannst Du das System ins WLAN-Netz anschließen, und bräuchtest z.B. mit NodeMCU nicht einmal zusätzliche Hardware für die Drahtlosschnittstelle

Was das Lernen zum Bereich Arduino angeht: Wie sieht es denn mit Deinen Programmierkenntnissen aus?
Ich würde auf Anhieb sagen: Nimm einen Arduino und spiele einfach mit LEDs herum, anfangs mit dem Beispiel Blink (Arduino IDE–>Datei–>Beispiele–>Basics–>Blink)
Dann mache weiter mit dem ersetzen des delay() durch millis() in blinkWithoutDelay, beziehungsweise diesem Tutorial
Danach kannst Du schon loslegen mit dem Ansteuern des LED-Streifens über die Fastled-Bibliothek, dann die Verbindungsherstellung und Datenaustausch mit WiFi oder Bluetooth (je nachdem, wie Du Dich entscheidest). Zu guter letzt nutzt Du das gesammelte Wissen der Teilbereiche, um Deinen Sketch zu entwerfen.

Sollten irgendwo Fragen oder Unstimmigkeiten auftauchen, so wende Dich ruhigen Gewissens hierher :wink: (am besten mit Schaltplan und Sketch, welchen Du in die Code-Tags des Editors (oben links </>) einfügst)

Ak36: Nach reichlich googlen bin ich zu dem Entschluss gekommen, das Ganze mit einem Arduino zu realisieren und jetzt bin ich hier.

So kann's gehen, willkommen!

Ak36: Hat jemand noch Hinweise, was ich beachten sollte?

µC Hardware: Einen UNO oder Mega2560 solllte man im Hause haben zum Üben, mein Starterkit hatte ich von http://funduino.de. Da ist aber auch viel dabei ohne LED. Für Dein Projekt könnte ein Nano oder ProMini mit FTDI USB to TTL Serial Adapter (weiter unten) oder einen Teensy (ich nutze den 3.2 für LEDs) oder Du schaust bei Adafruit FeatherWing (die Frequenzen müssen für Europa passen!) oder Du machst was mit ESP8266, der hat Funk gleich mit drauf.

LED Hardware: Die PL9823 scheinen wie WS2812 angesteuert zu werden, das bedeutet mit 800 kHz fester Frequenz und innerhalb Deines Programms blockierend. Die APA102 haben Takt und Daten getrennt und können mit bis zu 8 MHz (mache ich mit dem Teensy)angesteuert werden. Außerdem werden sie nicht-blockierend angesteuert (mit FastLED getestet). Ich bastel gerade an einer Uhr mit LEDs und IR-Fernbedienung, das geht mit WS2812 nicht. Anstelle APA102 gibt es aber auch andere LEDs, die Takt und Daten getrennt haben.

Alle meine Links sind keine Kaufempfehlung, sondern dienen der Illustration. Ob Du einen originalen Arduino Nano für 23,80 €, einen Clone Nano in D für 5,90 € oder direkt in Fernost kaufst, bleibt Dir überlassen.

Software: Die Bibliothek FastLED kennt auch PL9823 und wird hier im Forum eher bevorzugt. Mit den Beispielen kannst Du schon mal etwas spielen, ist aber nicht einfach.

Lernen: Dafür Tipps zu geben ist schwierig. Wenn Du im Forum nach "agmue anleitung" suchst, findest Du Geschreibsel von mir und Links zu Anderer Geschreibsel. Viele Beispiele enthalten das blockierende delete, was für zeitkritische Abläufe nicht akzeptabel ist. Du könntest ein einfaches Beispiel von FastLED als Übung von delete auf millis umstellen. Dazu habe ich kürzlich was geschrieben.

Ak36: ... aber das wäre ja gelacht.

Machbar ist Dein Plan, das Wort "einfach" habe ich nicht verwendet.

Wenn Du dran bleibst, "lache" ich gerne mit :)

Hey!

Danke schon mal für eure Antworten.

Um mal auf DerLehmi seine Punkte einzugehen:

  1. Für die PL9823 habe ich mich entschieden, da die meisten Tutorials, Videos etc., die ich mir so angeschaut habe, mit WS2812-LEDs realisiert wurden. Wenn ich nichts falsch verstanden habe, sind die PL9823 von der Ansteuerung her identisch, aber halt in bedrahteter Bauform. Das ist nach meinen Vorstellungen besser für mein Projekt geeignet, da ich vorhabe, die LEDs mit kleinen Bohrungen in das Harz einzulassen und mir davon eine bessere Ausleuchtung des Ganzen erhoffe.
    Ich werde mir aber wohl auch ein paar andere LEDs zulegen und dann einfach mal mit Probegüssen ausprobieren.

  2. Mit dem Basteln der App habe ich jetzt schon angefangen. Eigentlich muss ich mir nur noch erarbeiten, welche Infos mein µC von dieser verlangt, aber dafür brauch ich erstmal eben diesen, um mich da einzuarbeiten.

  3. Auch hier habe ich viele Videos gesehen und Bluetooth reicht mir - zumindest für dieses erste Projekt - erstmal. Außerdem soll die Leuchte ein Geschenk für eine weniger technikversierte Person werden und dafür ist es vollkommen ausreichend. Die App würde sich beim Start automatisch mit der Lampe verbinden.
    WiFi ist natürlich auch eine sehr interessante Sache. Wenn Projekt Nr. 1 funktioniert, werde ich mir bestimmt überlegen, noch mehr in dieser Richtung zu “kreieren”.

Was meine Programmierkenntnisse angeht, geht es wohl stark Richtung Null. Ich habe in meiner Lehre zwar einiges angeschnitten (z.B. SPS, Logo, C++) und in einer Projektarbeit auch schon mal einen LED-Cube gebastelt (Ich weiß nicht mehr, was für ein Controller und ich war auch nicht unbedingt “der Kopf der Bande”). Das Ganze liegt aber auch bald zehn Jahre zurück und somit joa… Wir haben schonmal Kontakt gehabt ^^

Nach den Antworten hier werde ich mir jetzt dann mal einen UNO und verschiedene LEDS kaufen und mich Stück für Stück da reinsteigern. Mit welchem Controller das Projekt im Endeffekt läuft ist ohne ein funktionierendes Programm ja erstmal nebensächlich.

agmues Punkte sollte ich damit ja auch schon weitestgehend abgedeckt haben. Mit dem Geschreibsel werde ich mich dann mal befassen, wenn ich hier einen Controller vor mir liegen habe.

Danke und einen schönen Tag

Ak36: Ich werde mir aber wohl auch ein paar andere LEDs zulegen und dann einfach mal mit Probegüssen ausprobieren.

Dann kämen möglicherweise auch LPD6803 für Dich in Frage. Die gibt es auch mit kleinerem Durchmesser.