Forum: Mikrocontroller und Digitale Elektronik LED Matrixproblem


von Simon N. (ardi)


Angehängte Dateien:

Lesenswert?

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

von Maddin (Gast)


Lesenswert?

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

von Maddin (Gast)


Lesenswert?

...ach ja, und kontrolliere mal deinen Parallelport USB Adapter mit dem 
du die Matrix ansteuerst.

M

von Simon N. (ardi)


Angehängte Dateien:

Lesenswert?

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);



}

von boah (Gast)


Lesenswert?

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.

von John B. (johnbauer)


Lesenswert?

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.

von Simon N. (ardi)


Lesenswert?

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?

von MaWin (Gast)


Lesenswert?

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.

von John B. (johnbauer)


Lesenswert?

Simon Name schrieb:
> Wie ist das gemeint mit wieder aus machen?

http://www.mikrocontroller.net/articles/LED-Matrix

-> Multiplexbetrieb

von Maddin (Gast)


Lesenswert?

>>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.

von Simon N. (ardi)


Lesenswert?

Das ist die Arduinoumgebung

von Bernd S. (bernds1)


Lesenswert?

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
Noch kein Account? Hier anmelden.