INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
10x10x10 LED Würfel
21.04.2016, 16:04
Beitrag #1
10x10x10 LED Würfel
Hallo zusammen,
ich habe einen 10x10x10 LED Würfel gebaut. Der Würfel funktioniert soweit, aber es gibt ein Problem. Ich bin kein besonderer Programmierer.
Nun zur Frage, kann mir vielleicht jemand sagen wie ich es anstellen kann damit eine einzige LED leuchtet?? Geschafft habe ich es das von unten nach oben und umgekehrt alle jeweils 100 LED leuchten. Von links nach rechts kann ich leider auch nicht. Aufgebaut wurde der ganze Würfel mit Schieberegistern. Wird ein High Signal in das Schieberegister geladen, schiebt das CLK Signal diesen Zustand immer um einen Ausgang weiter. Verwendet wurde ein Arduino Mega 2560. Sollten noch fragen eurerseits auftreten werde ich versuchen diese bestmöglich zu beantworten. Hoffentlich kann mir jemand von euch helfen.
Vielen dank
Mario


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.04.2016, 12:45
Beitrag #2
RE: 10x10x10 LED Würfel
Hallo Mario,

(21.04.2016 16:04)dinamo schrieb:  Geschafft habe ich es das von unten nach oben und umgekehrt alle jeweils 100 LED leuchten.

Könntest du bitte den bereits lauffähigen Code hier posten? Dann können wir dir bestimmt auch ein paar Tips geben.

Gruß
Torsten

PS: bitte denk daran die Codetags (#-Zeichen im Editor) zu nutzen! Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.04.2016, 19:43
Beitrag #3
RE: 10x10x10 LED Würfel
Hallo,

ich kann aus Deinem Schaltplan nichtmal erahnen, wie die 100 LEDs verschaltet sind und angesteuert werden.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.04.2016, 21:01
Beitrag #4
RE: 10x10x10 LED Würfel
..und seit wann druckt Eagle den Plan um 90 Grad gedreht....Big GrinBig GrinBig Grin
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.04.2016, 16:53
Beitrag #5
RE: 10x10x10 LED Würfel
[quote='amithlon' pid='29249' dateline='1461437014']
Hallo,

ich kann aus Deinem Schaltplan nichtmal erahnen, wie die 100 LEDs verschaltet sind und angesteuert werden.

Hallo,
Ich gebe jetzt den ganzen Schaltplan hinein. Dieser besteht aus drei Teilen. Ich hoffe das es jetzt ersichtlich ist


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.04.2016, 17:39
Beitrag #6
RE: 10x10x10 LED Würfel
Hallo,

(28.04.2016 16:53)dinamo schrieb:  Ich gebe jetzt den ganzen Schaltplan hinein. Dieser besteht aus drei Teilen. Ich hoffe das es jetzt ersichtlich ist

ok, Du hast also an jedem der 100 Ausgänge Vorwiderstand und LED gegen GND.
Wo ist dann jetzt Dein Problem? Bit an die passende Stelle scheiben und die zugehörige LED leuchtet. Du hast doch letztlich ein 100 Bit langes Schieberegister und schiebst also 100 Bit rein, die aussagen, ob die jeweilge LED leuchtet oder nicht.

Wie hast Du es denn bis jetzt programmiert?

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.04.2016, 17:45 (Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2016 18:00 von dinamo.)
Beitrag #7
RE: 10x10x10 LED Würfel
Dadurch das ich vom programmieren absolut keine Ahnung habe kann ich es dir nicht sagen. Ich habe es ganz primitiv gemacht und wahrscheinlich funktioniert es deswegen nicht. Hier ist programmiert das alle von unten nach oben und wieder nach unten leuchten dauernd. Aber ich weiß eben nicht wie ich eine anspreche. Kann mir vielleicht jemand hier einen code reinstellen wie eben nur eine angesteuert wird.


#define data 11
#define clock 12
#define wait 1


byte zero = B00000000;byte one = B00000000;
byte two = B00001000;byte three = B00000000;
byte four = B11111111;byte five = B11111111;
byte six = B11111111;byte seven = B11111111;


void setup(){
pinMode(clock, OUTPUT); // Clock Pin 12 als Ausgang deklariert
pinMode(data , OUTPUT); // data Pin 11 als Ausgang ddeklariert

pinMode(35, OUTPUT); //Ausgänge für die Ebenen deklariert
pinMode(37, OUTPUT);
pinMode(39, OUTPUT);
pinMode(41, OUTPUT);
pinMode(43, OUTPUT);
pinMode(45, OUTPUT);
pinMode(47, OUTPUT);
pinMode(49, OUTPUT);
pinMode(51, OUTPUT);
pinMode(53, OUTPUT);
}

void loop(){
shiftOut(data, clock, MSBFIRST, zero); delay(wait);
shiftOut(data, clock, MSBFIRST, one); delay(wait);
shiftOut(data, clock, MSBFIRST, two); delay(wait);
shiftOut(data, clock, MSBFIRST, three); delay(wait);
shiftOut(data, clock, MSBFIRST, four); delay(wait);
shiftOut(data, clock, MSBFIRST, five); delay(wait);
shiftOut(data, clock, MSBFIRST, six); delay(wait);
shiftOut(data, clock, MSBFIRST, seven); delay(wait);



digitalWrite(35, HIGH); //1
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //2
digitalWrite(37, HIGH);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //3
digitalWrite(37, LOW);
digitalWrite(39, HIGH);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //4
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, HIGH);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //5
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, HIGH);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //6
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, HIGH);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //7
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, HIGH);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW);
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, HIGH);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW);
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, HIGH);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW);
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW);
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, HIGH);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);


digitalWrite(35, LOW);
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, HIGH);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //7
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, HIGH);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);


digitalWrite(35, LOW); //6
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, HIGH);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //5
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, HIGH);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //4
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, HIGH);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //3
digitalWrite(37, LOW);
digitalWrite(39, HIGH);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, LOW); //2
digitalWrite(37, HIGH);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);

digitalWrite(35, HIGH); //1
digitalWrite(37, LOW);
digitalWrite(39, LOW);
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, LOW);
digitalWrite(47, LOW);
digitalWrite(49, LOW);
digitalWrite(51, LOW);
digitalWrite(53, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
delay(50);





}

(28.04.2016 17:39)amithlon schrieb:  Hallo,

[quote='dinamo' pid='29337' dateline='1461858829']
Ich gebe jetzt den ganzen Schaltplan hinein. Dieser besteht aus drei Teilen. Ich hoffe das es jetzt ersichtlich ist

ok, Du hast also an jedem der 100 Ausgänge Vorwiderstand und LED gegen GND.
Wo ist dann jetzt Dein Problem? Bit an die passende Stelle scheiben und die


Hier ist noch ein Bild von der Platine. Der erste Schaltplan den ich gesendet habe zeigt nur wie die 100 Säulen angesteuert bzw verschalten sind. Die Ebenen werden mittels den ULN2803 durchgeschlagen auf den Platinenlayout ist es gut ersichtlich. Die 100 Säulen sind die Anoden der Led welche auf die 2 Stecker gehen und mit den UDN Treibern verbunden sind.Die UDN Treiber sind dann alle mit den Schieberegistern verbunden, wobei das erste Schieberegister die Daten vom Mikrocontroller erhält. Es gibt 10 Vorwiderstände die bei der Ebenensteuerung verbaut sind. Das Problem ist jetzt dass ich nicht wieß wie ich jede LED einzeln ansteure.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.05.2016, 19:56
Beitrag #8
RE: 10x10x10 LED Würfel
Hallo, kann mir wirklich keiner weiterhelfen??
Ist wirklich wichtig.
DANKE
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Code für Würfel korrekt? JanGamer11 12 810 12.01.2016 19:41
Letzter Beitrag: Claus_M

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste