Projekt: LED's Dance | I can Dance - comments Please !

  • Hallo zusammen,


    immer schon wollte ich Musik tanzen sehen. Leider fand ich mit meinen Suchkenntnissen nicht viel darüber, vielleicht kennt ja jemand experimente solcher Art, welches ich nun fast fertiggestellt habe...:


    R&B Version: http://www.youtube.com/watch?v=dt1VHJUPZ7g


    Techno Version: http://www.youtube.com/watch?v=OpWScrz4nmk


    Zur Technik: Analoger Tiefpassfilter, steuert den ATMEGA32 (Könnte auch auch 8er sein.. sind alle schnell genug), 5x8 Dotmatrix.


    Hier findet ihr ein kleines Javascript, womit ich die Animationen erstellt habe:


    http://oktay.com/ledgen/leds.html


    was haltet ihr davon?




    Schöne Grüße,


    D.

  • Muss mich meinem Vorredner anschliessen!Sehr witzig

    :thumbup: Sehr witzig. Gefällt mir. Hast du noch mehr Informationen zur Durchführung für uns oder ist das unter Verschluss?
    Ist es mit viel Aufwand verbunden das Männchen komplett darzustellen?

    Das wär jetzt auch meine Frage gewesen weil wenn ich das jetzt keine Beschreibung hätte würde ich einfach sagen das sich da was bewegt aber niemand tanzt

  • Hallo und vielen Dank erstmal für euer Feedback.


    Eine richtige Doku habe ich noch nicht zusammen gestellt, muss ich umgehend machen, aber bin ja noch am basteln. Kommt aber !


    da das Ganze auf einer 5x8 Matrix dargestellt wird, ist es schwer den "tippi" vollständig darzustellen.


    Ihr könnt ja mal hier versuchen:


    http://oktay.com/ledgen/leds.html


    einfach auf die LEDs klicken und auf ADD, dann wird eine neue Zeile eingefügt.


    für eine vollständige darstellung würde man min. eine weitere DOT Matrix benötigen. Besser 3...

  • Das ist ja mal ne total lustige Sache! - und so simpel, muss man erst mal drauf kommen! :thumbup:


    Wäre evtl. auch ganz witzig, die Matrix um 90° zu drehen, dann könnte man damit auch schon ein ganzes Männchen darstellen - wenn auch sehr grob aufgelöst.... so z.B.:



    _____________________________________________________________________
    "Allgemeines P.S.", bezugnehmend auf diesen Thread/Post (vorletzter Absatz): für obigen Beitrag habe ich (trotz völliger Sinnlosigkeit) exakt genausoviel "Belohnung" erhalten, wie wenn ich irgendwo "schaut supa aus" oder "was ist Vorwiderstand?" (oder ähnlich wichtige Beiträge) reingeschrieben hätte... :P

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Tolle Idee, ist zwar nicht ganz meine Musik, aber simpel und Wirkungsvoll!


    Pesi, dein Männchen gefällt mir auch, trotz der geringen Auflösung erkennt man was es sein soll :)


    Was mir da so einfällt..
    Hat eigentlich schonmal jemand ein Tamagochi mit LEDs gebaut?

  • lol, endlich mal gleichgesinnte :D


    ich hatte hier mal angefangen mit der vertikalen version, ist aber noch nicht fertig, aber zum klicken geht es...


    http://oktay.com/ledgen/leds_v.html


    Falls reges Interesse da sein sollte, werde ich mal ein Schaltplan und Sourcen zum Nachbauen + die versprochene Doku zur Verfügung stellen.


    Schöne Grüße aus Dortmund


    D.

  • Hi Denim,


    natürlich sind hier Gleichgesinnte! :D - und Interesse an Doku ist hier auch immer vorhanden (bei manchen zumindest....)


    Finde diesen Editor auch ziemlich cool, wusste gar nicht, dass man sowas mit Javascript machen kann.... war aber bestimmt arg aufwendig, oder...?


    Örrhmääh, möchte nicht unverschämt erscheinen, aber wäre es ein arger Aufwand, den vertikalen Editor noch auf 5x12 zu erweitern...? - weil das wäre dann das ideale Teil zum editieren für diese Platine, da wollte ich mal ne 5x12-Matrix damit bauen - und zwar eben vertikal... und lustigerweise auch mit ähnlichen Animationen, das soll ein Geschenk für nen befreundeten DJ werden..... ;) so ne kleine Säule, die er sich auf sein Pult stellen kann....


    viele Grüße, der Pesi

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • mit JS ist schon sehr viel möglich, nur Dateizugriff geht nicht... nun gut, du wolltest 5 x 12 ? bitteschön:


    http://oktay.com/ledgen/leds.html (hab oben ein wenig was geändert...)


    feedback wie immer erwünscht ;)


    viel spaß!


    ps: die buchstaben dahinter sind die tastatur kürzel...


    pps: mit FF gibt es noch problemchen... hab noch keine zeit gehabt...


    ppps: achja, für den 3x3x3 cube hatte ich auch noch einen mal geschrieben: http://oktay.com/ledgen/ falls es den einen oder anderen noch interessiert...


    pppps: lol

  • hallo zusammen, habe nun die scripte (cube ledgen 3x3x3 und leds.html dot matrix) nun für ff angepasst und auch eine textbox eingefügt...


    scheint ja mehr interesse an den scripten zu bestehen, als an dem eigentlichen projekt leds dance :D


    @all FF & script user: das mit den leertasten lag an FF, sollte nun gehen...

  • scheint ja mehr interesse an den scripten zu bestehen, als an dem eigentlichen projekt leds dance :D

    Hm, naja, das liegt wohl daran, dass der Editor (Hammer Teil übrigens, Geilomat!) ein wesentlicher Bestandteil des Projekts ist...? (Und nebenbei, vor ein paar Wochen ist hier auch mal so ein "Cube-Fieber" ausgebrochen, daher wohl auch das große Interesse an dem Cube-Eitor....)


    Die LEDs-Dance Hardware ist ja eigentlich "nur" (nicht abwertend gemeint!) ne Matrix (nehme ich mal an..?) - die einem ja allein nix hilft, wenn man nicht die entsprechenden Bilder dazu hat (wobei hier der Schaltplan z.B. für den einen oder anderen auch interessant wäre, da streiten ja grad schon wieder die Experten, wie man so ne kleine Matrix am besten ansteuert :D). Daher denke ich, gehört der Editor schon auf jeden Fall dazu, wenn man so ein Männchen zum Tanzen bringen will.


    Interessant wäre auch, wie das Softwaretechnisch gelöst ist: ist das einfach ne große Schleife, die mit dem Takt vom Analog-Eingang (also "Bum, bum, bum") durchgespielt wird, oder werden da Zufallsbilder aufgerufen? Oder - damit's nicht zu durcheinander geht - Teilanimationen (also z.B. 5 zusammengehörige Bilder), diese aber per Zufall durchgewechselt...? - Wäre schon interessant zu erfahren, auf jeden Fall!


    Der Cube-Editor ist ja auch nett! - Schöne Idee, das gleich an einem Foto des Cube darzustellen... ideal wäre natürlich, wenn man gleich direkt die LEDs anklicken könnte... ;) - Jemand hier im Forum ist gerade dabei, sowas zu entwickeln, das sieht jetzt auch schon sehr vielversprechend aus.


    Das Datenformat ist (für meine Verhältnisse) etwss "seltsam" - bei dem Cube-Editor kommen z.B. lauter 3-Bit-Zahlen raus... bei ner 5x12-Matrix z.B. dann lauter 5-Bit-Zahlen...


    Das ist für mich halt ungewohnt, da ich in Assembler programmiere, und da immer ganze Bytes ablege... Du machst in C, oder? - und dann diese Zahlen in ein Array, egal ob jetzt 3 Bit, 8 Bit oder 12 Bit, sehe ich das richtig....? - also der Matrix-Editor ist für mich trotzdem super, mach' ich halt 8x12 statt 5x12, und benutze nur die rechten 5 Spalten... das ist ja super an dem Teil, dass man das in beliebiger Größe einstellen kann....

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Hey Pesi,


    also, die Animationen sind einfach aufgebaut. Die Tanzbewegungen habe ich bei Madonna abgeschaut :D


    die die animationstabelle, kann man einfach in das textfeld auch einfügen und abspielen. Allerdings sollten da die comments rausgenommen werden..


    struct animationen {
    unsigned char row5;
    unsigned char row4;
    unsigned char row3;
    unsigned char row2;
    unsigned char row1;
    unsigned long int laenge; }


    const zeilen[] PROGMEM = {
    { 0b00010000, 0b11111000, 0b00010100, 0b00101010, 0b00111000, 1200 },
    { 0b00010000, 0b11111100, 0b00010010, 0b00101000, 0b00111000, 1200 },
    { 0b00010000, 0b11111110, 0b00010000, 0b00101000, 0b00111000, 1200 },
    { 0b00010010, 0b11111100, 0b00010000, 0b00101000, 0b00111000, 1200 },
    { 0b00010010, 0b11110100, 0b00011000, 0b00101000, 0b00111000, 1200 },
    //0-4
    { 0b00001001, 0b01111010, 0b00001100, 0b00010100, 0b00011100, 1200 },
    { 0b00001001, 0b01111110, 0b00001000, 0b00010100, 0b00011100, 1200 },
    { 0b00001000, 0b01111111, 0b00001000, 0b00010100, 0b00011100, 1200 },
    { 0b00001000, 0b01111110, 0b00001001, 0b00010100, 0b00011100, 1200 },
    { 0b01001000, 0b00111110, 0b00001001, 0b00010100, 0b00011100, 1200 },
    { 0b01001000, 0b00101110, 0b00011001, 0b00010100, 0b00011100, 1200 },
    //5-10
    { 0b01001000, 0b00101110, 0b00011001, 0b00010100, 0b00011100, 1200 },
    { 0b01001000, 0b00101010, 0b00011101, 0b00010100, 0b00011100, 1200 },
    { 0b01001000, 0b00101011, 0b00011100, 0b00010100, 0b00011100, 1200 },
    { 0b01001001, 0b00101010, 0b00011100, 0b00010100, 0b00011100, 1200 },
    { 0b01001001, 0b00101110, 0b00011000, 0b00010100, 0b00011100, 1200 },
    { 0b01001001, 0b00111110, 0b00001000, 0b00010100, 0b00011100, 1200 },
    { 0b00001001, 0b01111110, 0b00001000, 0b00010100, 0b00011100, 1200 },
    { 0b00001000, 0b01111111, 0b00001000, 0b00010100, 0b00011100, 1200 },
    //11-18
    { 0b01001000, 0b00101110, 0b00011001, 0b00010100, 0b00011100, 1200 },
    { 0b10010000, 0b01011100, 0b00110010, 0b00101000, 0b00111000, 1200 },
    { 0b10010000, 0b01111100, 0b00010010, 0b00101000, 0b00111000, 1200 },
    { 0b10010000, 0b01111000, 0b00010110, 0b00101000, 0b00111000, 1200 },
    //19-22



    {0b10010000,0b01111000,0b00010110,0b00101000,0b00111000,1200},
    {0b01010000,0b00111100,0b00010010,0b00101000,0b00111000,1200},
    {0b01010000,0b00111110,0b00010010,0b00101000,0b00111000,1200},
    {0b00010000,0b00111110,0b00010001,0b00101000,0b00111000,1200},
    {0b00011000,0b00111111,0b00010001,0b00101000,0b00111000,1200},
    {0b00011000,0b00111111,0b00010001,0b00101000,0b00111000,1200},
    {0b00011000,0b00011111,0b00110101,0b00101000,0b00111000,1200},
    //23-29


    {0b00011000,0b00011111,0b00110101,0b00101000,0b00111000,1200},
    {0b00011000,0b00011111,0b00110000,0b00101000,0b00111000,1200},
    {0b00010011,0b00011100,0b00110000,0b00101000,0b00111000,1200},
    {0b00110100,0b00111000,0b00010000,0b00101000,0b00111000,1200},
    {0b01011000,0b00111000,0b00010000,0b00101000,0b00111000,1200},
    {0b11010000,0b00111000,0b00010000,0b00101000,0b00111000,1200},
    {0b10110000,0b01111000,0b00010000,0b00101000,0b00111000,1200},
    {0b01110000,0b11111000,0b00010000,0b00101000,0b00111000,1200},
    {0b01110000,0b11111000,0b10010000,0b00101000,0b00111000,1200},
    //30-38


    {0b01110000,0b11111000,0b10010000,0b00101000,0b00111000,1200},
    {0b01110000,0b11111000,0b00010000,0b00101000,0b00111000,1200},
    {0b10110000,0b01111000,0b00010000,0b00101000,0b00111000,1200},
    {0b11010000,0b00111000,0b00010000,0b00101000,0b00111000,1200},
    {0b01011000,0b00111000,0b00010000,0b00101000,0b00111000,1200},
    {0b00110100,0b00111000,0b00010000,0b00101000,0b00111000,1200},
    {0b00010011,0b00011100,0b00110000,0b00101000,0b00111000,1200},
    {0b00011000,0b00011111,0b00110000,0b00101000,0b00111000,1200},
    {0b00011000,0b00011111,0b00110101,0b00101000,0b00111000,1200},
    //39-47


    { 0b00000000, 0b00000000, 0b00010000, 0b00000000, 0b00000000, 1100 },
    { 0b00000000, 0b00010000, 0b00101000, 0b00010000, 0b00000000, 1100 },
    { 0b00000000, 0b00111000, 0b00101000, 0b00111000, 0b00000000, 1100 },
    { 0b00010000, 0b00101000, 0b01000100, 0b00101000, 0b00010000, 1000 },
    { 0b00010000, 0b01101100, 0b01000100, 0b01101100, 0b00010000, 1000 },
    { 0b00111000, 0b01101100, 0b11000110, 0b01101100, 0b00111000, 1000 },
    { 0b00111000, 0b01000100, 0b01000100, 0b01000100, 0b00111000, 900 },
    { 0b01000100, 0b10000010, 0b10000010, 0b10000010, 0b01000100, 900 },
    { 0b10000010, 0b00000001, 0b00000001, 0b00000001, 0b10000010, 900 },
    { 0b10000001, 0b00000000, 0b00000000, 0b00000000, 0b10000001, 700 },
    //48-57 bumm auf


    //intro 58-159
    {0b01010111,0b01010101,0b00110101,0b01010101,0b01010111,4000},
    {0b00101011,0b00101010,0b00011010,0b00101010,0b10101011,4000},
    {0b10010101,0b10010101,0b10001101,0b10010101,0b11010101,4000},
    {0b01001010,0b01001010,0b01000110,0b01001010,0b11101010,4000},
    {0b00100101,0b00100101,0b00100011,0b00100101,0b01110101,4000},
    {0b10010010,0b10010010,0b10010001,0b10010010,0b00111010,4000},
    {0b01001001,0b01001001,0b11001000,0b01001001,0b10011101,4000},
    {0b10100100,0b10100100,0b11100100,0b10100100,0b01001110,4000},
    {0b01010010,0b01010010,0b01110010,0b01010010,0b00100111,4000},
    {0b00101001,0b00101001,0b00111001,0b10101001,0b10010011,4000},
    {0b10010100,0b10010100,0b10011100,0b01010100,0b01001001,4000},
    {0b01001010,0b01001010,0b01001110,0b10101010,0b10100100,4000},
    {0b10100101,0b00100101,0b00100111,0b01010101,0b01010010,4000},
    {0b01010010,0b00010010,0b00010011,0b00101010,0b00101001,4000},
    {0b10101001,0b10001001,0b10001001,0b10010101,0b00010100,4000},
    {0b11010100,0b01000100,0b01000100,0b11001010,0b00001010,4000},
    // gekürzt....
    //160-169 bumm zu
    {0b10000001,0b00000000,0b00000000,0b00000000,0b10000001,700},
    {0b10000010,0b00000001,0b00000001,0b00000001,0b10000010,900},
    {0b01000100,0b10000010,0b10000010,0b10000010,0b01000100,900},
    {0b00111000,0b01000100,0b01000100,0b01000100,0b00111000,900},
    {0b00111000,0b01101100,0b11000110,0b01101100,0b00111000,1000},
    {0b00010000,0b01101100,0b01000100,0b01101100,0b00010000,1000},
    {0b00010000,0b00101000,0b01000100,0b00101000,0b00010000,1000},
    {0b00000000,0b00111000,0b00101000,0b00111000,0b00000000,1100},
    {0b00000000,0b00010000,0b00101000,0b00010000,0b00000000,1100},
    {0b00000000,0b00000000,0b00010000,0b00000000,0b00000000,1100},


    //170-176
    {0b00000000,0b00000000,0b00000000,0b00000000,0b10000001,800},
    {0b00000000,0b00000000,0b00000000,0b10000001,0b10000001,800},
    {0b00000000,0b00000000,0b10000001,0b10000001,0b00000000,800},
    {0b00000000,0b10000001,0b10000001,0b00000000,0b00000000,800},
    {0b10000001,0b10000001,0b00000000,0b00000000,0b00000000,800},
    {0b10000001,0b00000000,0b00000000,0b00000000,0b00000000,800},
    {0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,800},


    //177
    {0b11111111,0b00000000,0b00000000,0b00000000,0b00000000,800},
    {0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,800}, //178
    //179
    {0b00010000,0b00111000,0b11111110,0b00111000,0b00010000,800},



    { 0b11110000, 0b11110000, 0b11110000, 0b11110000, 0b11110000, 0 }, };




    bei jedem bass (eingang ADC, schwelle entscheidet zusätzlich bass ja/nein) wird ein zähler erhöht und dann zur entsprechenden animation gesprungen und dann -> spiele von - bis dann dass letzte bild als standbild darstellen. Das sind die ersten Versuche. Im Endausbau sollten sehr viele Tanzbewegungen erscheinen, die auch gut aussehen. Das ist schon eine Herausforderung. ;)


    Ist wie du richtig vermutet hast, in C. Aber Assembler ist ja auch kein Problem, da einfach als .db anlegen und die BITs benutzen.



    zum format: ähmm, ich habe das so programmiert, wie ich die anschlüsse gemacht habe. ist ja multiplexed. also bei 5x8 = 13 anschlüsse + 1 adc eingang notwendig. sollte ja auch ein attiny2313 reichen.


    zu dem Cube Editor gehe ich dann am besten in dem anderen thread ein. Klickbar machen ist ja kein Problem, sollte ja schnell gehen, daher so wie es jetzt ist... ich schau mal, wenn ich heute abend zeit habe, dann kan ich da ja noch was machen... ansonten einen anklicken und dann schauen was da rauskommt.


    {>0b001,0b000,0b000<- top ->0b000,0b000,0b000<- mid ->0b000,0b000,0b000<- bottom ->,50000<- zeit},


    du merkst schon, ich bin nicht der king in sachen dokumentation :D sorry... schreibe heute abend dann, wenn ich endlich mal etwas mehr zeit habe dazu...

  • Madonna :D - warum nicht....?


    Das Datenformat (beim Cube z.B.) ist mir schon klar, mit den 3 Bit pro Reihe - nur: kannst Du das dann in C auch so in den Speicher schreiben? - Also Bit für Bit quasi?


    Bei mir in Assembler (AVR Studio) geht das nämlich nicht - der erwartet immer ganze Bytes, sogar eine gerade Anzahl, weil der Flash ja in Wörtern organisiert ist... eine Zeile wie:


    .db 0b001, 0b000, 0b000, 0b000, 0b000, 0b000, 0b000, 0b000, 0b000 (das Würfel-Beispiel von Dir, Zeit mal weggelassen) würde bei mir halt Gemecker verursachen.... wie's in Bascom aussieht , weiß ich nicht...


    ich könnte das natürlich per Hand umstricken auf:


    .db 0b00000001, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000 (jede 3-Bit-Zahl auf ein ganzes Byte auffüllen, Speicherverschwendung) oder zusammenfassen:


    .db 0b00100000, 0b00000000, 0b00000000, 0b00000000 (die letzten 5 Bit sind "Füll-Bits") - dann aber umständliche Bitbastelei, um das wieder aus dem Speicher rauszuholen - ich brauche halt 6 Byte für ein komplettes Würfel-Bild (21 Bit mehr als Du), dafür kann ich die dann aber auch super-easy einfach direkt an die Ports ausgeben, fertig!


    Und beides mal wäre es dann schon wieder soviel Handarbeit (die Ausgabe Deines Editors an meine Speicherbelegung anzupassen), dass man sich den Editor auch gleich wieder sparen kann.. ;)


    Bei der Matrix ist das kein Problem, wie gesagt, mache ich zum klicken halt 8x12, dann sind's pro Frame 36 Bit "vergeudet", who cares...


    Und meine Würfel-SW z.B. läuft ja auch auf dem Tiny, obwohl ich 2 Byte pro Ebene benutze (jedoch nur 12 Pins für den ganzen Würfel), das ist ja nur die Speicherorganisation, hat primär erst mal nix mit den Portpins zu tun...


    Übrigens: geile Sache auch an dem Matrix-Editor, dass man da scrollen kann - super für Laufschriften... da ist mir nur ein kleiner Fehler aufgefallen: wenn ich ne Zeile nach oben scrolle, geht jeweils die unterste rechte LED (also die dann nach dem scrollen die zweitunterste ist) wieder aus, muss man also ggfs. wieder anklicken - keine Ahnung, ob das nur bei mir so ist....?

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!