4x4x4 LED Cube

Anleitungen für "hausgemachte" LED Projekte

Moderator: T.Hoffmann

Antworten
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

So, 02.08.09, 13:45

Hier nun mein erstes Projekt mit µC.
Habe erst überlegt, ob ich den Cube-Thread vom Januar weiterführen sollte, aber ich entschloss mich dann für ein neues Thema, da im alten Thread doch schon BIlder fehlten und er ausserdem mit den Editoren mehr auf 3x3x3 spezialisiert war.

Ich suchte ein Projekt, an dem ich das programmieren mal etwas vertiefen und anwenden konnte. Nach dem blättern im Forum stieß ich schließlich wieder auf den Cube-Virus...

Zum Einsatz kommt ein Atmega8, 64 blaue 3mm LEDs und der übliche Widerstand-Kabel-Transistor-Kram :wink:

Zuerst einmal wurden alle LEDs geköpft und haben es bis auf eine einzige auch alle überlebt.
Dann bohrte ich mir eine Schablone mit 25mm Raster, worin die einzelnen Ebenen des Würfels zusammengelötet wurden.
Projekt2.jpg
Anschließend wurden die hochstehenden Anodenanschlüsse etwas schräg weggebogen und die Spitzen der Drähte abgewinkelt, damit sie dann um die LED der nächsten Ebene herumreichen. Nach dem Schema kamen alle 4 Ebenen übereinander.
Der fertige Würfel wurde auf einer Holzplatte befestigt und in den 2mm-Löchern der Holzplatte mit 5min.-Epoxy festgeklebt.
Von unten kamen dann die 16 Leitungen für die senkrechten Stäbe und die 4 Leitungen für die waagerechten Ebenen angelötet.
Projekt3.jpg
Hier nochmal 2 Bilder der Elektronik. Der Aufwand für die Platine ist minimal. 16mal vom Ausgang über einen Widerstand an die LED-Stäbe. Und 4mal über einen Transistor zur Stromverstärkung an die Ebenen.
01082009509.jpg
Erst wenn alle Kabel dran sind, wird es etwas chaotischer.
01082009508.jpg
Aber dann ist es auch schon vollbracht.
Der erste Funktionstest lief auch problemlos ab. Zum Schluss hänge ich nochmal mein erstes Programm an. Viel komplizierter hätte man es glaub ich nicht mehr machen können, aber mehr hab ich mit meinen 1,5 Wochen Basic-Erfahrung noch nicht zu stande gebracht :oops:

an dieser Stelle auch nochmal danke an Borax, weil er mir bei Atmel-Fragen per PM zur Seite stand :wink: ...

gibt auch später noch ein video
Dateianhänge
Würfel Programm.zip
(4.83 KiB) 1635-mal heruntergeladen
Zuletzt geändert von Beatbuzzer am Fr, 14.08.09, 20:20, insgesamt 1-mal geändert.
Benutzeravatar
CRI 93+ / Ra 93+
Auserwählter
Auserwählter
Beiträge: 2801
Registriert: So, 19.10.08, 23:56
Wohnort: Hannover

So, 02.08.09, 14:39

Herzlichen Glückwunsch zu Deinem ersten erfolgreichen MCU-Projekt. Der Aufbau allein hat schon 5 Sterne verdient!

Es ist allerdings in der Tat recht umständlich programmiert, aber IMHO kann man in BASIC auch fast nicht vernünftig programmieren. Außerdem ist es ein Erstlings-Werk und damit ist klar, dass das nicht perfekt sein kann.
Ich würde empfehlen, C zu lernen, das ist eigentlich *die* Programmiersprache schlechthin, auf allen Systemen vertreten und sehr effizient, wenn auch weniger effizient als Assembler, dafür aber viel komfortabler. Und heutige Controller haben genug Rechenpower und Speicher, um den Overhead, den C im Vergleich zu Assembler hat irrelevant zu machen (wie man sieht ist ja sogar der Overhead von BASIC nicht so schlimm).

Jedem Atmel STK 500 MK II Programmieradapter (35 EUR bei Reichelt) liegt eine CD mit einer IDE (Integrated Development Environment) bei (die man allerdings nach kostenloser Registrierung auch kostenlos bei http://www.atmel.com herunterladen kann). Wenn man gleichzeitig WinAVR (ausgesprochen "whenever") installiert, kann man mit der Atmel-IDE auch in C programmieren (die erkennt automatisch ein installiertes WinAVR).
Bis 4 kB Flash-Speicher kostenlos (den bekommt man erfahrungsgemäß aber sher schnell auch voller) kann man CodeVisionAVR benutzen --- damit kann man auch recht komfortabel die IO-Pins, Interrupts, Timer, AD-Wandler, Serielle Schnittstelle, etc. konfigurieren und bekommt automatisch passenden Programmcode erzeugt.
Ich würde aber auf WinAVR setzen, das nutzt den GNU-Compiler, CodeVision liegt komplett in der Hand einer Einzelperson, für Hobby-Sachen sicher nicht schlimm, aber im professionellen Umfeld nicht ganz ideal.
Weiterhin gibt es noch den IAR-Compiler, der mit ca. 3000 € allerdings inakzeptabel teuer ist und wohl nur in sehr großen Unernehmen zum Einsatz kommt. Dafür compiliert er äußerst effizient.
Übersicht aller AVR-Compiler (unten) bei Wikipedia
GCC-Tutorial bei mikrocontroller.net

Ich weiß nicht, ob das in BASIC auch geht, aber Dein nächstes Ziel sollte sein, dass Du Dir ein Datenformat ausdenkst, in dem in je 64 Bits (=8 Bytes) jeweils das gesamte Muster drin liegt und nur noch ausgelesen werden muss.

Als nächstes könntest Du eine Software-PWM-Routine realisieren, die verschiedene Helligkeitsstufen ermöglicht, der einfachheit halber könnte man erstmal 1 Byte pro LED nehmen.

Und als Krönung wären dann einige vorgefertige Sequenzen, denen man als Parameter nur noch z.B. die Geschwindigkeit und Anzahl Schritte (oder gesamt-Ablaufzeit) übergibt, z.B. rotierende Linie, drehende Ringe, etc. --- auch dafür könnte man sich ein Datenformat ausdenken, aus dem die Anweisungen ausgelesen werden.
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Mo, 03.08.09, 19:17

Ich werde mal sehen, dass ich mich in nächster Zeit noch ein bisschen ins Programmieren einarbeite. Im anderen Würfelthread gab es ja auch eine effiziente Lösung auf basic-Ebene, die man vielleicht auf 4x4x4 übertragen kann.

Desweiteren muss ich auch erstmal wieder zum für den Hobbybastler real möglichen finden, nachdem ich DAS HIER gefunden hatte.
Als ich dann noch las, dass das nur ein Prototyp von Seekway war und die als nächstes einen 48x48x48 RGB Würfel mit 110.592 LEDs bauen wollen, war dann bei mir die Luft raus. :wink:
Borax
Star-Admin
Star-Admin
Beiträge: 11995
Registriert: Mo, 10.09.07, 16:28

Mo, 03.08.09, 22:47

Gratuliere zum ersten erfolgreichen Atmel Projekt!
Kann sich doch durchaus sehen lassen.
Ich weiß nicht, ob das in BASIC auch geht, aber Dein nächstes Ziel sollte sein, dass Du Dir ein Datenformat ausdenkst, in dem in je 64 Bits (=8 Bytes) jeweils das gesamte Muster drin liegt und nur noch ausgelesen werden muss.
Klar geht das. Der Bascom Compiler macht gar nicht soo schlechten Code, wenn man ein paar seiner Eigenheiten beachtet und zum 'rumprobieren' finde ich den code immer noch am angenehmsten lesbar. Allerdings ist der Bascom Compiler auch nur bis 4k Codegröße free. Danach kostet er ca. 80€, so dass ich Dir als 'Neueinsteiger' auch eher C empfehlen würde (wenn man programmiertechnisch noch nicht auf eine Sprache 'eingeschossen' ist). Nach 15 Jahren Basic lernt man halt nicht mehr so gerne um. Ich kann C problemlos lesen und (wenn es sein muss) auch programmieren, aber es dauert mir (mangels Übung) meist zu lange.
Benutzeravatar
CRI 93+ / Ra 93+
Auserwählter
Auserwählter
Beiträge: 2801
Registriert: So, 19.10.08, 23:56
Wohnort: Hannover

Mo, 03.08.09, 23:53

Ich habe mit AmigaBASIC (übrigens wohl das einzige Amiga-programm von Microsoft) angefangen, bin dann, weil das ar***lahm war zu dem MINDESTENS* 100.000x, eher 10 Mio x schnelleren 68000er-Assembler (äußerst komfortable Mnemonics im Vergleich zu dem Murks, den man für x86 und die meisten anderen an 8051 angelehnten Architekturen eingeben müsste) und bin nun bei C mit einem Ausflug zu Java. C++ habe ich noch nicht gelernt.

* Berechnungen die in AmigaBASIC mehrere Minuten gedauert haben, gingen in Assembler so schnell, dass man nicht gemerkt hat, dass da überhaupt was passiert war, aber die Berechnung wurde erfolgreich ausgeführt. Anfangs hatte ich noch assemblierte Assembler-Schnipsel in AmigaBASIC eingebunden. (Ja, das ging tatsächlich!)

Ich denke tiefer auf die Systemebene als bis zu C muss man heutzutage auch beim Mikrocontrollern nicht mehr oder nur äußerst selten gehen, gleichzeitig ist in C aber durchaus komfortables programmieren möglich, das was BASIC bietet ist wirklich nichts im Vergleich zu C.

Wenn Du allerdings bei BASIC bleiben möchtest, möchte ich Dir DRINGENDST raten auf sämtliche GOTO-Anweisungen zu verzichten, eigentlich kann man bei fast allen BASIC-Interpretern und -Compilern auch Unterroutinen definieren und mit AFAIR GOSUB aufrufen. Wie Parameter übergeben werden und man zurück kommt weiß ich allerdings nicht mehr (zurück evtl. mit RETURN, wie in C auch.) Wenn möglich und der Speicher nicht eng ist, lokale Variablen verwenden, aber das geht in BASIC glaube bereits schon nicht mehr...

GOTOs führen zu schwer bis nicht mehr nachvollziehbaren Programmen und es schleichen sich sehr leicht Fehler ein, außerdem ist es unglaublich unflexibel mit GOTO zu arbeiten.

Der verlinkte Würfel ist echt Krass, ist ja schon fast ein 3D-Monitor :mrgreen:
Um Arbeit und Kosten zu sparen könnte man auch 16x16 LEDs in einem 2-dimensionalen Feld anordnen und das ganze dann schnell rotieren lassen... ihr wisst schon, diese Dinger kennt wohl mittlerweile jeder, nur dass die eben meist nur aus 8 rotierenden LEDs in nur einer Ebene bestehen.
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Sa, 13.02.10, 18:58

Bin am Wochenende mal wieder etwas am programmieren, damit ich da auch mal fitter werde.
Da habe ich dann auch mal ein etwas effizienteres Programm für meinen Cube gemacht. Es ähnelt vom Prinzip her etwas dem Programm, welches mit dem 3x3x3 Cube-Virus zusammen in Umlauf ging. Pesi und Fightclub waren da meines Wissens für verantwortlich.

Nachdem ich da einigermaßen durchgestiegen bin, hab ich mir mal eins für meinen 4x4x4 aufgebaut. Die automatische Bilzdanzahlabfrage hab ich weggelassen, da die auch nur sinnvoll ist, wenn man einen Editor benutzt. Sonst muss man es eh eingeben.
Und nen Editor hab ich nicht, und traue ich mir auch nicht zu, zu schreiben. Nebenbei ist es nach kurzer Einarbeitung nicht viel umständlicher, eben schnell die Zustände für die Ports in der Tabelle zu setzen.

Als kleine "Neuheit" habe ich noch die Möglichkeit zugefügt, jedem Bild eine eigene Anzeigezeit zu verpassen. Dies kann sinnvoll sein, wenn man mal etwas fließende Effekte haben will, also schon so 6-10 Bilder/sec. braucht, aber andererseits auch ein paar Standbilder für 0,5-1sec. mit drin hat.
Realisiert hab ich das mit einer zweiten Tabelle, wo für jedes Bild eine Zahl hinterlegt wird, wie oft es durchlaufen soll. Oben im Hauptprogramm steht dafür eine Variable, welche bei jedem neuen Bild aktualisiert wird.

Hier nun das Programm. Neben dem Hauptteil hat es schon ein paar Bilder drin, welche bei meinem Cube alle LEDs einmal zum Test durchlaufen lassen und dabei zwei verschiedene Geschwindigkeiten verwenden.
Dateianhänge
4x4x4 Cube mit Data-Table.zip
(883 Bytes) 877-mal heruntergeladen
Benutzeravatar
Franny
Mega-User
Mega-User
Beiträge: 231
Registriert: Mi, 18.02.09, 13:28
Kontaktdaten:

Di, 23.02.10, 12:30

höhö^^ ich führ den thread ma weiter^^
will mir au einen würfel basteln^^ auch 4x4x4 weil mir die pins vom atmega8 (hab ich da) ned reichen
und hanbn paar fragen:
also die transis hast du sicherlich zum strom schalten da oda? hab allerdings schon varianten gesehn wo die nich eingebaut waren also frag ich lieber ma nach^^
was seehr nett wär, wär wenn du die schaltung ma von unten ablichten könntest. den rest krieg ich dann vermutlich schon raus^^
des weiteren hat beatbuzzer so wie auch manch andere n programm mit datentabelle verwendet...
und das versteh ich mit meiner jämmerlichen basic erfahrung noch nich wär kuhl wenn mir das jemand ma erklären könnt^^
die ergebnise werden natürlich geposted

mfg, franny
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Di, 23.02.10, 15:10

Na dann mal auf dass der Cube-Virus niemals ausstirbt :mrgreen:

Also die Transistoren schalten jeweils eine Ebene. Da in einer Ebene je nach Programm alle LEDs gleichzeitig an sein können, fließen dann Ströme von 16x LED-Strom. Das ist für einen einzigen µC-Port natürlich zuviel, deshalb schaltet bei mir ein BC547 Transistor.

Die LEDs werden nur mit ca. 12mA bestromt, was trotz Multiplexing über 4 Ebenen immer noch ausreichend hell ist. Der maximale Strom auf einer Ebene kann also 192mA betragen. Da reichen die BC547 mit ihren 200mA gerade so. Als Basisvorwiderstände habe ich 820ohm gewählt. Ganz schön klein, 1K würde vermutlich auch noch reichen, aber funktionieren tuts ja :wink: .

Nun zum Programm:
Ja mit Tabelle und so sieht erstmal nach Hokuspokus aus, ging mir genauso. Deshalb hatte ich zuerst auch so ein umständliches, ellenlanges Programm. Aber jetzt Anfang des Jahres hab ich mir nochmal das Cube-Programm vom 3x3x3 vorgeknöpft und das Prinzip endlich verstanden.
Oben im Hauptprogramm siehst du den Befehl "Lookup ( x , y )" . Damit wird auf die Tabelle zugegriffen. Die Variable x gibt dabei die Position in der Tabelle an, wo ein Wert ausgelesen werden soll, und die Variable y gibt an, in welcher Tabelle der Wert steht.

Vor "Lookup" steht der Port, für den die Daten gedacht sind, die gerade ausgelesen werden. Also z.B. PORTB = Lookup...
Unten in der Tabelle steht dann z.B. sowas: "&B00001111" . Wenn du jetzt beides zusammensetzt, erhälst du das:
PORTB = &B00001111
Wobei die einzelnen Zahlen jeweils für einen Portb stehen. Die letzte zahl steht für Portb.0 , die erste Zahl steht für portb.7 .

Also werden auf einen Schlag alle Ports von Portb.0 bis Portb.7 entsprechend geschaltet. 0 bedeutet dabei natürlich aus (low) und 1 bedeutet an (high).
Genauso verhält es sich mit Portc und Portd.

Ein Bild besteht jetzt aus drei Portblöcken, nämlich Portb Portc und Portd. Deshalb stehen hinter jedem "Data" drei Zahlenblöcke. Der erste ist für Portb, der zweite für Portc und der dritte für Portd. Das ganze steht nun vier mal untereinander, weil der Würfel ja vier Ebenen hat. Pro Bild hast du also einen so einen großen Block bestehend aus 12 Zahlenblöcken.

Du musst später also nur noch in diesen Blöcken die jeweiligen Zahlen auf 0 oder 1 setzen und kannst somit relativ schnell und effizient Bilder erstellen. Ich habe mittlerweile fast 400 Stück drin und der Speicher ist noch lange nicht voll :wink: .

Die zweite Tabelle mit den zeit-Variablen, die ich noch ergänzt habe, funktioniert ähnlich. Nur werden damit keine Ports gesetzt sondern nur eine Variable namens Speed. Diese Variable bestimmt, wie oft ein Bild wiederholt wird, bevor das nächste kommt. Pro Durchlauf braucht es bei mir ca. 12ms. Lässt du ein Bild also 100 mal Durchlaufen, wird es etwa 1,2 sec. angezeigt.
Ebenso kannst du es nur 8mal durchlaufen lassen, und hast somit etwa 10 Bilder pro sec. was schon ziemlich fließende Effekte erzeugt.

Das erstmal als groben Überblick über das Ganze. Ich hoffe, es macht jetzt schon mal ein bisschen Klick bei dir, denn wenn man es erst hat, dann ist es wirklich simpel :) .
Ansonsten stell halt noch ein paar detailliertere Fragen. daran solls nicht scheitern.
Benutzeravatar
Franny
Mega-User
Mega-User
Beiträge: 231
Registriert: Mi, 18.02.09, 13:28
Kontaktdaten:

Di, 23.02.10, 19:12

ok also das programm hat soweit erst ma klick gemacht^^ danke
aaber beim aufbau hab ich noch ne frage: wenn des etz blöd gschalten is, können ja an einem stab trotzdem alle 4 leds brennen... und sin 48mA nich au schon mehr wie doppelt so viel was der port aushält?
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Di, 23.02.10, 19:15

Franny hat geschrieben:wenn des etz blöd gschalten is, können ja an einem stab trotzdem alle 4 leds brennen... und sin 48mA nich au schon mehr wie doppelt so viel was der port aushält?
Wenn das Programm fehlerhaft ist, dann wäre es hardwaretechnisch möglich, dass alle 4 gleichzeitig leuchten.
Aber im Normalfall, wenn die Hauptschleife läuft, kannst du unten in der Tabelle einstellen, was du willst. Die Ebenen werden trotzdem immer nacheinander geschaltet.
Benutzeravatar
Franny
Mega-User
Mega-User
Beiträge: 231
Registriert: Mi, 18.02.09, 13:28
Kontaktdaten:

Di, 23.02.10, 19:18

ok xD also wenn ich schön brav bin dann dürfte nix schief gehn^^
ich bestell dann heut ma noch die blauen in 5mm werdens schon tun oda?^^

also dann bedanke ich mich bis jetzt erst ma :D
ich stell die ergebnisse dann hier rein

mfg, franny


EDIT: wie genau hast du die transistoren gschalten? also vom ic an die basis aba wie den collector und den emitter?
EDIT2: hehe wär ich nie drauf kommen xD XD
Zuletzt geändert von Franny am Di, 23.02.10, 19:47, insgesamt 2-mal geändert.
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Di, 23.02.10, 19:23

Franny hat geschrieben:die blauen in 5mm werdens schon tun oda?^^
Also ich hab 3mm genommen, aber das steht dir natürlich frei. Mit 5mm wirds nicht schlechter gehen, nur die sind halt größer (wer hätte das gedacht). :mrgreen:
Benutzeravatar
Franny
Mega-User
Mega-User
Beiträge: 231
Registriert: Mi, 18.02.09, 13:28
Kontaktdaten:

Do, 25.02.10, 22:28

ey beatbuzzer eine letzte frage noch:
so wie ich das seh auf den pics seh hast du die ebenen auf
pd.1-pd.4 stimmt das?
wenn ich dann aba das dein programm angug seh ich das muster für die ebenen bei pd.4-pd.7
wenn ich mich da irre bitte korrigier mich xD

also meiner is etz fertich gelötet und hab ich hab die pins für die ebenen auf pd.0-pd.3
wenn ich das etz doch langsam richtig verstand hab müsst ja bei mir n datensatz so aussehn:

Code: Alles auswählen

Data &Bxxxxxxxx , &Bxxxxxxx , &B10000000                     
Data &Bxxxxxxxx , &Bxxxxxxx , &B01000000
Data &Bxxxxxxxx , &xxxxxxxx , &B00100000
Data &Bxxxxxxxx , &xxxxxxxx , &B00010000
bitte um aufklärung^^

mfg, franny

ps: jaa es müssten noch n paar "x" dazu aba war etz zu faul rauszugugen welche des wären^^

EDIT: ich schreib einfach ma was rein damit der post oben bleibt xD
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Fr, 26.02.10, 13:37

Nein, du zählst von der falschen Seite.
Die Zuordnung ist anders herum:

7 6 5 4 3 2 1 0
&B0 0 0 0 0 0 0 0

Also die letzte Stelle ist Portx.0 und die erste ist Portx.7

Bei mir ist Ebene 1 auf PBD3, die 2te auf PD2, dritte auf PD1 und vierte auf PD0.

PS: Durch EDITs wird das Topic nicht wieder nach oben geschoben, aber ich sehe auch öfter mal unter dem Punkt "eigene Beiträge" nach, ob jemand etwas zu Topics geschrieben hat, an denen ich auch beteiligt bin, bzw. die ich erstellt hab :wink: .
Wotan
Mini-User
Beiträge: 1
Registriert: Do, 10.03.11, 08:53

Do, 10.03.11, 08:57

Könntest du mir sagen was du für Widerstände benutzt hast, für die direkt Verbindung zu den LEDs. Konnte die nicht genau erkennen anhand deiner Bilder. Wäre sogar gut wenn du deine Platine mal von unten fotografieren könntest.
kicherer
Mini-User
Beiträge: 1
Registriert: So, 02.09.12, 11:43

So, 02.09.12, 11:49

Hallo zusammen,

ich habe die Hardware eines LED Würfels 4x4x4 erstellt. Nun benötige ich eine HEX File für einen AT mega8 für den Cube.
Die Datei Würfelgemuxe.hex funktioniert bei mir nicht richtig.
Ich benutze ubuntu, avrdude.
Gibt es ein Programm unter ubuntu, um selber einfach hex files zu erstellen ?
Danke schon im vorraus.

Gruss kicherer :wink:
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

So, 02.09.12, 12:02

kicherer hat geschrieben:Hallo zusammen,
ich habe die Hardware eines LED Würfels 4x4x4 erstellt. Nun benötige ich eine HEX File für einen AT mega8 für den Cube.
Die Datei Würfelgemuxe.hex funktioniert bei mir nicht richtig.
Meine Datei kann auf deinem Würfel nur dann funktionieren, wenn du die Pins exakt so belegt hast, wie ich es auch getan habe. Und der clock auf 8 MHz gesetzt ist.

Ich benutze ubuntu, avrdude.
Gibt es ein Programm unter ubuntu, um selber einfach hex files zu erstellen ?
Die hex-files erstellt der Compiler der Software in der du das Programm schreibst. Da brauchts eigentlich kein weiteres Tool zu. Was es da alles für Linux bzw. Ubuntu gibt, kann ich dir nicht sagen.
Borax
Star-Admin
Star-Admin
Beiträge: 11995
Registriert: Mo, 10.09.07, 16:28

Mo, 03.09.12, 13:33

Gibt es ein Programm unter ubuntu, um selber einfach hex files zu erstellen ?
Entweder in C programmieren: http://www.avrfreaks.net/wiki/index.php ... on:AVR_GCC oder Bascom unter Wine verwenden:
http://www.roboternetz.de/community/thr ... x-mit-wine
cfjoe
Mini-User
Beiträge: 3
Registriert: Di, 16.10.12, 22:12

Do, 18.10.12, 01:57

Hi zusammen,

würden die für einen Cube reichen??

http://www.ebay.de/itm/1000-Led-Leuchtd ... 27c98a51ad

Ich meine jetzt nicht die Stückzahl sondern die technischen Daten.

Durchmesser: 5mm
Leuchtfarbe: Weiß
Lichtstärke: 11000-13000MCD
Spannung: 3.0-3.4V
Strom: 20MA
Leuchtwinkel: 15°

Für Infos wäre ich dankbar.

Joe
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Do, 18.10.12, 05:24

Also ich würde nicht irgendwelche noname-LEDs zu einem Würfel zusammen bauen. Wenn da mal irgendwo in der Mitte eine LED ausfällt, dann hat man ein Problem. Außer man baut alles steckbar.
Weiterhin sind die 15° Abstrahlwinkel nicht gerade gut. Erstens sieht man dann von der Seite kaum noch was vom Lichtspiel und weiterhin leuchten die LEDs in Strahlachse sehr stark in die benachbarten LEDs hinein, sodass es den Anschein hat, dass beide leuchten. Entweder müsstest du die gleichen Aufwände wie ich treiben mit Abschleifen und von unten schwarz lackieren, oder aber gleich passendere LEDs nehmen.
Diffuse wären z.B. eine Möglichkeit. Allerdings sind die oft nicht so hell, und bei der Unterbestromung wegen Multiplexing könnte es dann bei Tageslicht schon bald zu dunkel werden.
Hier trotzdem mal ne Auswahl:
http://www.leds.de/Suche/led%20diffus
blauleoni
User
User
Beiträge: 16
Registriert: Di, 28.02.12, 13:25

Mo, 21.01.13, 09:56

Im großen und Ganzen OK, es fehlt aber noch 100nF am AVR. Ein Latch kannst du dir sparen und direkt an den AVR klemmen. Denn beim neu laden ist dein LED-Matrix sowieso für ein paar Mikrosekunden ausgeschaltet.
Antworten