Hallo liebe Bastler, ich Zerbreche mir schon länger den Kopf und komm zu keinem Ergebnis: Übergeordnetes Ziel: mit dem Raspberry auf einem RGB LED Strip ein VU meter realisieren. (über SPI) Mommentan benutze ich den Arduino als AD Wandler der über Serial mit dem Raspberry verbunden ist. Leider ist das ganze aber mit meiner genutzten Programmiersprache so langsam dass es kein Spaß macht sich den Strip anzusehen, und Echtzeit ist auch was anderes... Zu meiner Schande muss ich zugeben nodejs (javascript) ist auch nicht gerade die erst wahl bei Echtzeit Anwendungen. Das ganze ist aber Teil eines etwas "größeren" Projekts, und der Rest funktioniert echt gut, nur mit dem VU Meter komm ich nicht so recht weiter. Mein Gedanke: Raspberry und Arduino irgendwie über SPI verbinden, dass wenn der Raspberry kein Master mehr ist bzw. kein Clock signal mehr generiert, dass der Arduino dann Master spielt und ich mein VU meter in C oder C++ auf dem Arudino ausführe. Sprich: Raspberry MOSI -> Arduino MISO, Arudino MOSI -> RGB Strip So sollte dann der Arduino als Proxy dienen und alles vom Raspberry 1:1 durch reichen und wie oben gennant einsprichen wenn der Raspberry nix mehr sendet bzw. keine Clock mehr generiert. Frage: Würde das so gehen ? Oder kann ich mir den Arduino als Proxy sparen und alles auf dem Raspberry machen (Ausnahme Analog input), z.B. in Python Zusammenfassung: Raspberry als haupt Controller für RGB strip über SPI, VU meter realisieren, über/mit Raspberry . Da aber schon Zig effekte exisiteren würde ich den ungern über Board werfen. Für Antworte und Anregungen bin ich sehr dankbar.
Bleib nur beim raspi oder nur beim Adruino. Oder was soll der eine können was der andere nicht kann? Es gibt in hardware realisierte A/D Wandler die per i2c an den Raspi angeschlossen werden können. Die muss man nicht extra programmieren und libs gibt es in c wie in python. Was für einen LEDstrip hast du? So einen typischen wo die leds einzeln angesteuert werden können? Das kann man auch mit dem raspberry benutzen! Google einfach nach dem chipnamen + Raspberry. Wegen dem nichy-Echtzeit OS kann zwar mal was dazwischen funken aber auffällig ist das höchstens wenn man riesige 2D Muster darstellen will. Wenn du beim Arduino bleiben willst geht das natürlich auch. Was für eine Aufgabe soll der Raspi in dem Fall überhaupt erfüllen? Soll das ganze online gehen (da du nodejs erwähnst)?
Danke für die Antwort. Ich wollte Arduino + Raspberry benutzen weil ich beide schon da habe. Werde mir aber einen AD Wandler für i2c oder SPI mal besorgen. Beim strip handelt es sich um einen ws2801. In nodejs habe ich halt schon etliche Effekte programmiert, die ich bequem über ein Webinterface auswählen kann. Allerdings bin ich mit der Hardware Ansteuerung nicht zu Frieden. Entweder ist nodejs im allgemeinen zu langsam oder die Bibliothek zur Ansteuerung ist es (natives c++ Addon, "spi-device" https://github.com/fivdi/spi-device), tippe eher auf nodejs, da ich die "transfer" funktion immer wieder manuelle triggern muss (rekursiv im callback), hier flackert der Strip am Anfang, läuft dann aber. Wie gesagt: das ganze ist zu langsam. Würde es jetzt mal mit python probieren. AD Auslesen und auf Strip schreiben.
Hmm, ich kenn mich mit NodeJS leider nicht aus. Du musst einen Weg finden den Thread des webdienstes, von einem Thread der sich nur um die LED-Ansteuerung kümmert, zu trennen. Also kein wiat-konzept auf Antwort des jeweiligen Programms, sondern sie sollen unabhängig voneinander laufen. Eine Standardübertragungsmethode für die Information sind dann "pipes" (oft einfach als IO bezeichnet). Die kann man jeder Zeit abfragen, ohne das Programm warten zu lassen.
nodejs ist auf jeden Fall ein blick wert. Allerdings nichts für Mikrocontroller oder "echtzeit". Werde jetzt versuchen mein VU meter in python zu programmieren und alles über den Raspberry zu machen. Das Programm spawn ich dann einfach von node aus. Leider kann ich noch kein Python. Hat jemand eine gut Einstiegsseite ? bzw. eine SPI/i2c lib ? Blöde frage, aber ist mit python besser gewährleistet dass die VU Ansteuerung funktioniert ?
Ein Freund von mir hat sowas mit WS2812 und ESP8266 realisiert. https://www.youtube.com/watch?v=-4rugU9BPT0
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.