Blutiger Anfänger

Hallo,

Ich würde gerne eine 22x22 Matrix mit einem Arduino Uno Rev3 programmieren.
Diverse Beispiele habe ich auch schon getestet und funktionieren auch.
Da ich aber leider ein absoluter Anfänger bin steige ich nicht so wirklich dahinter wie ich jz mein eigenes Programm durchführen kann. (Weiß noch nicht wie ich z.B. eine Laufschrift oder Buchstaben anzeigen lassen kann ohne das ich jede einzelne LED raussuche und leuchten lasse)

Wäre sehr dankbar wenn jmd lust hat mir zu helfen würde das gerne so lernen das ich die LEDMatrix beherrsche.

Mit freundlichen Grüßen
Tobi

22x22 ist für eine Laufschrift ein etwas seltsames Format.

Generell definiert man sich bei sowas die Muster in mehr-dimensionalen Arrays wo jedes Bit eine LED ist. 3 Bytes können so 24 LEDs kodieren (3 * 8 Bit).
Der erste Index stellt dann den Buchstaben dar und man kann über die ASCII Codes direkt auf einzelne Buchstaben zugreifen

ja hab da auf amazon gesehen das es 22x22 gibt und hab mir dabei nix gedacht

das ist das panel

IB0T:
Da ich aber leider ein absoluter Anfänger bin ...

Wie „sehr“ Anfänger bist Du?

Hast Du schon Programmiererfahrung? Mit welchen Sprachen? Hast Du Ahnung von Elektronik?

In einer Matrix von 22 x 22 Pixeln kannst Du auch mit mehrzeiligem Lauftext spielen :slight_smile:

Gruß

Gregor

PS: Evtl. wäre für Lauftext die Version mit 11 x 44 Pixeln besser.

also ich bin Elektroniker für Betriebstechnik da hatte ich schon des öfteren mit Elektronik und Logikschaltungen zu tun. Aber mit PC programmiersprachen hatte ich eher weniger zu tun daher bin ich da ein wenig aufgeschmissen.

Hatte vor einen spruch durchlaufen zu lassen da würden sich zwei zeilen anbieten wenn eher etwas länger ist.
Ansonsten hatte ich vor ein I♥U zu programmieren das ich dann animiere (Soll ein geschenk für meine Freundin werden).

IB0T:
(Soll ein geschenk für meine Freundin werden).

Für Weihnachten 2020+ (das + je nach Deinen Lernerfolgen in der Programmierung :wink: )

Gruß Tommy

Einzelne Buchstaben oder Zeichen abwechselnd anzeigen ist realistischer

Arduino wird zwar für absolute Programmier-Neulinge angepriesen, aber das geht wenn überhaupt nur mit viel, viel einfacheren Projekten. Man kommt einfach nicht darum herum Programmieren zu lernen. Vor allem wenn eine Aufgabe wie hier etwas anspruchsvoller ist.

Also mein größtes problem aktuell ist es den Stoff überhaupt zu finden den ich lernen müsste hab zwar ein buch mir gekauft (Arduino handbuch für einsteiger von Michael Bonacina) aber das ist ein wenig allgemein für mein projekt.

Hab mir sehr viel auf youtube angesehen (das was es da so gibt) und mir gedacht das das gar nicht so schwer aussieht deshalb hab ich mir das zeug gekauft.

Kennt ihr vllt eine Quelle die ich benutzen könnte bzw welche Sachen ich lernen müsste damit ich mir vllt einen Plan machen kann.

Ich danke schonmal für die antworten :smiley:

Tobi

Videos sind eine weit verbreitete, aber nicht immer praktikable Art zu Lernen.
Die IDE hat viele lehrreiche Beispiele drin, um erst mal die Grundlagen zu verstehen.
Sonst verstehst Du auch die Weiterführenden Hilfestellungen nicht. In dem Sinne sehe ich Dein Buch schon als Gute Ausgangslage an und Weihnachten 2019 als zu kurz.

Gruß Tommy

wie habt ihr das alles erlernt?

IB0T:
wie habt ihr das alles erlernt?

Mit Computern und Programmierung habe ich seit der ersten Hälfte der 80er zu tun. Als ich vor gut 10 Jahren gezwungen war, mich mit geringem finanziellen Aufwand bei Laune zu halten, habe ich mit C++ angefangen. Das Buch, mit dem ich gelernt habe, gibt es online hier - das ist inzwischen halt etwas angestaubt, aber für den Anfang meiner Meinung nach immer noch sehr gut. Dass es sich mit C++ unter Linux beschäftigt, kam mir sehr entgegen. Nachteil könnte sein, dass es direkt mit C++ anfängt, ohne sich mit C zu beschäftigen. Da Arduino C/C++ als Sprache benutzt, war der Einstieg in Arduino ziemlich schmerzfrei.

Guck Dir die Beispiele in der IDE an und lies hier mit, auch wenn Du anfangs vielleicht nicht viel verstehst. Ansonsten habe ich ein paar Sachen zusammengetippt, die sich mit relativ einfachen Sachen beschäftigen. Guck hier (die letzten beiden Punkte). Viele meiner Tippereien haben als Merkzettel angefangen.

Ansonsten: Frag' hier.

Gruß

Gregor

ich danke dir dann weiß ich wenigstens wo ich ansetzen kann.

Meinst du das da eine einfache Animation möglich ist in 3 Wochen zu erlernen oder denkst du das ist alles zu viel für das was ich vorhab.

Gruß
Tobi

IB0T:
Meinst du das da eine einfache Animation möglich ist in 3 Wochen zu erlernen oder denkst du das ist alles zu viel für das was ich vorhab.

Etwas Einfaches wirst Du wohl recht schnell hinbekommen. Überlege Dir aber besser einen Plan B, der Plan A mit sofortiger Wirkung ersetzt. Wenn Du Dich zeitlich unter Druck setzt, macht's keinen Spaß sondern wird zur Quälerei (was Arduino nicht gerecht wird).

Buchgeschenke sind auch sehr schön :slight_smile:

Gruß

Gregor

IB0T:
wie habt ihr das alles erlernt?

Mit viel, viel Zeit.
C ein bißchen einmal vor ca 20 Jahren
Elektronik von vor ca 35 Jahren bis heute
Und immer neugierig.
Grüße Uwe

Ich würde gerne eine 22x22 Matrix mit einem Arduino Uno Rev3 programmieren.
Diverse Beispiele habe ich auch schon getestet und funktionieren auch.

Ich nehme an bei den Beispielen meinst Du Arduino Beispiele.

Eine Matrix ist eine Verschaltung von Teilen zwischen Reihen und Spalten. An jedem Kreuzungspunkt ist zB ein Taster oder eine LED. Bei einer 22x22 Matrix sind 484 LEDs verbaut. Das zusammenzulöten mit der notwendigen Ansteuerungselektronik brauchst Du schon einige Wochen bis Monate. Der Arduino UNO hat 20 Ausgänge. Für eine 22x22 Matrix brauchst Du 44 Ausgänge.

Die LED werden angesteuert indem auf eine Reihe Spannung gegeben wird und alle Spalten in denen LEDs leuchten sollen auf Masse gelegt werden. Nach kurzer Zeit werden Die Spalten ausgeschaltet und die nächste Reihe angesteuert. Die Reihen müssen durch Transistoren angesteuert werden da der gesamtstrom von 22 LED nicht von einem Ausgang des Arduinos oder Schiberegister oder Expander aufgebracht werden kann.
In dieser Betrachtung können Spalten udn Riehne auch vertauscht werden.
So erreicht man daß nur ein Teil der LED leuchtet und somit weniger Strom verbraucht wird, aber auch die Gesamthelligkeit kleiner ist.

Bei einer 22x22 Matrix ist das Einschalt zu Ausschalt-Verhältnis ungünstig da jedes LED nur ein 22stel der Zeit eingeschaltet sein kann. Diese Matrix wird nie sehr hell sein.

Eine Alternative ist es die Matrix mit LED mit integrierten Controller (WS2801, WS2812 oder ähnliche ) aufzubauen. Die Ansteuerung ist einfacher, die LED sind heller und farbig ist einfach möglich, sie Brauchen aber viel Strom (alle LED weis Leuchten verbraucht 29A !!) und der Arduino UNO hat zuwenig RAM um sie anszusteuern.

Muß es eine so große Matrix sein?
Liebäugel mal mit einem fertigen 8x32 Modul.

Grüße Uwe

Als aller erstes danke ich dir für deine ausführliche Antwort und deine Zeit.

Zu meinem Projekt:

Ich habe eine fertige 22x22 matrix auf amazon gekauft. Da es neopixel sind habe ich nur die spannungsversorgung und die datenleitung.

Habe mir dann ein netzteil gekauft das 5 v 20A liefern kann(Habe ausgerechnet das bei Weißer Farbe alle LEDs an und voller Helligkeit ein Strom von 26A fließen kann, werde daher die LEDs maximal auf 50% leuchten lassen und es werden auch niemals alle LEDs an sein eher wenige.

Habe auch alles zum laufen gebracht und verschiede Beispiele aus der Adafruit libary ausprobiert und alles hat funktioniert.

Mein aktuelles problem liegt nur am code für mein bestimmtes projekt und würde gern wissen was genau ich tun müsste um mich soweit auszukennen das ich alles anzeigen kann was ich mir vorstelle.

IB0T:
Mein aktuelles problem liegt nur am code für mein bestimmtes projekt und würde gern wissen was genau ich tun müsste um mich soweit auszukennen das ich alles anzeigen kann was ich mir vorstelle.

Das Problem dabei ist halt dass du irgendwann mal ein paar Grundlagen lernen musst. z.B. bei diesem Thema kommt du schnell in Kontakt mit mehrdimensionalen Arrays und Bit-Manipulation, was vielleicht nicht das einfachste ist.
Arduino erlaubt zwar einen gewissen Grad an Copy & Paste, aber damit kommt man nicht sehr weit. Und auch die Abstraktion der Arduino Software (fertige Funktionen für Dinge die man oft braucht) stoßen schnell an ihre Grenzen. Was man hier immer wieder sieht ist dass Lösungen geliefert werden, aber diese dann nicht verstanden werden weil Wissen fehlt. Dann gehen die nächsten Paar Seiten damit drauf grundlegende Sprachmittel zu erklären. Das ist auch gar nicht als Vorwurf gemeint. Viele Leute sind totale Anfänger und mit irgendwas muss man mal anfangen. Aber es zeigt auch dass die ganze Thematik komplizierter ist als viele Leute denken.

Von daher ist eine Matrix nicht unbedingt das beste Projekt für den Einstieg. Besser geht das mit einfachen LED-Reihen wo man ein Lauflicht programmiert. Wenn man das halbwegs beherrscht kann es weitergehen

Serenifly:
Das Problem dabei ist halt dass du irgendwann mal ein paar Grundlagen lernen musst. z.B. bei diesem Thema kommt du schnell in Kontakt mit mehrdimensionalen Arrays und Bit-Manipulation, was vielleicht nicht das einfachste ist.
Arduino erlaubt zwar einen gewissen Grad an Copy & Paste, aber damit kommt man nicht sehr weit. Und auch die Abstraktion der Arduino Software (fertige Funktionen für Dinge die man oft braucht) stoßen schnell an ihre Grenzen. Was man hier immer wieder sieht ist dass Lösungen geliefert werden, aber diese dann nicht verstanden werden weil Wissen fehlt. Dann gehen die nächsten Paar Seiten damit drauf grundlegende Sprachmittel zu erklären. Das ist auch gar nicht als Vorwurf gemeint. Viele Leute sind totale Anfänger und mit irgendwas muss man mal anfangen. Aber es zeigt auch dass die ganze Thematik komplizierter ist als viele Leute denken.

Von daher ist eine Matrix nicht unbedingt das beste Projekt für den Einstieg. Besser geht das mit einfachen LED-Reihen wo man ein Lauflicht programmiert. Wenn man das halbwegs beherrscht kann es weitergehen

Ich würde das niemals als Vorwurf verstehen da ich ja meinen aktuellen wissensstand kenne und ehrlich gesagt habe ich mir das einfacher vorgestellt hab mir sehr sehr viel youtube videos angesehen da sieht man aber zu keiner zeit genaueres zum Programm.
Die mateix hab ich halt jz hier rumliegen also werde ich so oder so mit ihr lernen.

Ich hätte auch noch einen 23 std kurs zu C++ aber weiß halt nicht genau ob das die Lösung ist.

Als lösungsansatz hatte ich jz eine tabelle in ecxel erstellt und werde dann mein muster zeichnen. Und somit die richtigen leds zum leuchten bringen (könnte ich dank den beispielen).

Leider ist diese lösung furchtbar aufwendig und unpraktikabel. Mit der lösung kann ich auch nicht wirklich viel erweitern oder animieren. (Mangels programmierkenntnissen)

Keine ahnung wie ich genau das anpacken könnte will aufjedenfall viel zeit reinstecken hab nur leider keinen klaren weg vor augen wie ich das bewältigen könnte.
Ob der kurs schon reicht (glaube eher nicht) oder irgendwas gezielt zu den libarys lernen könnte keine ahnung

Habe auch alles zum laufen gebracht und verschiede Beispiele aus der Adafruit libary ausprobiert und alles hat funktioniert.

Man kann das Nötigste an C++ auch lernen, indem man vorhandene Beispiele anschaut, versucht zu verstehen (die Konstruktionen in C++ Referenzen wiedererkennt), bis vorsichtige Änderungen tatsächlich das machen, was man denkt.

Dann würde ich vorschalgen, dass du lernst, wie du einzelne Pixel gezielt unter Kontrolle bringst und dann mehrere ganze Zeilen. Wenn dann 7 x 22 pixel "
** **[color=red]I ♥ YOU[/color]** **
" anzeigen, kannst du nur hoffen, dass deine Freundin realisiert, wie viel Arbeit das war.
Kästchen auf Papier auszählen und in Datenstrukturen abspeichern.

Keine Ahnung, ob und wenn ja wie, die Adafruit Beispiele Buchstaben unterstützen. Dann musst du nur ein Zeichen zum
** **[color=red] ♥ [/color]** **
umdefinieren.

Nächstes Jahr kommt dann Laufschrift oder Farbwechsel dazu.

IB0T:
Keine ahnung wie ich genau das anpacken könnte will aufjedenfall viel zeit reinstecken hab nur leider keinen klaren weg vor augen wie ich das bewältigen könnte.

Früher oder später kommst Du nicht darum herum, ein paar Grundlagen in Sachen Elektronik und Programmiererei zu lernen.

Da Du aber schon weißt, wie Du LEDs zum Leuchten bringst, hast Du die Matrix wohl korrekt angeschlossen. Zeig' am besten mal den Sketch, mit dem Du gerade spielst. Wenn sich hierzu etwas Sinnvolles schreiben lässt, wirst Du es lesen.

Ich vermute, dass es Dir erst mal um die Frage geht, wie Du Deine Daten am besten organisierst und verwendest. Lass also mal sehen :slight_smile:

Gruß

Gregor