Hi, Community
Ich bin ziemlich am Anfang mit dem Lernen der Mikrocontrollertechnik,
habe aber etwas Erfahrung mit Analogtechnik. Als Lernplattform benutze
ich das AVR Microcontroller Lehrbuch von Roland Walter. Die zugehörige
Platine habe ich selbst gebaut und mit einigen Beispielen aus dem Buch
erfolgreich getestet.
Als etwas anderes Projekt möchte ich jetzt eine 8x8 LED Matrix
ansteuern. (auch selbst gebaut und korrekte Funktion getestet.)
Folgenden Code verwende ich:
1
'Projekt LED-Matrix
2
$regfile = "m8def.dat"
3
$crystal = 3686400
4
$hwstack = 40
5
$swstack = 16
6
$framesize = 32
7
8
Dim I As Byte , Sw As Byte , Zw As Byte
9
10
11
12
Ddrb = &B1111_1111 'Ausgänge
13
Ddrd = &B1111_1111 'Ausgänge
14
15
Do
16
For I = 0 To 6
17
Sw = Lookup(i , Spaltenwert)
18
Zw = Lookup(i , Zeilenwert)
19
Portd = Zw
20
Portb = Sw
21
Waitms 2
22
Next
23
24
Loop
25
26
Spaltenwert:
27
Data 1 , 1 , 1 , 3 , 1 , 1 , 251
28
29
Zeilenwert:
30
Data 1 , 2 , 4 , 8 , 16 , 32 , 64
Das Resultat sieht man im Foto
Die beiden Pfeile sollen in der Reihe 4, Spalte 3 durch eine leuchtende
LED miteinander verbunden sein. Das Signal kommt von PD.3. Elektrisch
ist alles in Ordnung. Wenn ich den Atmega 8 gegen einen anderen
austausche, erhalte ich das selbe Resultat. Scheinbar liefert der Port
Pin PD.3 kein Signal. Woran liegt es?
Christian F. schrieb:> Scheinbar liefert der Port> Pin PD.3 kein Signal. Woran liegt es?
Tausch doch mal PD.3 mit PD.2. Wenn dann die andere Spalte wegfällt,
dann liefert der Pin nichts.
Ansonsten wäre ein Schaltplan hilfreich. AusDeinem Programm erschliest
sich mir nicht wie da überhapt zwei Pfeilspitzen entstehen. Alleine die
Anzahl der leuchtenden/dunklen LEDs passt ja nicht zum Spaltenvektor,
odder?
/regards
Andreas H. schrieb:> AusDeinem Programm erschliest sich mir nicht wie da überhapt zwei> Pfeilspitzen entstehen.
Stimmt, das Programm passt sicher nicht zum Bild.
Christian F. schrieb:> Scheinbar liefert der Port Pin PD.3 kein Signal.
Dann steuere den Pin doch einfach mal statisch mit high und low an und
miss nach, ob das am Pin heraus und an den LEDs ankommt.
> und korrekte Funktion getestet.
Wie hast du das getestet? Hast du statische Bitmuster an den µC-Pins
angelegt und gemessen, ob die dort am µC herauskommen und auch an der
Platine gemessen, ob die Signale dort ankommen?
Christian F. schrieb:> Als etwas anderes Projekt möchte ich jetzt eine 8x8 LED Matrix> ansteuern.
Die Hellseher sind gerade alle in Urlaub. Wir brauchen mindestens den
korrekten und vollständigen Schaltplan.
Zum Debuggen steuere erstmal jede der 64 LEDs einzeln an.
Moin,
vielen Dank für die bisher eingegangene Hilfe. Die Dokumentation zum
Board findet ihr auf der Internetseite von Roland Walter. Die LED Matrix
ist zeilenweise mit den Anoden und spaltenweise mit den Kathoden der
„Matrix - LEd‘s“ verschaltet.
Da ich jetzt erst einmal zum Zahnarzt muss, geht es erst heute
Nachmittag weiter.
Lothar M. schrieb:> Ein Link zur Doku hätte auch gereicht...
Warum hat man oft den Eindruck, die Fragesteller sind erst seit einer
Minute im WWW unterwegs. Ein Link sollte doch selbstverständlich sein.
Ging schneller beim Zahnarzt als erwartet.
Die Dokumentation zum rowald-Board findet sich hier:
http://www.rowalt.de/
@ahz Den Portpin PD.2 und PD.3 habe ich untereinander getauscht. Das
Resultat ist wie erwartet (siehe Foto). Der PD.3 liefert kein Signal.
Der Durchgang zwischen Matrixpin zu PD.3 (Pin 5 am Atmega 8) ist in
Ordnung. Die benachbarten Pins 4 und 6 (PD.2 und PD.4) des Atmega haben
keinen Kontakt.
Die Beschreibung zur 5x7 Matrix findet sich hier:
https://www.rahner-edu.de/mikrocontroller/avr-controller-und-bascom/dot-matrix-anzeige/
Im Programmcode sind die drei bzw. ein Bit "überflüssigen" LED's auf
high gelegt.
Warum nur wird die 4. Zeile nicht angesteuert? Ein Austausch des Atmega
8 gegen einen anderen war ja auch nicht erfolgreich.
Christian F. schrieb:> Die Dokumentation zum rowald-Board findet sich hier:http://www.rowalt.de/
Ja, irgendwo da, und alle, die dir helfen wollen, sollen sich jetzt da
durchwühlen und raten, was du meinst?
Poste einen Link direkt zum Projekt, so schwer kann das ja nicht sein.
Christian F. schrieb:> Ein Austausch des Atmega 8 gegen einen anderen war ja auch nicht> erfolgreich.
Das spricht ja dafür, dass die restliche Hardware ein Problem hat.
Dann tausch mal am µC-Board die Leitung vom PD.2 und vom PD.3 Wechselt
dann der Fehler mit?
Andreas H. schrieb:> AusDeinem Programm erschliest> sich mir nicht wie da überhapt zwei Pfeilspitzen entstehen.
Darüber bin ich auch gestolpert.
Christian F. schrieb:> Den Portpin PD.2 und PD.3 habe ich untereinander getauscht.
Wo hast du ihn getauscht? Das Bild sagt mir, dass du die beiden kabel
zwischen µC Ausgang und LED Matrix über Kreuz getauscht hast. Eigentlich
war geplant, dass du sie auch im Quelltext tauschen sollst, so dass am
Ende wieder das originale Pfeil-Bild erscheint.
Du solltest zudem den richtigen Quelltext zeigen, der zum Foto passt.
@ Micha—Micha: Eine weitere Verlinkungen bis auf das pdf Dokument ist
leider nicht möglich. Ich dachte die Forums Mitglieder sind des
selbstständigen Denkens fähig.
@ kmiller Das Bild im ersten Thread zeigt den Ursprungszustand. Ja, der
Fehler wechselt mit.
Christian F. schrieb:> Eine weitere Verlinkungen bis auf das pdf Dokument ist> leider nicht möglich.
Natürlich geht das, warum denn nicht?
> Ich dachte die Forums Mitglieder sind des> selbstständigen Denkens fähig.
Ja schon, aber du hast nicht angegeben, wo genau wir nachschauen sollen.
Keine hat Lust für dich etwas umständlich zu suchen, was du bereits
direkt vor der Nase hast.
Ich muss mich ersteinmal entschuldigen!! Der Programmcode ist von einem
eigenen Testdurchlauf. Der korrekte kommt hier:
'Projekt LED-Matrix
$regfile = "m8def.dat"
$crystal = 3686400
$hwstack = 40
$swstack = 16
$framesize = 32
Dim I As Byte , Sw As Byte , Zw As Byte
Ddrb = &B1111_1111 'Ausgänge
Ddrd = &B1111_1111 'Ausgänge
Do
For I = 0 To 6
Sw = Lookup(i , Spaltenwert)
Zw = Lookup(i , Zeilenwert)
Portd = Zw
Portb = Sw
Waitms 2
Next
Loop
Spaltenwert:
Data 251 , 241 , 234 , 251 , 251 , 241 , 234
Zeilenwert:
Data 1 , 2 , 4 , 8 , 16 , 32 , 64
Als Anlage die Dokumentation zum Roland Walter Board, das ich genauso
nachgebaut habe.
Christian F. schrieb:> Eine weitere Verlinkungen bis auf das pdf Dokument ist> leider nicht möglich. Ich dachte die Forums Mitglieder sind des> selbstständigen Denkens fähig.
Hoho, eine ziemlich freche Antwort von einem der Hilfe sucht :-(
Christian F. schrieb:> Ich dachte die Forums Mitglieder sind des selbstständigen Denkens fähig.
Was hat Denken mit stumpfsinnigem Suchen zu tun?
Christian F. schrieb:> @ kmiller Das Bild im ersten Thread zeigt den Ursprungszustand. Ja, der> Fehler wechselt mit.
Also funktioniert jetzt eine andere Spalte/Zeile(**) nicht. Wieder die,
die am PD.3 hängt?
Wenn ja, dann sag die Logik: es ist nicht der µC und nicht die Matrix,
sondern deine Platine.
Kontrollier mal, ob du da vom PD.3 einen Kurzschluss gegen die unnötig
geflutete Masse drin hast.
(**): du verwendest den Begriff Spalte und Zeile hier zimelich beliebig.
Denn normalerweise sind Zeilen waagrecht (wie im Buch) und Spalten
senkrecht. Bei dir ist es um 90° geddreht, denn der "Zeilenwert" wählt
die aktive Spalte aus.
Da steht
> Spalte 3 ... kommt von PD.3.
Und
1
Zw=Lookup(i,Zeilenwert)
2
Portd=Zw
Auf den PD.3, der auf die "Spalte 3" geht, wird ein "Zeilenwert"
geschrieben...
Nicht die Leute verarschen! schrieb im Beitrag #6903478:
> Der ist eben NICHT korrekt und würde Dein im ersten Post gezeigtes Bild> nicht erzeugen!
Man könnte aber auch auf eine total verrückte Idee kommen und Binärwerte
einfach als Binärwerte hinschreiben. Dann fallen Fehler sofort auf.
Mit Dezimalzahlen sind Fehler vorprogrammiert.
Und invertierte Werte kann man entweder mit dem NOT-Operator negieren
oder bei der Ausgabe.
Man muß sich ja nicht unnütz Knoten ins Gehirn machen.
Vielen Dank für die vielen Anregungen von Euch allen, die mir sehr
geholfen haben. Der Fehler ist wohl wahrscheinlich wirklich auf dem
Board zu suchen. Als ich es baute, hatte ich noch nicht die Möglichkeit
mir die Leiterbahnen durch ein Auflichtmikroskop anzuschauen, die jetzt
aber besteht. So werde ich nun mal ganz genau hinschauen, wo der Fehler
liegt.
Christian F. schrieb:> Vielleicht willst Du es mir ja erklären?
Falls du das ernst meinst - es kommt auf deinen Browser und dein
Betriebssystem an, z.B. unter Win10 mit Chrome: Rechtsklick auf
"Experimentierboard als PDF" und im aufpoppenden Menü "Adresse des Links
kopieren" anklicken. Dann hast du den Link in der Zwischenablage und
kannst ihn beliebig irgendwo einfügen.
Sehr richtig erkannt, Wolfgang. Es kommt auf das Betriebssystem an!
Warum gehst Du davon aus , daß ich das Sch.. Win 10 benutze? Vielleicht
solltest Du mal versuchen, Deinen Horizont zu erweitern? Das meine ich
gar nicht böse, es gilt hier auch für einige andere! (Du dienst jetzt
nur als Aufmacher, ich wollte schon lange mal sagen, dass Einige von
Euch vor Arroganz nur so strotzen und sich selbst als den Nabel der Welt
betrachten.) Vielleicht denken diejenigen, die sich jetzt angesprochen
fühlen, mal darüber nach, ob es hilfreich für den Fragenden ist, Ihm zu
zeigen, dass er ja nur ein "Blöder" ist.
Christian F. schrieb:> Ihm zu zeigen, dass er ja nur ein "Blöder" ist.
Du wolltest es erklärt haben, er hat diese Bitte erfüllt und im Grunde
nur gezeigt, wie er in seiner Konfiguration den Link kopieren kann.
Ein anderer Fragesteller hätte versucht daraus zu lernen.
> Vielleicht solltest Du mal versuchen, Deinen Horizont zu erweitern?
Der geworfene Stein fällt dir auf den eigenen Fuß. Denn ich kann das
auch mit den anderen OS, die ich so habe. Welches seltsame OS mit
welchem eigenartigen Browser hast du, dass du keinen Link kopieren
kannst?
Und zur Sache: wars jetzt eine Lotbrücke gegen Masse? Oder läuft das
Ding noch immer nicht?
An den Moderator Lothar M. !!!
Es ist für mich schon interessant, wie man ein Zitat so aus dem
Zusammenhang reißen kann, um dann den Sinn völlig zu verändern.
Respekt!!!
Du kannst mich nicht beleidigen, lieber Lothar M. Aber man kann es ja
versuchen.
Zur Sache:
Ja, es ist ein Kurzschluss am Pin 5. Nur leider ist er schwierig zu
beseitigen; ich bin noch dran. Also kann diese Sache als erledigt
gekennzeichnet werden.
Christian F. schrieb:> Also kann diese Sache als erledigt> gekennzeichnet werden.
Nach Deinen ausfallenden Bemerkungen wirst Du hier sowieso keine Hilfe
mehr bekommen.
Ich wüsste nicht, daß ich etwas ausfallendes von mir gegeben hätte.- Ihr
könnt nur keine Kritik vertragen! Warum dann überhaupt dieses Forum? Um
sich selbst zu beweihräuchern? Ich glaube ja. Vielen Dank.
Christian F. schrieb:> Warum gehst Du davon aus , daß ich das Sch.. Win 10 benutze?
Ich gehe von gar nichts aus. Mangels weiterer Info deinerseits, schrieb
ich "z.B.".
Du bist entweder nicht in der Lage, dein Endgerät zu bedienen oder
verwendest einen Browser/OS aus dem Neolithikum, das nicht er der Lage
ist, einen simplen Link zu kopieren.
Überleg dir selber, was Sch... ist.
Christian F. schrieb:> Du kannst mich nicht beleidigen, lieber Lothar M.> Aber man kann es ja versuchen.
Denn lies mal deinen Thread nochmal von oben nach unten durch und
analysiere, wer dir seine Freizeit geopfert, dir wiederholt Tipps zur
Fehlersuche gegeben und letztlich den Hinweis auf den Fehler in deiner
Hardware gegeben hat.
> Ja, es ist ein Kurzschluss am Pin 5.
Danke für die Rückmeldung.
Christian F. schrieb:> Ich wüsste nicht, daß ich etwas ausfallendes von mir gegeben hätte.
Wenn das tatsächlich so ist, ist eines klar: die nächsten Fehler musst
du ohne meine Hilfe finden.
Immer wieder nervig, wie sich 2 Parteien gegenseitig hochschaukeln.
In meinen Augen hat der länger im Forum aktive die Pflicht, den Ball
flach zu halten und sich nicht ständig an Kleinigkeiten aufzugeilen. Wir
sind hier ja nicht im Kindergarten.
https://www.youtube.com/watch?v=BKorP55Aqvg
Und als Fragesteller hilft es sehr, solche Posts einfach zu ignorieren.
Dann kriegt man mehr sinnvolle Antworten. Nicht drauf anzuspringen ist
immer die beste Reaktion.
Peter D. schrieb:> Immer wieder nervig, wie sich 2 Parteien gegenseitig hochschaukeln.Peter D. schrieb:> Und als Fragesteller hilft es sehr
... sich zunächst mal in Bescheidenheit und Dankbarkeit zu üben.
Immerhin bekommt man hier heisse Tipps für lau.
Das Fehlen dieser Verhaltensweise(n) ist nämlich eine häufige
Ursache für das Hochschaukeln der Kommunikation in eine
unerwünschte Richtung.
Dieter D. schrieb:> Von wegen Horizont erweitern. Das sagt der der überfordert ist einen Pin> zu schalten. 😂
Das ist ja schon Spezialwissen, aber es ist ja für ihn "nicht möglich",
den richtigen Link hier reinzukopieren.
Um Frustration zu vermeiden würde ich in einem solchen Fall allerdings
vor dem Einstieg in die Mikrocontrollerprogrammierung einen Kurs wie
'Computerkenntnisse für Einsteiger' oder 'Was ist das Internet - Kurs
für Anfänger' mitmachen.
Peter D. schrieb:> Und als Fragesteller hilft es sehr, solche Posts einfach zu ignorieren.
Solche wie:
> Ansonsten wäre ein Schaltplan hilfreich.> Ein Link zur Doku hätte auch gereicht...> Du solltest zudem den richtigen Quelltext zeigen, der zum Foto passt.
...
So wie ich das wahrnehme halten die länger Aktiven, die nur freundlich
helfen wollten, durchaus den Ball flach. Die werden dann verständlicher
Weise schnell sehr ruhig wenn der TO konsequent nur mit schlampigen
Fragestellungen, bockigen Antworten und Unwissenheit gepaart mit
Arroganz auffällt. Und anstelle der länger Aktiven, die nur helfen
wollten, treten dann die länger Aktiven, die sich über den Tölpel
amüsieren. Hier sind wir nun.