Schulprojekt: LED cube

Wer seine kompletten Projekte vorstellen möchte, kann dies hier tun

Moderator: Sebi

Schulprojekt: LED cube

Beitragvon Luk » 20.09.2013, 19:08

Hallo! Bin neu im Forum :D Ich habe am Ende dieses Schuljahres Prüfung! Und ich möchte bei der mündlichen Prüfung, ein Projekt vorstellen, dass ich selber gebastelt habe! Ich weiß das die Schule erst angefangen hat, aber ich möchte Anfang Dezember anfangen, weil ich schon sonst viel zu tun habe…. und ich möchte das Projekt in Ruhe bauen :D :wink: Nun aber weiß ich nicht genau was ich basteln könnte :? deshalb hab ich mich hier angemeldet, weil ich dachte, das der ein oder andere schon mal für eine mündliche Prüfung, ein Projekt vorgestellt hat und kann mir Tipps geben, und wenn ihr Vorschläge für mein Projekt habt, was man machen könnte, wäre ich sehr dankbar, jede Idee ist willkommen!!! :D :wink: nur Sinn der Sache ist, das alle Lehrer (Englisch, Deutsch…) etwas zu sehen haben!! Nicht nur etwas rein Technisches :wink:
Was ich mir überlegt habe, das man etwas sehen sollte ( LED`s oder LED Streifen), oder es könnte sich auch etwas bewegen. Zur Info: Ich habe für das Projekt ca. 5 1/2 Monate Zeit :wink:
So nun etwas über mich: Ich heiße Lukas bin 16 Jahre alt, komme aus Österreich und meine Elektronik/ Elektrotechnik Kenntnisse sind Mittelmäßig, bin also so zu sagen ein guter Amateur :D :wink:
Ich bedanke mich schon mal im Voraus und hoffe auf Hilfe :)
Probieren geht über studieren ;)
Luk
 
Beiträge: 45
Registriert: 13.09.2013, 17:11
Wohnort: Lienz

Re: Schulprojekt

Beitragvon Tim Sasdrich » 20.09.2013, 22:27

Herzlich Willkommen im Forum!

Also aus Erfahrung weiß ich, dass schwierige Schaltungen schlechter geeignet sind, als ein einfacher Nachbau oder sogar Bausatz.

Ich habe als Gesellenstück eine Hauptuhr gebaut (Schaltplan erstellt, Gehäuse entworfen, alle Platinen selbst hergestellt, Komplettes Programm selbst geschrieben usw.) und eine schlechtere Note bekommen, als einer, der einen Quadrokopter-Bausatz gebaut hat, und als Eigenleistung ein Lauflicht dran gehängt hat.
Meins war so "Naja, ist halt ne Uhr." und seins "Wow, es blinkt und kann fliegen, das ist ja toll".
Mein Programm, das ich in ca. 70 h (keine Schulstunden) erstellt habe, wurde gar nicht als Eigenleistung gerechnet.
Bei der Bewertung wurde das Gerät wohl nie in Betrieb genommen, die Zeiger standen danach nämlich auf der selben Stellung wie zuvor.

Also mein Tipp: Es sollte gut aussehen und schön blinken. Wenn es dann auch noch fahren oder fliegen kann, ist das natürlich noch besser. Besonders Leute, die sich nicht mit Elektronik auskennen, sind vom buntem Blinken sofort begeistert.
"Der Kluge lernt aus allem und von jedem, der Normale aus seinen Erfahrungen und der Dumme weiß alles besser." - Sokrates (470 - 399 v. Chr.), griechischer Philosoph
Tim Sasdrich
 
Beiträge: 2961
Registriert: 07.01.2009, 14:15
Wohnort: Villingen-Schwenningen

Re: Schulprojekt

Beitragvon dussel07 » 21.09.2013, 00:44

Wie wär es mit einem Fahrzeug das autonom einen Raum durchfährt und dabei eine Karte - Zeichnung des Selben erstellt (blinkende Lämpchen nicht vergessen!). Ist warscheinlich etwas hoch gegriffen -
schön sind auch die LED Cubs -
Ja, - ich bin Zwilling
Benutzeravatar
dussel07
 
Beiträge: 1627
Registriert: 30.04.2009, 21:04
Wohnort: Goslar

Re: Schulprojekt

Beitragvon Tim Sasdrich » 21.09.2013, 04:11

Ja, die LED Cubes sind auch gut geeignet.

Ansonsten glaube ich auch so ziemlich alle Licht-Basteleien vom Chef.

Tipp: Überlege gleich, was du über die Schaltung erklären willst und suche dir eine Schaltung, über die du viel erklären kannst. Z.B. Einsatzgebiete im Alltag.
"Der Kluge lernt aus allem und von jedem, der Normale aus seinen Erfahrungen und der Dumme weiß alles besser." - Sokrates (470 - 399 v. Chr.), griechischer Philosoph
Tim Sasdrich
 
Beiträge: 2961
Registriert: 07.01.2009, 14:15
Wohnort: Villingen-Schwenningen

Re: Schulprojekt

Beitragvon alterhase » 21.09.2013, 08:05

Der LED-Cube ist eine hübsche Sache, wenn du dich auch die µC-Programmierung einarbeiten möchtest.

Ansonsten würde ich die Digitaluhr vorschlagen oder auch einfacher (ohne Decoderteil) eine Binäruhr :wink:

Es kommt halt auch darauf an was DICH interessiert, denn du sollst ja auch was davon haben.
Löten verbindet ...manchmals. :mrgreen:
73 55
alterhase
 
Beiträge: 12050
Registriert: 14.11.2008, 08:58
Wohnort: Wien/Kapfenberg

Re: Schulprojekt

Beitragvon Luk » 21.09.2013, 08:51

Danke für eure Tipps! :wink: Aber die LED cube ist einfach Wow :D Ist aber eine solche µC-Programmierung nicht sehr schwierig? :? :wink: Und welches µC-Programm wäre für die LED cube am besten geeignet?? :)
Probieren geht über studieren ;)
Luk
 
Beiträge: 45
Registriert: 13.09.2013, 17:11
Wohnort: Lienz

Re: Schulprojekt

Beitragvon alterhase » 21.09.2013, 10:02

...Ist aber eine solche µC-Programmierung nicht sehr schwierig? :? :wink: Und welches µC-Programm wäre für die LED cube am besten geeignet?? :)...

:arrow: Ich glaube µC-Programmieren ist, wenn man sich dafür interessiert, nicht soo schwierig. Der Nutzen, den du allerdings davon hast ist enorm. Edit: Lass dich auf keinen Fall von der Einstiegshürde beeindrucken. :wink: Es schaut alles komplizierter aus als es tatsächlich ist.

:arrow: Das Programm schreibst du dir dann selbst - zumindest die einfacheren Muster.

Ich denke du findest auf der Elektronikerseite alles um erst das Handling des Programmierens (ich mein damit den ganzen Vorgang der aus mehreren Schritten besteht) zu erlernen. klickmich
Im BASCOM Simulator kannst du bereits ohne jede Hardware (=Bauteile und Geräte) die ersten Tests machen. Dann ein paar Lernübungen in Echt mit LED-Spielereien und der Cube ist in greifbarer Nähe. 8)

Hier ist ein weiterer sehr guter Einsteigerkurs in die BASCOM-Programmierung von AVR µC´s klickmich

Einsteigerboards gibts wie Sand am Meer, aber die sind eigentlich garnicht nötig.

Hier im Forum gibt es sicher viele die dich dabei unterstützen, falls du überhaupt Hilfe brauchst.
Löten verbindet ...manchmals. :mrgreen:
73 55
alterhase
 
Beiträge: 12050
Registriert: 14.11.2008, 08:58
Wohnort: Wien/Kapfenberg

Re: Schulprojekt: LED cube

Beitragvon Luk » 21.09.2013, 12:00

alterhase hat geschrieben: :arrow: Das Programm schreibst du dir dann selbst - zumindest die einfacheren Muster.

Ja, dass weiß ich schon :wink: Ich hab gemeint welche Programmiersprache am besten für die LED cube geeignet ist :arrow: BASIC, Pascal, Forth, Ada oder C++ usw. :wink:

alterhase hat geschrieben:Hier im Forum gibt es sicher viele die dich dabei unterstützen, falls du überhaupt Hilfe brauchst.

Natürlich brauch ich Unterstützung, sonst hätte ich mich hier nicht angemeldet :D :wink: Ok, danke! Dann programmiere ich mit BASCOM :wink: Aber davor noch etwas anderes: Wir machen dieses Jahr auch Arduino durch, man könnte doch die LED cube mit Arduino steuern, nur was ich weis, muss man da mit Wiring programmieren?? :)
Probieren geht über studieren ;)
Luk
 
Beiträge: 45
Registriert: 13.09.2013, 17:11
Wohnort: Lienz

Re: Schulprojekt

Beitragvon Tim Sasdrich » 21.09.2013, 12:49

Also das Programmieren eines 3D-Cubes ist einigermaßen einfach. War auch eins meiner ersten Mikrocontrollerprojekte.
Mein Tipp: baue einen 5x5x5 Cube, denn dann kannst du auch Lauftexte anzeigen.
Dafür brauchst du einen Controller mit 30 Ausgängen.
Ich weiß nicht, ob Arduino so viele Anschlüsse hat und schnell genug ist für einen LED-Cube, aber ich vermute da gibt es etwas passendes. Wenn ihr in der Schule eh damit arbeitet, macht es Sinn, es sich schon einmal selbst beizubringen. Dann hast du da auch Vorteile und leicht gute Noten.
Was ich gleich sagen kann: Programmieren lernt man nicht von heute auf Morgen. Und auch nicht wirklich in der Schule mit 2h pro Woche.
Aber wenn du an ein paar Nachmittagen einige Beispiele der Reihe nach nachbaust sollte das schnell gehen. Du solltest die Beispiele verstehen und kannst sie auch ändern um zu sehen, was passiert. Z.B. wenn eine LED blinkt sie schneller blinken lassen. Oder die Schleife drum herum löschen. Oder den Pin als Eingang definieren. So versteht man schnell, welche Befehle wozu gut sind.
BASCOM hat eine große Hilfe dabei, die alle Befehle auflistet, erklärt und meist noch ein Beispielprogramm dazu zeigt. Ich kann mir gut vorstellen, dass es bei anderen Programmen ähnlich ist.
"Der Kluge lernt aus allem und von jedem, der Normale aus seinen Erfahrungen und der Dumme weiß alles besser." - Sokrates (470 - 399 v. Chr.), griechischer Philosoph
Tim Sasdrich
 
Beiträge: 2961
Registriert: 07.01.2009, 14:15
Wohnort: Villingen-Schwenningen

Re: Schulprojekt: LED cube

Beitragvon MoRiX » 21.09.2013, 13:11

Ich habe vor kurzem auch einen LED-Würfel gebaut, aber nur 3x3 und nicht als Prüfung sondern während den Projekttagen. Der Würfel ist eine Shield-Platine für den Arduino UNO. Das Programm für die Ansteuerung hat uns der Mentor gegeben. Um Lichtmuster einzuprogrammieren muss man in dem Programm nur das entsprechende Bitmuster eingeben, was eigentlich ziemlich einfach ist. Hier ist das Programm:
Spoiler: show
Code: Alles auswählen
int LengthArray = 0;

//            LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 , X X X X X X X LED9
byte BitMuster1[] ={
                   B00010000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00001000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
   
                   B00000001, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B00000010, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B00000100, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B00100000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B00000000, B00000001,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B10000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B01000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B00001000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B00010000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3
                   
                   B00000000, B00000000,   // Muster über Ebene1
                   B00010000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00001000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B01000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B10000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000001,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00100000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000100, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000010, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000001, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00001000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00010000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00010000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00001000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000001, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000010, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000100, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00100000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00000000, B00000001,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B10000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B01000000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00001000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00000000, B00000000,   // Muster über Ebene2
                   B00010000, B00000000,   // Muster über Ebene3

                   B00000000, B00000000,   // Muster über Ebene1
                   B00010000, B00000000,   // Muster über Ebene2
                   B00000000, B00000000,   // Muster über Ebene3

                };


// Wir definieren die verwendeten Pins!
//
//  LED1  LED4  LED7
//  LED2  LED5  LED8
//  LED3  LED6  LED9
//
int led1 = 0;
int led2 = 1;
int led3 = 2;
int led4 = 3;
int led5 = 4;
int led6 = 5;
int led7 = 6;
int led8 = 7;
int led9 = 8;
int Ebene1 = A0;
int Ebene2 = A1;
int Ebene3 = A2;
int button = 13;

// Diese Funktion wird einmal automatisch aufgerufen, wenn Du reset drückst:
void setup() {             

  LengthArray = sizeof(BitMuster1);
 
  // Pins auf Ausgang setzen
  pinMode(led1, OUTPUT);     
  pinMode(led2, OUTPUT);     
  pinMode(led3, OUTPUT);     
  pinMode(led4, OUTPUT);     
  pinMode(led5, OUTPUT);     
  pinMode(led6, OUTPUT);     
  pinMode(led7, OUTPUT);     
  pinMode(led8, OUTPUT);     
  pinMode(led9, OUTPUT);     
  pinMode(Ebene1, OUTPUT);     
  pinMode(Ebene2, OUTPUT);     
  pinMode(Ebene3, OUTPUT);     
  pinMode(button, INPUT);
}


void multiplex_write(byte muster1, byte muster2)
{
if (muster1 & B00000001){
   digitalWrite(led1, HIGH);
   digitalWrite(led1, LOW);
}
if (muster1 & B00000010) {
   digitalWrite(led2, HIGH);
   digitalWrite(led2, LOW);
}
if (muster1 & B00000100) {
   digitalWrite(led3, HIGH);
   digitalWrite(led3, LOW);
}
if (muster1 & B00001000) {
   digitalWrite(led4, HIGH);
   digitalWrite(led4, LOW);
}
if (muster1 & B00010000) {
   digitalWrite(led5, HIGH);
   digitalWrite(led5, LOW);
}
if (muster1 & B00100000) {
   digitalWrite(led6, HIGH);
   digitalWrite(led6, LOW);
}
if (muster1 & B01000000) {
   digitalWrite(led7, HIGH);
   digitalWrite(led7, LOW);
}
if (muster1 & B10000000) {
   digitalWrite(led8, HIGH);
   digitalWrite(led8, LOW);
}
if (muster2 & B00000001) {
   digitalWrite(led9, HIGH);
   digitalWrite(led9, LOW);
}

}

// the loop routine runs over and over again forever:
void loop() {
int speed = 4500;    // hier kannst Du die Geschwindigkeit verändern Deiner Animation 
int buttonState;

// Serial.println("Textausgabe");
// Serial.println(i);
 
while(true)
{
  for(int i=0; i < LengthArray; i=i+6)
  {
   for(long x=0; x < speed; x++)     
   {     
     digitalWrite(Ebene1, HIGH);
     multiplex_write(BitMuster1[i], BitMuster1[i+1]);         
     digitalWrite(Ebene1, LOW);
     
     digitalWrite(Ebene2, HIGH);
     multiplex_write(BitMuster1[i+2], BitMuster1[i+3]);
     digitalWrite(Ebene2, LOW);
     
     digitalWrite(Ebene3, HIGH);
     multiplex_write(BitMuster1[i+4], BitMuster1[i+5]);
     digitalWrite(Ebene3, LOW);
     
   } 
  } 
}

}

Ich kann falls nötig auch noch ein paar Bilder schicken.
Grüße Moritz
MoRiX
 
Beiträge: 37
Registriert: 11.03.2013, 21:12
Wohnort: Amtzell

Re: Schulprojekt: LED cube

Beitragvon Anse » 21.09.2013, 14:48

So wie ich das sehe, ist die Sprache (wie heißt die eigentlich?) des Arduino C sehr ähnlich. C zu lerne schadet nicht weil man damit auch alles andere Programmieren kann. Zu dem hat C Möglichkeiten, die sehr nützlich sein können. z.B. 3 dimensionale Arrys
Anse
 
Beiträge: 1442
Registriert: 09.06.2011, 14:18

Re: Schulprojekt: LED cube

Beitragvon MoRiX » 21.09.2013, 15:22

Ja, die Programmiersprache für den arduino ist C.
MoRiX
 
Beiträge: 37
Registriert: 11.03.2013, 21:12
Wohnort: Amtzell

Re: Schulprojekt: LED cube

Beitragvon hws » 21.09.2013, 18:35

War hie nicht schomal ein LED-Würfel vorgestellt? Oder zumindest eine 2 dimensionale LED Fläche vor einem Spiegel?

hws
hws
 
Beiträge: 1081
Registriert: 11.01.2009, 18:58
Wohnort: NRW

Re: Schulprojekt: LED cube

Beitragvon alterhase » 21.09.2013, 18:39

Lichttunnel wäre der Suchbegriff. War glaubich ein monkey12 thread.
Löten verbindet ...manchmals. :mrgreen:
73 55
alterhase
 
Beiträge: 12050
Registriert: 14.11.2008, 08:58
Wohnort: Wien/Kapfenberg

Re: Schulprojekt: LED cube

Beitragvon Luk » 22.09.2013, 08:19

Tim Sasdrich hat geschrieben:Mein Tipp: baue einen 5x5x5 Cube, denn dann kannst du auch Lauftexte anzeigen.

Ich hab da eher auf einen 8x8x8 Cube gedacht :wink:

Ich hab da auch schon etwas sehr Interessantes gefunden: LED Cube 8x8x8 mit Arduino Uno Rev. 3
Hier ist der Link:http://ledcubeblog.blogspot.it/2012/12/einfuhrung.html Da wird der Bau des LED cubes, genau und ausführlich beschrieben :wink:
Hier noch der Link zur Bauanleitung zum downloaden: :wink:
Code: Alles auswählen
file:///C:/Users/Besitzer/Desktop/LED%20Cube%20LED%20W%C3%BCrfel%208x8x8%20mit%20Arduino%20Uno%20Rev.%203.pdf

Und was haltet ihr davon? :)
Probieren geht über studieren ;)
Luk
 
Beiträge: 45
Registriert: 13.09.2013, 17:11
Wohnort: Lienz

Nächste

Zurück zu Komplette Projekte

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast