Hi, ich habe gestern in den letzten 2 Tagen meine LED Matrix gebaut und sie funktioniert beim Ansteuern eigentlich auch aber es gibt doch ein größeres Problem: Wenn ich (siehe Bild) die LED zweite Reihe, 2te von rechts ansteuern möchte dann geht die LED über ihr auch mit an. genuaso wie wenn ich die LED der ersten Reihe, 4te von links ansteuern möchte dann geht die LED unter ihr auch an. Was könnte das Problem sein? Gruß und Danke
das liegt an der 3tten Zeile in deinem Code. Dort schaltest du mit dem Befehl 2 Portpins gleichzeitig ein. Und du solltest die Brücke auf der Unterseite deiner Platine zwischen R4 und R5 entfernen. M
...ach ja, und kontrolliere mal deinen Parallelport USB Adapter mit dem du die Matrix ansteuerst. M
Habs verstanden :) Code: void setup(){ pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(8, OUTPUT); pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(5, OUTPUT); pinMode(4, OUTPUT); pinMode(3, OUTPUT); pinMode(2, OUTPUT); pinMode(1, OUTPUT); } void loop(){ digitalWrite(7, HIGH); digitalWrite(2, HIGH); digitalWrite(10, HIGH); digitalWrite(8, HIGH); }
Die Löterei sieht ja übel aus, abgesehen vom Bildformat. (Bildformate kannst du bei jedem Verfassen eines Beitrags nachlesen) Alles abreißen, löten üben und nochmal sauber aufbauen. Fehler verschwindet dann vielleicht. Sind kalte Lötstellen und eventuell Berührungen drin. Ohne Schaltbild kann man mit deinem Programm (ist das komplett?) sowieso nicht auf den Fehler schließen.
Welche der dreizehn Ausgänge sind Zeilentreiber und welchen sind die Spaltentreiber?
1 | void loop(){ |
2 | digitalWrite(7, HIGH); |
3 | digitalWrite(2, HIGH); |
4 | |
5 | digitalWrite(10, HIGH); |
6 | digitalWrite(8, HIGH); |
Du schaltest die Zeilen/Spalten nur ein und nie wieder aus. Du darfst zu einem Zeitpunk nie mehrere Zeilen bzw. Spalten (je nach Ansteuerung) gleichzeitig einschalten. PS: Übe noch etwas löten. Und: Bildformate.
Ok das mit dem Löten ist wirklich nicht meine Schuld sondern ein nicht so ganz guter Lötkolben der bei der Spitze nicht ganz heiß wird :) Und @John Bauer Wie ist das gemeint mit wieder aus machen?
Vergiss diese Platinen, die ist für 230V. Wenn du Drähte durch Löcher steckst die auf der Rückseite keine Leiterbahn haben, kannst du nicht erwarten, daß diese keinen Kontakt mit der Leiterbahn des Nachbarloches bekommen. Nimm eine ordentliche Streifenrasterplatine.
Simon Name schrieb: > Wie ist das gemeint mit wieder aus machen? http://www.mikrocontroller.net/articles/LED-Matrix -> Multiplexbetrieb
>>Habs verstanden :)
nicht ganz:
Schaltplan
eingesetzer uc/pc was auch immer
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
pinMode(1, OUTPUT);
}
void loop(){
digitalWrite(7, HIGH);
was ist digitalWrite()?
was ist pinMode();
was steckt hinter "OUTPUT" und "HIGH"?
....
Es ist immer sehr mühselig das alles zu erfragen, da es Zeit kostet die
eigentlich du opfern solltest indem du deine Frage vollständig und
nachvollziehbar stellst :-) Aber das bekommen wir schon hin.
M.
Simon Name schrieb: > Und @John Bauer > Wie ist das gemeint mit wieder aus machen?
1 | > void loop(){ |
2 | > digitalWrite(7, HIGH); |
3 | > digitalWrite(2, HIGH); |
4 | > |
5 | > digitalWrite(10, HIGH); |
6 | > digitalWrite(8, HIGH); |
Ich kenne die Einzelheiten von Arduino nicht, aber wenn man nach den Funktionsnamen geht, ist folgendes der Fall: Du schaltest in einer Endlosschleife immer wieder die Pins 7,2,10,8 auf HIGH. Wenn du aber eine LED einschalten willst, mußt du doch eine Zeile und eine Spalte einschalten. Wenn du jetzt eine andere LED einschalten willst, machst du erst die andere LED wieder aus (Zeile und Spalte) und anschließend die neue LED an (Zeile und Spalte). In deinem Programm ist aber nur das Einschalten der vierPins zu sehen. Außerdem kennt keiner deinen Schaltplan und darum kann man auch nicht sagen, was die Zeilen sind und was die Spalten. Aber du kannst ja mal deinen Schaltplan ansehen, vielleicht verstehst du das dann. Am besten ist es natürlich, den Schaltplan mal zu posten. Aber bitte nicht mit mehreren MB!
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.