Hallo !
Ich schaue mich hier schon länger im forum um und habe mir viele Infos zum bau eines led cubes geholt.
Am Anfang hatte ich noch keine Ahnung wie ich mir so ein Cube bauen soll. Hatte noch null Löterfahrung geschweige denn Ahnung von den Komponenten die ich brauchte.
Habe mich dann etwas Informiert was ich so brauche und die Teile bestellt. Nach ca. 2 Monaten hatte ich ihn dann fertig zusammen gebaut und stand schon vor dem nächsten Problem - wie programmiere ich das ding ?
Nach einiger Zeit googlen und youtube filme schauen installiere ich mir Atmel Studio 6 und programmierte meine erste Animation.
Code:
#define F_CPU 2000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRA=0b11111111;
DDRC=0b11111111;
DDRD=0b00001111;
while(1)
{
PORTA=0b00000001;
PORTD=0b11110000;
_delay_ms(50);
PORTA=0b00000010;
_delay_ms(50);
PORTA=0b00000100;
_delay_ms(50);
PORTA=0b00001000;
_delay_ms(50);
PORTA=0b10000000;
_delay_ms(50);
PORTA=0b00000000;
PORTC=0b00010000;
_delay_ms(50);
PORTC=0b00000001;
_delay_ms(50);
PORTC=0b00000010;
_delay_ms(50);
PORTC=0b00000100;
_delay_ms(50);
PORTC=0b00001000;
_delay_ms(50);
PORTC=0b10000000;
_delay_ms(50);
PORTC=0b00000000;
PORTA=0b00010000;
_delay_ms(50);
PORTA=0b00100000;
_delay_ms(50);
PORTA=0b01000000;
_delay_ms(50);
PORTC=0b00100000;
_delay_ms(50);
PORTC=0b01000000;
_delay_ms(50);
PORTC=0b00000000;
}
}
Alles anzeigen
Jetzt zu meiner eigentlichen Frage:
Wie kann ich diesen code schöner und kleiner schreiben? Ich habe mir auch schon ein Buch über c++ gekauft, bringt mich aber nicht wirklich weiter. Könnt ihr mich ein wenig unterstützen? Oder hat jemand einen einfach geschriebenen code wo ich etwas abschauen kann?
Ist es möglich jeder einzelnen led eine Nummer zuzuweisen? Oder wäre es machbar z.B. dem PORTA=0b00000001 und PORTD=0b10000000 die Nr. 1 zu geben ?
Wenn ich es schaffe mein Cube "richtig" zu programmieren schreibe ich ein komplettes Tutorial über den zusammenbau und der programmierung.
Ich weiss es gibt schon einige tuts, jedoch wurde ich nicht immer schlau daraus.
Mein Tutorial soll so einfach wie möglich werden, damit es auch Leute verstehen die nichts mit elektronik und programmierung am hut haben.