Forum

Einloggen | Registrieren | RSS  

GeorgZ(R)

01.11.2023,
22:47
 

Pico Programmierung klappt nicht so recht II (Elektronik)

Hallo,

inzwischen bin ich gut weitergekommen.
Vor ein paar Tagen habe ich 4 PCA9685-Module bekommen.
Der Rohbau meiner "Form" ist fertig. Hier wie gewünscht Bilder. "http://hagoschaos.de/test2/alles.jpg" (das Bild ist zu groß, um es hier hochzuladen)
Die Farbe stimmt bei der Aufnahme unten rechts. Dort sieht man auch gut, wie ich die Kabelführung nach unten (unten links) vorbereitet habe. Dort ist genug Platz für Elektronik.
Ich habe jetzt 40 kleine rote Stecker bestellt, in die man sehr gut eine LED reinstecken kann.
Ich habe vor, an jeden Stecker ca 30cm Kabel zu löten und die Stecker dann auf der Form mit Heißkleber festzukleben und die Kabel durch das Rohr nach unten zu den Elektronikbauteilen zu leiten.
Erst, wenn dann alles funktioniert, klebe ich zwischen die LEDs kleine Pappklötzchen als Distanzhalter und dann über alles noch eine halbtransparente Papierschicht.
Nun, dank bastelix funktionieren inzwischen 6 LEDs am Arduino angeschlossen sehr schön. Aber es sollen ja schließlich ca 30 oder mehr werden. Dazu habe ich diese PCA9685-Module besorgt, aber ich bin noch recht ratlos, wie ich die einsetzen muss.

Gruß,
Georg

GeorgZ(R)

13.02.2024,
19:50

@ bastelix

Pico Programmierung klappt nicht so recht II


» Wird bei mir hoffentlich in ein paar Monaten wieder besser werden aber ich
» kann da nichts versprechen und ich will dich auch nicht ewig auf morgen
» vertrösten.
» Ich würde mir das Projekt für Mitte des Jahres mal auf Wiedervorlage legen
» und dann schauen was geht. Mehr ist bei mir im Moment leider nicht drin.

Tja, kann man nichts machen, aber doch sehr schade, da ich ja schon wieder voll drin bin.

Liebe Grüße, Georg

bastelix(R)

05.02.2024,
01:57

@ GeorgZ

Pico Programmierung klappt nicht so recht II

Hallo Georg

» Du kommst scheinbar nicht mehr so recht voran mit der Lösung des Problems.
Ich komme im Moment kaum dazu mich mit dem Projekt zu befassen, ich hab das aber immer noch sehr prominent auf dem Schreibtisch und werde fast jeden Tag daran erinnert. Nützt halt nix, wenn man nur wenig Zeit investieren kann.



Mit dem bisschen Zeit das ich in den letzten Monaten investieren konnte bin ich aber auch nicht wirklich weiter gekommen. Die meisten möglichen Problemstellen im Code kann ich mittlerweile als Ursache für das seltsame Verhalten weitestgehend ausschießen. Ein größerer Testaufbau wäre hilfreich, ggf. auch mal mit dem Oszi den Bus abhorchen etc. Aber das ist leider komplett unrealistisch.

» Tja, dieses Projekt muss wohl als "Unvollendetes" abgeschlossen werden.
Ich würde da gerne widersprechen aber nüchtern betrachtet: Meine Freizeit ist begrenzt und im Moment verbringe ich mehr von der Zeit bei Ärzten als mir lieb ist. Wenn ich dann, neben Arbeit und privaten Verpflichtungen, doch mal etwas Luft habe nutze ich die Zeit primär für Bewegung an der frischen Luft.

Wird bei mir hoffentlich in ein paar Monaten wieder besser werden aber ich kann da nichts versprechen und ich will dich auch nicht ewig auf morgen vertrösten.
Ich würde mir das Projekt für Mitte des Jahres mal auf Wiedervorlage legen und dann schauen was geht. Mehr ist bei mir im Moment leider nicht drin.

Viele Grüße
Bastelix

GeorgZ(R)

26.01.2024,
17:10

@ bastelix

Pico Programmierung klappt nicht so recht II

Hallo Bastelix,

Du kommst scheinbar nicht mehr so recht voran mit der Lösung des Problems.
Ich habe inzwischen mal eine ganz alte Version, bei der ursprünglich nur 2 Pca und 32 LEDs eingeplant waren, auf 80 LEDs und 5 PCAs erweitert, in der Hoffnung, dass da vielleicht dann die Sequenzen klappen.
Ich habe dann diese eine, leicht zu identifizierende Sequenz reingeschrieben.
Alles hat erstmal funktioniert, aber die Sequenz ist nie aufgetaucht, auch nicht so schwach wie bei der letzten Version - ich habe extra darauf geachtet.

Tja, dieses Projekt muss wohl als "Unvollendetes" abgeschlossen werden.

D.h., was noch gut wäre:
Im Moment blinken die LEDs immer in ähnlicher Geschwindigkeit. Es wäre schön, wenn da auch öfter mal was Schnelles dazwischen wäre - aber eigentlich wäre das ja die Aufgabe der Sequenzen gewesen.

Also, ich verstehe das schon, wenn Du da keine Lust mehr drauf hast - bei deinem kleinen Test-Aufbau ist es ja auch sehr schwierig nachzuvollziehen, was klappt und was nicht.

Grüße, Georg

bastelix(R)

29.12.2023,
00:17

@ GeorgZ

Pico Programmierung klappt nicht so recht II

Hallo Georg,

» Wenn ich was zum Testen verändert habe, habe ich immer erst eine Kopie
» gemacht, zu der ich am Ende wieder zurückgekehrt bin.
Ich würde dir git empfehlen. Macht das leben leichter ;-)

» Also, wenn die tatsächlich ablaufen, kann man sie sehr gut erkennen.
Deine Config ist schon mal ein guter Startpunkt. Hab schon ein paar unsaubere Stellen gefunden und auch noch so etwas optimiert. Im Moment läuft nix mehr :-D

» Um mit Deinem Code besser zurecht zu kommen, bin ich seit ca. 2 Wochen
» intensiv dabei C++ zu lernen :-)
Das freut mich :-)

» Ist aber ziemlich zwickelig und recht komplex.
Ja, der Code ist nicht gerade einsteigerfreundlich. Ich hab zwar versucht den möglichst lesbar zu halten aber das Projekt ist insgesamt schon etwas komplex. Aber macht nix, das kriegen wir schon hin :-)

Im Moment hab ich das Logging erweitert und dann etwas kaputt gemacht. Sobald ich das repariert habe melde ich mich.

Gruß
Bastelix

GeorgZ(R)

28.12.2023,
19:51
(editiert von GeorgZ
am 28.12.2023 um 19:53)


@ bastelix

Pico Programmierung klappt nicht so recht II

Hallo Bastelix,

» Kannst du mir mal den Code mit deinen Änderungen irgendwie bereitstellen?

Es gigt keinen neuen Code.
Wenn ich was zum Testen verändert habe, habe ich immer erst eine Kopie gemacht, zu der ich am Ende wieder zurückgekehrt bin.
Es war ja auch nichts wirklich erfolgreich, weil ich den Code nicht wirklich durchschaue.
Die von Dir vorgesehenen Einstellungsmöglichkeiten sehen im Moment so aus:
----------------------
const uint8_t ENABLE_LED_RAND_MAX = 2;
const unsigned long LOOP_DELAY = 20;
const uint8_t MAX_ACTIVE = 50;
const uint8_t LEDS = 80;
------------------------
Um die Sichtbarkeit der Sequenzen zu testen, sehen diese gerade so aus:
------------------------------
switch (random(3)) {
case 0:
leds[nextLed].setSequence("zzzzyyxxwwvvuuttssrrqqppooonnnmllkkjjjiihhggfffeeedddccbbaaaaazzzz";);
break;
case 1:
leds[nextLed].setSequence("zzzzzzaaaaaaaaaazzzzaaaaaaaaaaazzzaaaaaaaaaaaazzzzzaaaaaaaaaaaazzzz";);
break;
default:
leds[nextLed].setActive();
}
---------------------------------
Also, wenn die tatsächlich ablaufen, kann man sie sehr gut erkennen.

Um mit Deinem Code besser zurecht zu kommen, bin ich seit ca. 2 Wochen intensiv dabei C++ zu lernen :-)
Ist aber ziemlich zwickelig und recht komplex. Da brauche ich wohl noch eine größere Weile, bis das mal läuft.

Gruß, Georg

bastelix(R)

28.12.2023,
01:40

@ GeorgZ

Pico Programmierung klappt nicht so recht II

Hallo Georg,

» Siehe Video: http://hagoschaos.de/test2/ (ganz oben)
» Am Anfang des Videos sieht man, dass die LED sehr hell leuchten kann und
» gegen Ende sieht man den total schwachen 5-mal-Blinker.
Ja, ich sehe es. Muss ich nachstellen.

» Was mir auch noch aufgefallen ist bei meiner Rumprobiererei:
» wenn ich die Sequenzen auf nur noch einen case und den default-case
» reduziere, dann geht das Blinken nach ca.20 Sek. aus, als ob es langsam
» abstirbt.
Kannst du mir mal den Code mit deinen Änderungen irgendwie bereitstellen?

» Ich habe natürlich schon im Code deines Programms herumgesucht, aber nichts
» gefunden woran es liegen könnte.
Das könnte ein Timing-/Multitasking-Problem sein oder es passiert doch noch wo ein overflow weil der Datentyp zu klein ist.

GeorgZ(R)

24.12.2023,
12:05
(editiert von GeorgZ
am 24.12.2023 um 13:14)


@ bastelix

Pico Programmierung klappt nicht so recht II

Hallo Bastelix,

» » Es funktioniert perfekt!
Das war wohl doch noch nicht so ganz richtig.

Ich habe in letzter Zeit ständig versucht, die Blinkerei durch die Veränderung der Sequenzen zu beeinflussen und bin total gescheitert. Nichts, was ich gemacht habe, hat sich irgendwie ausgewirkt.
Schließlich habe ich alle Sequenzen bis auf eine auskommentiert. Die letzte sollte die LED 5 x kurz blinken lassen. - Auch nix.
Gestern habe ich dann, als ich zufällig mal ganz dicht bei dem Objekt saß, entdeckt, dass die 5er-Sequenz doch ausgeführt wird, aber so schwach, dass ich es aus meinem normalen Betrachtungsabstand (ca. 3 m) gar nicht wahr genommen habe.
Siehe Video: http://hagoschaos.de/test2/ (ganz oben)
Am Anfang des Videos sieht man, dass die LED sehr hell leuchten kann und gegen Ende sieht man den total schwachen 5-mal-Blinker.

Was mir auch noch aufgefallen ist bei meiner Rumprobiererei:
wenn ich die Sequenzen auf nur noch einen case und den default-case reduziere, dann geht das Blinken nach ca.20 Sek. aus, als ob es langsam abstirbt.

Ich habe natürlich schon im Code deines Programms herumgesucht, aber nichts gefunden woran es liegen könnte.

Grüße, Georg

bastelix(R)

14.12.2023,
00:11

@ GeorgZ

Pico Programmierung klappt nicht so recht II

Hallo Georg,

» Es funktioniert perfekt!
Danke, das freut mich :-)

» Jetzt muss ich nur noch eine Weile an den Einstellungen rumspielen,
» eventuell noch ein paar Sequenzen hinzufügen und die eine oder andere LED
» austauschen oder einfärben und dann kommt die finale Haut drauf.
Viel Spaß dabei ;-)

» Ich melde mich mit einem Video, wenn es fertig ist.
Ich freu mich drauf!

bastelix(R)

14.12.2023,
00:10

@ GeorgZ

Pico Programmierung klappt nicht so recht II

» » ...bei akzeptable kosten.
» Das verstehe ich nicht. Was für Kosten meinst du?
Die Variablen sind jetzt 32 Bit groß, das kostet also für die zwei Konstanten etwas mehr Flash-Speicher und für die Berechnung etwas mehr Arbeitsspeicher (auf dem Stack). Sollten wir wirklich irgendwann mal jedes byte einzeln abzählen müssen kann man da immer noch optimieren.

Informatiker sprechen da meistens von Kosten wenn es darum geht wie viele Ressourcen (wie CPU, RAM, Festplattenplatz, Ausführungsgeschwindigkeit, ...) ein Programm braut. Das taten wir übrigens schon bevor findige Unternehmen auf die idee gekommen sind die verbrauchte CPU-Zeit und den benutzen RAM anzurechnen anstatt eine Pauschale zu verlangen und das ganze dann Cloud zu nennen :-D

GeorgZ(R)

13.12.2023,
10:36

@ bastelix

Pico Programmierung klappt nicht so recht II

Hallo Bastelix,

» Es lag am berechnen des PWM-Wertes aus den Buchstaben. Der Datentype pwm_t
» mit uint16_t etwas zu eng für die Berechnung gewählt. Ich hab das jetzt
» durch einen größeren Datentyp gelöst.

Das hat ja scheinbar gut geklappt!
Es funktioniert perfekt!
Jetzt muss ich nur noch eine Weile an den Einstellungen rumspielen, eventuell noch ein paar Sequenzen hinzufügen und die eine oder andere LED austauschen oder einfärben und dann kommt die finale Haut drauf.
Ich melde mich mit einem Video, wenn es fertig ist.

Gruß, Georg

GeorgZ(R)

13.12.2023,
07:37

@ bastelix

Pico Programmierung klappt nicht so recht II

» So, ist gefixt. Ich hab übrigens bei den Branches aufgeräumt, es gibt nur
» noch den main branch, falls du dir den Code mit git geholt hast. Ansonsten
» Download unter https://gitlab.com/Bastelix/led-multifade/-/tree/main

Toll, vielen Dank ! ich werde das gleich nachher ausprobieren.

» ...bei akzeptable kosten.

Das verstehe ich nicht. Was für Kosten meinst du?

Gruß, Georg

bastelix(R)

13.12.2023,
00:33

@ GeorgZ

Pico Programmierung klappt nicht so recht II

So, ist gefixt. Ich hab übrigens bei den Branches aufgeräumt, es gibt nur noch den main branch, falls du dir den Code mit git geholt hast. Ansonsten Download unter https://gitlab.com/Bastelix/led-multifade/-/tree/main

Es lag am berechnen des PWM-Wertes aus den Buchstaben. Der Datentype pwm_t mit uint16_t etwas zu eng für die Berechnung gewählt. Ich hab das jetzt durch einen größeren Datentyp gelöst. Man könnte das auch durch die Reihenfolge der Multiplikation und Division lösen aber mir erschien der größere Datentyp sicherer bei akzeptable kosten.

GeorgZ(R)

03.12.2023,
08:27

@ bastelix

Pico Programmierung klappt nicht so recht II

» Nicht dazu gekommen trifft es eher. Sorry, ich hab dich nicht vergessen,
» der Testaufbau liegt auf dem Schreibtisch oberhalb vom Keyboard und
» erinnert mich täglich daran. Nächste Woche noch und dann wird es wieder
» ruhiger und ich kann mich auch wieder privaten Code-Projekten widmen.

:-)

bastelix(R)

03.12.2023,
02:31

@ GeorgZ

Pico Programmierung klappt nicht so recht II

» Da Du ja im Moment auch nicht so recht weiterzukommen scheinst, bin ich mal
» zur letzten funktionierenden Programmversion zurückgegangen und habe
» versucht, diese für 5 PCA9685 und 80 LEDs zu erweitern.
Nicht dazu gekommen trifft es eher. Sorry, ich hab dich nicht vergessen, der Testaufbau liegt auf dem Schreibtisch oberhalb vom Keyboard und erinnert mich täglich daran. Nächste Woche noch und dann wird es wieder ruhiger und ich kann mich auch wieder privaten Code-Projekten widmen.

GeorgZ(R)

30.11.2023,
12:33

@ bastelix

Pico Programmierung klappt nicht so recht II

Hallo Bastelix,

» Die Sequenzen sind im Moment insgesamt kaputt :-D
» Ich hab grad etwas reindebuggt aber so spontan konnte ich nur feststellen,
» dass da irgendwo ein Bug ist. Ich kümmere mich drum.

Da Du ja im Moment auch nicht so recht weiterzukommen scheinst, bin ich mal zur letzten funktionierenden Programmversion zurückgegangen und habe versucht, diese für 5 PCA9685 und 80 LEDs zu erweitern.
Ich habe es so gemacht:

Es blinkt auch, und man kann den PWM-Einfluss sehen, aber die blinkenden LEDs sind nur die vom letzten PCA9685 in der Reihe (0x44).
Das ist sicher, ich habe es nachgemessen.
Tja, irgendwas fehlt noch - aber was? Prinzipiell, wie ich die Namen vergeben habe und wie ich die PCAs initiiert habe, müsste doch passen.

Gruß, Georg