×
Create a new article
Write your page title here:
We currently have 3,189 articles on s23. Type your article name above or create one of the articles listed here!



    s23
    3,189Articles

    5x5x5 LedCube: Difference between revisions

    Content added Content deleted
    imported>Talisman
    m (videos added)
    imported>Talisman
    mNo edit summary
    Line 3: Line 3:
    <youtube>1zFYon6LY4E</youtube>
    <youtube>1zFYon6LY4E</youtube>


    Juhu der groessere Bruder ist da xD
    Das Ansprechen der Ports direkt ohne die Pinwritebefehle, verbraucht massiv weniger Platz auf dem Chip!
    endlich genug Pins um den 5x5x5 komplett anzusteuern
    <pre>
    PORTB = B00111111;
    PORTD = B11100000;
    </pre>
    anstatt
    <pre>
    digitalWrite(p13,HIGH);
    digitalWrite(p12,HIGH);
    digitalWrite(p11,HIGH);
    digitalWrite(p10,HIGH);
    digitalWrite(p9,HIGH);
    digitalWrite(p8,HIGH);
    digitalWrite(p7,HIGH);
    digitalWrite(p6,HIGH);
    digitalWrite(p5,HIGH);
    digitalWrite(p4,LOW);
    digitalWrite(p3,LOW);
    digitalWrite(p2,LOW);
    digitalWrite(p1,LOW);
    digitalWrite(p0,LOW);
    </pre>
    siehe auch
    * http://www.arduino.cc/en/Reference/PortManipulation


    --[[User:Talisman|Talisman]] 17:38, 28 February 2010 (UTC)


    <tt>schaltung:</tt>
    Bauphase:
    * http://www.h23.org/ledcube/


    der wuerfel 5x5x5 (5 Anoden 25 Kathoden)
    code:
    jeweils pro ausgang am wuerfel ein pin
    <pre>
    //pin belegung
    //13 12 11 gruen
    //10 9 8 lila
    //7 6 5 blau
    //4 3 2 1 0 black


    3x drehpoti 10k + 1x schiebepoti 1k
    int anode1[] = {5, 6, 7, 8, 9, 10, 11, 12, 13};
    diese sind jeweils an einen analogen eingang angeschlossen und liefern linearen wert zurueck
    int cathode1[] = {0, 1, 2, 3, 4};
    int anode[] = {0, 1, 2, 3, 4};
    int cathode[] = {5, 6, 7, 8, 9, 10, 11, 12, 13};


    zb um das delay einzustellen oder durch die programme zu wechseln
    int p13 = 13;
    int p12 = 12;
    int p11 = 11;
    int p10 = 10;
    int p9 = 9;
    int p8 = 8;
    int p7 = 7;
    int p6 = 6;
    int p5 = 5;
    int p4 = 4;
    int p3 = 3;
    int p2 = 2;
    int p1 = 1;
    int p0 = 0;



    <tt>code:</tt>
    <pre>
    int sensorPin = 0;
    int sensorPin = 0;
    int sensorValue = 0;
    int sensorValue = 0;
    int sensorMin = 1023; // minimum sensor value
    int sensorMin = 0;
    int sensorMax = 0;
    int sensorMax = 1023;
    int sensorPin2 = 1;
    int sensorPin2 = 1;
    int sensorValue2 = 0;
    int sensorValue2 = 0;
    int sensorMin2 = 0; // minimum sensor value
    int sensorMin2 = 0;
    int sensorMax2 = 1023;
    int sensorMax2 = 1023;
    int sensorPin3 = 2;
    int sensorPin3 = 2;
    int sensorValue3 = 0;
    int sensorValue3 = 0;
    int sensorMin3 = 0; // minimum sensor value
    int sensorMin3 = 0;
    int sensorMax3 = 1023;
    int sensorMax3 = 1023;
    int sensorPin4 = 3;
    int sensorPin4 = 3;
    int sensorValue4 = 0;
    int sensorValue4 = 0;
    int sensorMin4 = 0; // minimum sensor value
    int sensorMin4 = 0;
    int sensorMax4 = 1023;
    int sensorMax4 = 1023;


    // Anoden der 125 LEDs
    int LED1;
    int r1;
    int anode[] = {
    8, 9, 10, 11, 12};

    int R;

    // 5 Kathodenebenen
    int ce1[] = {
    22, 23, 24, 25, 26};
    int ce2[] = {
    30, 31, 32, 33, 34};
    int ce3[] = {
    38, 39, 40, 41, 42};
    int ce4[] = {
    46, 47, 48, 49, 50};
    int ce5[] = {
    70, 71, 72, 73, 74};
    // alle Kathodenebenen
    int ce[] = {
    22, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 39, 40, 41, 42, 46, 47, 48, 49, 50,70, 71, 72, 73, 74};

    // 5 Kathodenflächen
    int cf1[] = {
    22, 30, 38, 46, 70};
    int cf2[] = {
    23, 31, 39, 47, 71};
    int cf3[] = {
    24, 32, 40, 48, 72};
    int cf4[] = {
    25, 33, 41, 49, 73};
    int cf5[] = {
    26, 34, 42, 50, 74};
    // alle Kathodenflächen
    int cf[] = {
    22, 30, 38, 46, 70, 23, 31, 39, 47, 71, 24, 32, 40, 48, 72, 25, 33, 41, 49, 73, 26, 34, 42, 50, 74};

    /// zur fehler suche
    long heartBeatArray[] = {
    long heartBeatArray[] = {
    50, 100, 15, 1200};
    50, 100, 15, 1200};
    int hbeatIndex = 1; // this initialization is important or it starts on the "wrong foot"
    int hbeatIndex = 1; // this initialization is important or it starts on the "wrong foot"
    long prevMillis;
    long prevMillis;



    void setup() {
    void setup() {
    randomSeed(analogRead(15)); //// hier wird random initizialisiert, nicht aendern!!!!
    pinMode(p13, OUTPUT);
    for (int a = 0; a < 5; a++) { // Alle Anoden auf OUTPUT
    pinMode(p12, OUTPUT);
    pinMode(p11, OUTPUT);
    pinMode(anode[a], OUTPUT);
    }
    pinMode(p10, OUTPUT);
    for (int c = 0; c < 25; c++) { // Alle Kathoden auf OUTPUT
    pinMode(p9, OUTPUT);
    pinMode(p8, OUTPUT);
    pinMode(ce[c], OUTPUT);
    digitalWrite(ce[c], HIGH); // Alles ausstellen
    pinMode(p7, OUTPUT);
    }
    pinMode(p6, OUTPUT);
    pinMode(p5, OUTPUT);
    pinMode(p4, OUTPUT);
    pinMode(p3, OUTPUT);
    pinMode(p2, OUTPUT);
    pinMode(p1, OUTPUT);
    pinMode(p0, OUTPUT);
    digitalWrite(p13,HIGH);
    digitalWrite(p12,HIGH);
    digitalWrite(p11,HIGH);
    digitalWrite(p10,HIGH);
    digitalWrite(p9,HIGH);
    digitalWrite(p8,HIGH);
    digitalWrite(p7,HIGH);
    digitalWrite(p6,HIGH);
    digitalWrite(p5,LOW);
    digitalWrite(p4,LOW);
    digitalWrite(p3,LOW);
    digitalWrite(p2,LOW);
    digitalWrite(p1,LOW);
    digitalWrite(p0,LOW);


    }
    }


    void loop() {
    void loop() {

    noInterrupts();


    sensorValue = analogRead(sensorPin);
    sensorValue = analogRead(sensorPin);
    Line 123: Line 100:
    sensorValue = constrain(sensorValue, 0, 1023);
    sensorValue = constrain(sensorValue, 0, 1023);
    sensorValue2 = analogRead(sensorPin2);
    sensorValue2 = analogRead(sensorPin2);
    sensorValue2 = map(sensorValue2, sensorMin2, sensorMax2, 0, 45);
    sensorValue2 = map(sensorValue2, sensorMin2, sensorMax2, 0, 255);
    sensorValue2 = constrain(sensorValue2, 0, 45);
    sensorValue2 = constrain(sensorValue2, 0, 255);
    sensorValue3 = analogRead(sensorPin3);
    sensorValue3 = analogRead(sensorPin3);
    sensorValue3 = map(sensorValue3, sensorMin3, sensorMax3, 0, 26);
    sensorValue3 = map(sensorValue3, sensorMin3, sensorMax3, 0, 27);
    sensorValue3 = constrain(sensorValue3, 0, 26);
    sensorValue3 = constrain(sensorValue3, 0, 27);
    sensorValue4 = analogRead(sensorPin4);
    sensorValue4 = analogRead(sensorPin4);
    sensorValue4 = map(sensorValue4, sensorMin4, sensorMax4, 0, 27);
    sensorValue4 = map(sensorValue4, sensorMin4, sensorMax4, 0, 27);
    Line 133: Line 110:




    interrupts();
    int PW;
    int PW;
    PW = (sensorValue4);
    PW = (sensorValue4);
    switch (PW)
    switch (PW)
    {
    {
    case 0:
    case 0:
    ///alle Potis auf null und anmachen hier ist start (spielplatz)
    aus();


    ebene(1, 1);
    break;
    d1();
    aus();
    ebene(2, 2);
    d1();
    aus();
    ebene(3, 3);
    d1();
    aus();
    ebene(4, 4);
    d1();
    aus();
    ebene(5, 5);
    d1();
    aus();

    //// ende spielplatz

    break;
    case 1:
    case 1:
    fa1random();
    //// Lauflicht 1 6 11 3 7 12 usw
    lauflicht1();
    ////
    break;
    break;
    case 2:
    case 2:
    ff1random();
    //// Lauflicht 2
    lauflicht2();
    break;
    ////
    break;
    case 3:
    case 3:

    ////Saulen 1-15
    saeulen1();
    R = random(1, 3);
    ////
    switch(R){
    case 1:
    fa1random();
    break;
    case 2:
    ff1random();
    break;
    }

    break;
    break;
    case 4:
    case 4:
    //// Lines 1-6
    fa2random();
    lines1();
    ////
    break;
    break;
    case 5:
    case 5:
    ff2random();
    //// reihen 1-15
    reihen1();
    ////
    break;
    break;
    case 6:
    case 6:

    //// s.o.
    saeulen1();
    R = random(1, 3);
    lines1();
    switch(R){
    reihen1();
    case 1:
    ////
    fa2random();
    break;
    case 2:
    ff2random();
    break;
    }

    break;
    break;
    case 7:
    case 7:

    ////flaeche1 9x9
    flaeche1();
    R = random(1, 5);
    ////
    switch(R){
    case 1:
    fa1random();
    break;
    case 2:
    ff2random();
    break;
    case 3:
    fa1random();
    break;
    case 4:
    ff2random();
    break;
    }

    break;
    break;
    case 8:
    case 8:
    ////flache2 3x5
    flaeche2();
    ////
    break;
    case 9:
    ////flaeche3 3x15 2
    flaeche3();
    ////
    break;
    case 10:
    ////s.o.
    flaeche1();
    flaeche2();
    flaeche3();
    ////
    break;
    case 11:
    ////zufalls licht 1
    random1();
    ////
    break;
    case 12:
    ////
    heartBeat(1.0); // try changing the parameter
    ////
    break;
    case 13:
    /// random reihe
    reihen1random();
    ///
    break;
    case 14:
    /// random line
    lines1random();
    ///
    break;
    case 15:
    /// random reihe
    saeulen1random();
    ///
    break;
    case 16:
    /// random reihe
    LED1 = (random (0, 3));
    switch (LED1){
    case 0:
    reihen1random();
    break;
    case 1:
    lines1random();
    break;
    case 2:
    saeulen1random();
    break;


    R = random(0, 3);
    }
    switch (R){
    ///
    break;
    case 17:
    /// random reihe
    flaeche1random();
    ///
    break;
    case 18:
    /// random reihe
    flaeche2random();
    ///
    break;
    case 19:
    /// random reihe
    flaeche3random();
    ///
    break;
    case 20:
    /// random reihe
    LED1 = (random (0, 3));
    switch (LED1){
    case 0:
    case 0:
    ebene(random(1, 6),random(1, 6));
    flaeche1random();
    break;
    d1();
    case 1:
    aus();
    flaeche2random();
    break;
    break;
    case 1:
    flaeche(random(1, 6),random(1, 6));
    case 2:
    flaeche3random();
    d1();
    break;
    aus();
    break;
    case 2:

    reihe(random(1, 26),0);
    }
    d1();
    ///
    break;
    aus();
    break;

    case 21:
    }
    LED1 = (random (0, 8));
    switch (LED1){
    case 0:
    flaeche1random();
    break;
    case 1:
    flaeche2random();
    break;
    case 3:
    flaeche3random();
    break;
    case 4:
    reihen1random();
    break;
    case 5:
    lines1random();
    break;
    case 6:
    saeulen1random();
    break;
    case 7:
    random1();
    break;
    }

    break;

    case 22:
    an();
    break;


    case 23:
    oneByOne();
    break;
    case 24:
    oneByOne1();
    break;
    case 25:
    oneByOne2();
    break;
    case 26:
    oneByOne3();
    break;

    case 27:
    oneByOne4();
    break;




    break;
    default:
    default:
    aus();
    aus();
    Line 333: Line 220:
    }
    }


    int PW2;

    PW2 = (sensorValue3);

    switch (PW2)

    {

    case 0:

    aus();

    break;














    }
    /////////////////////////////////
    /////////////////////////////////



    void flaeche3random(){
    LED1 = (random (0,3));
    switch (LED1){
    case 0:
    W1();
    d1();
    break;

    case 1:
    W2();
    d1();
    break;
    case 2:
    W3();
    d1();
    break;
    }}

    void flaeche3(){
    W1();
    d1();
    W2();
    d1();
    W3();
    d1();
    }
    void flaeche2(){
    E1();
    d1();
    E2();
    d1();
    E3();
    d1();
    }
    void flaeche1(){
    Q1();
    d1();
    Q2();
    d1();
    Q3();
    d1();
    Q4();
    d1();
    Q5();
    d1();
    }

    void flaeche2random(){
    LED1 = (random (0,3));
    switch (LED1){
    case 0:
    E1();
    d1();
    break;

    case 1:
    E2();
    d1();
    break;
    case 2:
    E3();
    d1();
    break;
    }}

    void flaeche1random(){
    LED1 = (random (0,5));
    switch (LED1){
    case 0:
    Q1();
    d1();
    break;

    case 1:
    Q2();
    d1();
    break;
    case 2:
    Q3();
    d1();
    break;

    case 3:
    Q4();
    d1();
    break;
    case 4:
    Q5();
    d1();
    break;
    }
    }
    void reihen1(){
    aR1();
    d1();
    aR2();
    d1();
    aR3();
    d1();
    aR4();
    d1();
    aR5();
    d1();
    bR1();
    d1();
    bR2();
    d1();
    bR3();
    d1();
    bR4();
    d1();
    bR5();
    d1();
    cR1();
    d1();
    cR2();
    d1();
    cR3();
    d1();
    cR4();
    d1();
    cR5();
    d1();
    }
    void reihen1random(){
    LED1 = (random (0,16));
    switch (LED1){
    case 0:
    aR1();
    d1();
    break;
    case 1:
    case 1:
    aR2();
    f1();
    break;
    d1();
    break;
    case 2:
    case 2:
    aR3();
    f2();
    break;
    d1();
    break;
    case 4:
    aR4();
    d1();
    break;
    case 5:
    aR5();
    d1();
    break;
    case 6:
    bR1();
    d1();
    break;
    case 7:
    bR2();
    d1();
    break;
    case 8:
    bR3();
    d1();
    break;
    case 9:
    bR4();
    d1();
    break;
    case 10:
    bR5();
    d1();
    break;
    case 11:
    cR1();
    d1();
    break;
    case 12:
    cR2();
    d1();
    break;
    case 13:
    cR3();
    d1();
    break;
    case 14:
    cR4();
    d1();
    break;
    case 15:
    cR5();
    d1();
    break;
    }
    }


    void lines1random(){
    LED1 = (random (0,9));
    switch (LED1){
    case 0:
    aL1();
    d1();
    break;
    case 1:
    aL2();
    d1();
    break;
    case 2:
    aL3();
    d1();
    break;
    case 3:
    case 3:
    bL1();
    f1();
    d1();
    f2();
    break;
    break;
    case 4:
    case 4:
    bL2();
    f1();
    d1();
    f2();
    break;
    f2();
    f1();
    break;
    case 5:
    case 5:
    bL3();
    d1();
    break;
    case 6:
    cL1();
    d1();
    break;
    case 7:
    cL2();
    d1();
    break;
    case 8:
    cL3();
    d1();
    break;
    }}
    void lines1(){
    aL1();
    d1();
    aL2();
    d1();
    aL3();
    d1();
    bL1();
    d1();
    bL2();
    d1();
    bL3();
    d1();
    cL1();
    d1();
    cL2();
    d1();
    cL3();
    d1();
    }


    R = random(1, 3);
    void saeulen1random(){
    switch (R){
    LED1 = (random (0,16));
    case 1:
    switch (LED1){
    case 0:
    f1();
    S1();
    break;
    case 2:
    d1();
    break;
    f2();
    break;
    case 1:
    S2();
    }
    d1();
    break;
    case 2:
    S3();
    d1();
    break;
    case 4:
    S4();
    d1();
    break;
    case 5:
    S5();
    d1();
    break;
    case 6:
    S6();
    d1();
    break;
    case 7:
    S7();
    d1();
    break;
    case 8:
    S8();
    d1();
    break;
    case 9:
    S9();
    d1();
    break;
    case 10:
    S10();
    d1();
    break;
    case 11:
    S11();
    d1();
    break;
    case 12:
    S12();
    d1();
    break;
    case 13:
    S13();
    d1();
    break;
    case 14:
    S14();
    d1();
    break;
    case 15:
    S15();
    d1();
    break;
    }
    }
    void saeulen1(){
    S1();
    d1();
    S2();
    d1();
    S3();
    d1();
    S4();
    d1();
    S5();
    d1();
    S6();
    d1();
    S7();
    d1();
    S8();
    d1();
    S9();
    d1();
    S10();
    d1();
    S11();
    d1();
    S12();
    d1();
    S13();
    d1();
    S14();
    d1();
    S15();
    d1();
    }


    break;

    default:
    void lauflicht1(){
    aD1();
    aus();
    d1();
    break;
    aD6();
    }
    d1();
    aD11();
    d1();
    aD2();
    d1();
    aD7();
    d1();
    aD12();
    d1();
    aD3();
    d1();
    aD8();
    d1();
    aD13();
    d1();
    aD4();
    d1();
    aD9();
    d1();
    aD14();
    d1();
    aD5();
    d1();
    aD10();
    d1();
    aD15();
    d1();
    bD1();
    d1();
    bD6();
    d1();
    bD11();
    d1();
    bD2();
    d1();
    bD7();
    d1();
    bD12();
    d1();
    bD3();
    d1();
    bD8();
    d1();
    bD13();
    d1();
    bD4();
    d1();
    bD9();
    d1();
    bD14();
    d1();
    bD5();
    d1();
    bD10();
    d1();
    bD15();
    d1();
    cD1();
    d1();
    cD6();
    d1();
    cD11();
    d1();
    cD2();
    d1();
    cD7();
    d1();
    cD12();
    d1();
    cD3();
    d1();
    cD8();
    d1();
    cD13();
    d1();
    cD4();
    d1();
    cD9();
    d1();
    cD14();
    d1();
    cD5();
    d1();
    cD10();
    d1();
    cD15();
    d1();
    }

    void lauflicht2(){
    aD1();
    d1();
    aD2();
    d1();
    aD3();
    d1();
    aD4();
    d1();
    aD5();
    d1();
    aD10();
    d1();
    aD9();
    d1();
    aD8();
    d1();
    aD7();
    d1();
    aD6();
    d1();
    aD11();
    d1();
    aD12();
    d1();
    aD13();
    d1();
    aD14();
    d1();
    aD15();
    d1();
    bD15();
    d1();
    bD14();
    d1();
    bD13();
    d1();
    bD12();
    d1();
    bD11();
    d1();
    bD6();
    d1();
    bD7();
    d1();
    bD8();
    d1();
    bD9();
    d1();
    bD10();
    d1();
    bD5();
    d1();
    bD4();
    d1();
    bD3();
    d1();
    bD2();
    d1();
    bD1();
    d1();
    cD1();
    d1();
    cD2();
    d1();
    cD3();
    d1();
    cD4();
    d1();
    cD5();
    d1();
    cD10();
    d1();
    cD9();
    d1();
    cD8();
    d1();
    cD7();
    d1();
    cD6();
    d1();
    cD11();
    d1();
    cD12();
    d1();
    cD13();
    d1();
    cD14();
    d1();
    cD15();
    d1();

    cD15();
    d1();
    cD10();
    d1();
    cD5();
    d1();
    cD4();
    d1();
    cD9();
    d1();
    cD14();
    d1();
    cD13();
    d1();
    cD8();
    d1();
    cD3();
    d1();
    cD2();
    d1();
    cD7();
    d1();
    cD12();
    d1();
    cD11();
    d1();
    cD6();
    d1();
    cD1();
    d1();


    bD1();
    d1();
    bD6();
    d1();
    bD11();
    d1();
    bD12();
    d1();
    bD7();
    d1();
    bD2();
    d1();
    bD3();
    d1();
    bD8();
    d1();
    bD13();
    d1();
    bD14();
    d1();
    bD9();
    d1();
    bD4();
    d1();
    bD5();
    d1();
    bD10();
    d1();
    bD15();
    d1();



    aD15();
    d1();
    aD10();
    d1();
    aD5();
    d1();
    aD4();
    d1();
    aD9();
    d1();
    aD14();
    d1();
    aD13();
    d1();
    aD8();
    d1();
    aD3();
    d1();
    aD2();
    d1();
    aD7();
    d1();
    aD12();
    d1();
    aD11();
    d1();
    aD6();
    d1();
    aD1();
    d1();
    }
    }


    /////////////////////////////////
    ///// void zone!!!!!/////////////
    ///// void zone!!!!!/////////////
    ///// void zone!!!!!/////////////
    ////////////////////////////////
    void d1(){
    void d1(){
    delay(sensorValue);
    delay(sensorValue);
    Line 1,002: Line 273:
    sensorValue3 = analogRead(sensorPin3);
    sensorValue3 = analogRead(sensorPin3);
    sensorValue4 = analogRead(sensorPin4);
    sensorValue4 = analogRead(sensorPin4);
    }
    void aus(){
    PORTB = B00111111;
    PORTD = B11100000;
    sensorValue = analogRead(sensorPin);
    }
    void an(){
    PORTB = B00000000;
    PORTD = B00011111;
    sensorValue = analogRead(sensorPin);
    }
    void aR1(){
    PORTB = B00111111;
    PORTD = B00010000;
    sensorValue = analogRead(sensorPin);
    }
    void aR2(){
    PORTB = B00111111;
    PORTD = B00001000;
    sensorValue = analogRead(sensorPin);
    }
    void aR3(){
    PORTB = B00111111;
    PORTD = B00000100;
    sensorValue = analogRead(sensorPin);
    }
    void aR4(){
    PORTB = B00111111;
    PORTD = B00000010;
    sensorValue = analogRead(sensorPin);
    }
    void aR5(){
    PORTB = B00111111;
    PORTD = B00000001;
    sensorValue = analogRead(sensorPin);
    }
    }


    void bR1(){
    void anaus(int x) {
    switch (x){
    PORTB = B00111000;
    case 0:
    PORTD = B11110000;
    aus();
    sensorValue = analogRead(sensorPin);
    break;
    }
    case 1:
    void bR2(){
    an();
    PORTB = B00111000;
    break;
    PORTD = B11101000;
    case 2:
    sensorValue = analogRead(sensorPin);
    }
    void bR3(){
    PORTB = B00111000;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void bR4(){
    PORTB = B00111000;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void bR5(){
    PORTB = B00111000;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }


    R = random (1, 3);
    void cR1(){
    switch (R){
    PORTB = B00000111;
    case 1:
    PORTD = B11110000;
    an();
    sensorValue = analogRead(sensorPin);
    break;
    }
    case 2:
    void cR2(){
    PORTB = B00000111;
    aus();
    PORTD = B11101000;
    break;
    }
    sensorValue = analogRead(sensorPin);
    }
    void cR3(){
    PORTB = B00000111;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void cR4(){
    PORTB = B00000111;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void cR5(){
    PORTB = B00000111;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }


    break;

    }
    void aL1(){
    PORTB = B00111111;
    PORTD = B11011111;
    sensorValue = analogRead(sensorPin);
    }
    void aL2(){
    PORTB = B00111111;
    PORTD = B10111111;
    sensorValue = analogRead(sensorPin);
    }
    void aL3(){
    PORTB = B00111111;
    PORTD = B01111111;
    sensorValue = analogRead(sensorPin);
    }

    void bL1(){
    PORTB = B00111110;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }
    void bL2(){
    PORTB = B00111101;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }
    void bL3(){
    PORTB = B00111011;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }

    void cL1(){
    PORTB = B00110111;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }
    void cL2(){
    PORTB = B00101111;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }
    void cL3(){
    PORTB = B00011111;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }

    void aD1(){
    PORTB = B00111111;
    PORTD = B11010000;
    sensorValue = analogRead(sensorPin);
    }
    void aD2(){
    PORTB = B00111111;
    PORTD = B11001000;
    sensorValue = analogRead(sensorPin);
    }
    void aD3(){
    PORTB = B00111111;
    PORTD = B11000100;
    sensorValue = analogRead(sensorPin);
    }
    void aD4(){
    PORTB = B00111111;
    PORTD = B11000010;
    sensorValue = analogRead(sensorPin);
    }
    void aD5(){
    PORTB = B00111111;
    PORTD = B11000001;
    sensorValue = analogRead(sensorPin);
    }
    void aD6(){
    PORTB = B00111111;
    PORTD = B10110000;
    sensorValue = analogRead(sensorPin);
    }
    void aD7(){
    PORTB = B00111111;
    PORTD = B10101000;
    sensorValue = analogRead(sensorPin);
    }
    void aD8(){
    PORTB = B00111111;
    PORTD = B10100100;
    sensorValue = analogRead(sensorPin);
    }
    void aD9(){
    PORTB = B00111111;
    PORTD = B10100010;
    sensorValue = analogRead(sensorPin);
    }
    void aD10(){
    PORTB = B00111111;
    PORTD = B10100001;
    sensorValue = analogRead(sensorPin);
    }
    void aD11(){
    PORTB = B00111111;
    PORTD = B01110000;
    sensorValue = analogRead(sensorPin);
    }
    void aD12(){
    PORTB = B00111111;
    PORTD = B01101000;
    sensorValue = analogRead(sensorPin);
    }
    void aD13(){
    PORTB = B00111111;
    PORTD = B01100100;
    sensorValue = analogRead(sensorPin);
    }
    void aD14(){
    PORTB = B00111111;
    PORTD = B01100010;
    sensorValue = analogRead(sensorPin);
    }
    void aD15(){
    PORTB = B00111111;
    PORTD = B01100001;
    sensorValue = analogRead(sensorPin);
    }
    void bD1(){
    PORTB = B00111110;
    PORTD = B11110000;
    sensorValue = analogRead(sensorPin);
    }
    void bD2(){
    PORTB = B00111110;
    PORTD = B11101000;
    sensorValue = analogRead(sensorPin);
    }
    void bD3(){
    PORTB = B00111110;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void bD4(){
    PORTB = B00111110;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void bD5(){
    PORTB = B00111110;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }
    void bD6(){
    PORTB = B00111101;
    PORTD = B11110000;
    sensorValue = analogRead(sensorPin);
    }
    void bD7(){
    PORTB = B00111101;
    PORTD = B11101000;
    sensorValue = analogRead(sensorPin);
    }
    void bD8(){
    PORTB = B00111101;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void bD9(){
    PORTB = B00111101;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void bD10(){
    PORTB = B00111101;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }
    void bD11(){
    PORTB = B00111011;
    PORTD = B11110000;
    sensorValue = analogRead(sensorPin);
    }
    void bD12(){
    PORTB = B00111011;
    PORTD = B11101000;
    sensorValue = analogRead(sensorPin);
    }
    void bD13(){
    PORTB = B00111011;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void bD14(){
    PORTB = B00111011;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void bD15(){
    PORTB = B00111011;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }

    void cD1(){
    PORTB = B00110111;
    PORTD = B11110000;
    sensorValue = analogRead(sensorPin);
    }
    void cD2(){
    PORTB = B00110111;
    PORTD = B11101000;
    sensorValue = analogRead(sensorPin);
    }
    void cD3(){
    PORTB = B00110111;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void cD4(){
    PORTB = B00110111;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void cD5(){
    PORTB = B00110111;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }
    void cD6(){
    PORTB = B00101111;
    PORTD = B11110000;
    sensorValue = analogRead(sensorPin);
    }
    void cD7(){
    PORTB = B00101111;
    PORTD = B11101000;
    sensorValue = analogRead(sensorPin);
    }
    void cD8(){
    PORTB = B00101111;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void cD9(){
    PORTB = B00101111;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void cD10(){
    PORTB = B00101111;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }
    void cD11(){
    PORTB = B00011111;
    PORTD = B11110000;
    sensorValue = analogRead(sensorPin);
    }
    void cD12(){
    PORTB = B00011111;
    PORTD = B11101000;
    sensorValue = analogRead(sensorPin);
    }
    void cD13(){
    PORTB = B00011111;
    PORTD = B11100100;
    sensorValue = analogRead(sensorPin);
    }
    void cD14(){
    PORTB = B00011111;
    PORTD = B11100010;
    sensorValue = analogRead(sensorPin);
    }
    void cD15(){
    PORTB = B00011111;
    PORTD = B11100001;
    sensorValue = analogRead(sensorPin);
    }

    void S1(){
    PORTB = B00110110;
    PORTD = B11010000;
    sensorValue = analogRead(sensorPin);
    }
    void S2(){
    PORTB = B00110110;
    PORTD = B11001000;
    sensorValue = analogRead(sensorPin);
    }
    void S3(){
    PORTB = B00110110;
    PORTD = B11000100;
    sensorValue = analogRead(sensorPin);
    }
    void S4(){
    PORTB = B00110110;
    PORTD = B11000010;
    sensorValue = analogRead(sensorPin);
    }
    void S5(){
    PORTB = B00110110;
    PORTD = B11000001;
    sensorValue = analogRead(sensorPin);
    }
    void S6(){
    PORTB = B00101101;
    PORTD = B10110000;
    sensorValue = analogRead(sensorPin);
    }
    void S7(){
    PORTB = B00101101;
    PORTD = B10101000;
    sensorValue = analogRead(sensorPin);
    }
    void S8(){
    PORTB = B00101101;
    PORTD = B10100100;
    sensorValue = analogRead(sensorPin);
    }
    void S9(){
    PORTB = B00101101;
    PORTD = B10100010;
    sensorValue = analogRead(sensorPin);
    }
    void S10(){
    PORTB = B00101101;
    PORTD = B10100001;
    sensorValue = analogRead(sensorPin);
    }
    void S11(){
    PORTB = B00011011;
    PORTD = B01110000;
    sensorValue = analogRead(sensorPin);
    }
    void S12(){
    PORTB = B00011011;
    PORTD = B01101000;
    sensorValue = analogRead(sensorPin);
    }
    void S13(){
    PORTB = B00011011;
    PORTD = B01100100;
    sensorValue = analogRead(sensorPin);
    }
    void S14(){
    PORTB = B00011011;
    PORTD = B01100010;
    sensorValue = analogRead(sensorPin);
    }
    void S15(){
    PORTB = B00011011;
    PORTD = B01100001;
    sensorValue = analogRead(sensorPin);
    }

    void Q1(){
    PORTB = B00000000;
    PORTD = B00010000;
    sensorValue = analogRead(sensorPin);
    }
    void Q2(){
    PORTB = B00000000;
    PORTD = B00001000;
    sensorValue = analogRead(sensorPin);
    }
    void Q3(){
    PORTB = B00000000;
    PORTD = B00000100;
    sensorValue = analogRead(sensorPin);
    }
    void Q4(){
    PORTB = B00000000;
    PORTD = B00000010;
    sensorValue = analogRead(sensorPin);
    }
    void Q5(){
    PORTB = B00000000;
    PORTD = B00000001;
    sensorValue = analogRead(sensorPin);
    }

    void E1(){
    PORTB = B00110110;
    PORTD = B11011111;
    sensorValue = analogRead(sensorPin);
    }
    void E2(){
    PORTB = B00101101;
    PORTD = B10111111;
    sensorValue = analogRead(sensorPin);
    }
    void E3(){
    PORTB = B00011011;
    PORTD = B01111111;
    sensorValue = analogRead(sensorPin);
    }

    void W1(){
    PORTB = B00111111;
    PORTD = B00011111;
    sensorValue = analogRead(sensorPin);
    }
    void W2(){
    PORTB = B00111000;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }
    void W3(){
    PORTB = B00000111;
    PORTD = B11111111;
    sensorValue = analogRead(sensorPin);
    }
    }
    void heartBeat(float tempo){
    void heartBeat(float tempo){

    if ((millis() - prevMillis) > (long)(heartBeatArray[hbeatIndex] * tempo)){
    if ((millis() - prevMillis) > (long)(heartBeatArray[hbeatIndex] * tempo)){
    hbeatIndex++;
    hbeatIndex++;
    if (hbeatIndex > 3) hbeatIndex = 0;
    if (hbeatIndex > 3) hbeatIndex = 0;

    if ((hbeatIndex % 2) == 0){
    if ((hbeatIndex % 2) == 0){
    an();
    an();
    Line 1,512: Line 308:
    }
    }
    hbeatIndex++;
    hbeatIndex++;
    // Serial.println(hbeatIndex);
    prevMillis = millis();
    prevMillis = millis();

    }
    }
    }
    }
    ///// ebene (1 oben - 5 unten, 0 alle 1 links - 5 rechts)
    void random1(){
    void ebene(int a, int b)
    sensorValue2 = analogRead(sensorPin2);
    {
    sensorValue2 = map(sensorValue2, sensorMin2, sensorMax2, 0, 45);
    switch (b){
    sensorValue2 = constrain(sensorValue2, 0, 45);
    sensorValue3 = analogRead(sensorPin3);
    sensorValue3 = map(sensorValue3, sensorMin3, sensorMax3, 0, 45);
    sensorValue3 = constrain(sensorValue3, 0, 45);
    r1 = (random (sensorValue3, sensorValue2));
    switch (r1){
    case 0:
    case 0:
    aD1();
    digitalWrite(8,HIGH);
    d1();
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(11,HIGH);
    digitalWrite(12,HIGH);
    break;
    break;
    case 1:
    case 1:
    aD2();
    digitalWrite(8,HIGH);
    d1();
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 2:
    digitalWrite(8,LOW);
    digitalWrite(9,HIGH);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 3:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,HIGH);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 4:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,HIGH);
    digitalWrite(12,LOW);
    break;
    case 5:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,HIGH);
    break;
    }
    switch (a) {
    case 1:
    digitalWrite(22,LOW);
    digitalWrite(23,LOW);
    digitalWrite(24,LOW);
    digitalWrite(25,LOW);
    digitalWrite(26,LOW);
    break;
    break;
    case 2:
    case 2:
    aD3();
    digitalWrite(30,LOW);
    d1();
    digitalWrite(31,LOW);
    digitalWrite(32,LOW);
    digitalWrite(33,LOW);
    digitalWrite(34,LOW);
    break;
    break;
    case 3:
    case 3:
    aD4();
    digitalWrite(38,LOW);
    d1();
    digitalWrite(39,LOW);
    digitalWrite(40,LOW);
    digitalWrite(41,LOW);
    digitalWrite(42,LOW);
    break;
    break;
    case 4:
    case 4:
    aD5();
    digitalWrite(46,LOW);
    d1();
    digitalWrite(47,LOW);
    digitalWrite(48,LOW);
    digitalWrite(49,LOW);
    digitalWrite(50,LOW);
    break;
    break;
    case 5:
    case 5:
    aD6();
    digitalWrite(70,LOW);
    d1();
    digitalWrite(71,LOW);
    digitalWrite(72,LOW);
    digitalWrite(73,LOW);
    digitalWrite(74,LOW);
    break;
    default:
    heartBeat(1.0);
    break;
    }
    }
    ///// flaeche (1 hinten - 5 vorn, 0 alle 1 rechts - 5 links)
    void flaeche(int a, int b)
    {
    switch (b){
    case 0:
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(11,HIGH);
    digitalWrite(12,HIGH);
    break;
    case 1:
    digitalWrite(8,HIGH);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 2:
    digitalWrite(8,LOW);
    digitalWrite(9,HIGH);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 3:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,HIGH);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 4:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,HIGH);
    digitalWrite(12,LOW);
    break;
    case 5:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,HIGH);
    break;
    }
    switch (a) {
    case 1:
    digitalWrite(22,LOW);
    digitalWrite(30,LOW);
    digitalWrite(38,LOW);
    digitalWrite(46,LOW);
    digitalWrite(70,LOW);
    break;
    case 2:
    digitalWrite(23,LOW);
    digitalWrite(31,LOW);
    digitalWrite(39,LOW);
    digitalWrite(47,LOW);
    digitalWrite(71,LOW);
    break;
    case 3:
    digitalWrite(24,LOW);
    digitalWrite(32,LOW);
    digitalWrite(40,LOW);
    digitalWrite(48,LOW);
    digitalWrite(72,LOW);
    break;
    case 4:
    digitalWrite(25,LOW);
    digitalWrite(33,LOW);
    digitalWrite(41,LOW);
    digitalWrite(49,LOW);
    digitalWrite(73,LOW);
    break;
    case 5:
    digitalWrite(26,LOW);
    digitalWrite(34,LOW);
    digitalWrite(42,LOW);
    digitalWrite(50,LOW);
    digitalWrite(74,LOW);
    break;
    default:
    heartBeat(1.0);
    break;
    }
    }
    // reihe 25 0-5 mit null ganze reihe 1-5 jeweils die einzelne LED dieser reihe
    void reihe(int a, int b)
    {
    switch (b){
    case 0:
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(11,HIGH);
    digitalWrite(12,HIGH);
    break;
    case 1:
    digitalWrite(8,HIGH);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 2:
    digitalWrite(8,LOW);
    digitalWrite(9,HIGH);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 3:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,HIGH);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);
    break;
    case 4:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,HIGH);
    digitalWrite(12,LOW);
    break;
    case 5:
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,HIGH);
    break;
    }
    switch (a) {
    case 1:
    digitalWrite(22,LOW);
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 2:
    digitalWrite(22,HIGH);
    digitalWrite(23,LOW);
    digitalWrite(24,HIGH);
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 3:
    digitalWrite(22,HIGH);
    digitalWrite(23,HIGH);
    digitalWrite(24,LOW);
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 4:
    digitalWrite(22,HIGH);
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    digitalWrite(25,LOW);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 5:
    digitalWrite(22,HIGH);
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    digitalWrite(25,HIGH);
    digitalWrite(26,LOW);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    break;
    case 6:
    case 6:
    aD7();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,LOW);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    break;
    case 7:
    case 7:
    aD8();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,LOW);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    break;
    case 8:
    case 8:
    aD9();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,LOW);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 9:
    case 9:
    aD10();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,LOW);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 10:
    case 10:
    aD11();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,LOW);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 11:
    case 11:
    aD12();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,LOW);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 12:
    case 12:
    aD13();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,LOW);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 13:
    case 13:
    aD14();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,LOW);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 14:
    case 14:
    aD15();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,LOW);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 15:
    case 15:
    bD1();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,LOW);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    break;
    case 16:
    case 16:
    bD2();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,LOW);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 17:
    case 17:
    bD3();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,LOW);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 18:
    case 18:
    bD4();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,LOW);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 19:
    case 19:
    bD5();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,LOW);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 20:
    case 20:
    bD6();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,LOW);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 21:
    case 21:
    bD7();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,LOW);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 22:
    case 22:
    bD8();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,LOW);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 23:
    case 23:
    bD9();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,LOW);
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);
    break;
    case 24:
    case 24:
    bD10();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    digitalWrite(32,HIGH);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);
    digitalWrite(70,HIGH);
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,LOW);
    digitalWrite(74,HIGH);
    break;
    case 25:
    case 25:
    bD11();
    digitalWrite(22,HIGH);
    d1();
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    break;
    digitalWrite(25,HIGH);
    case 26:
    bD12();
    digitalWrite(26,HIGH);
    d1();
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    break;
    digitalWrite(32,HIGH);
    case 27:
    bD13();
    digitalWrite(33,HIGH);
    d1();
    digitalWrite(34,HIGH);
    digitalWrite(38,HIGH);
    break;
    digitalWrite(39,HIGH);
    case 28:
    bD14();
    digitalWrite(40,HIGH);
    d1();
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);
    break;
    digitalWrite(46,HIGH);
    case 29:
    bD15();
    digitalWrite(47,HIGH);
    d1();
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    break;
    digitalWrite(50,HIGH);
    case 30:
    cD1();
    digitalWrite(70,HIGH);
    d1();
    digitalWrite(71,HIGH);
    digitalWrite(72,HIGH);
    digitalWrite(73,HIGH);
    digitalWrite(74,LOW);
    break;


    default:
    heartBeat(1.0);
    break;
    break;
    }
    case 31:
    }
    cD2();

    d1();
    void fa1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce1[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce1[c], HIGH);
    }
    }
    }

    void fb1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce2[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce2[c], HIGH);
    }
    }
    }

    void fc1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce3[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce3[c], HIGH);
    }
    }
    }

    void fd1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce4[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce4[c], HIGH);
    }
    }
    }
    void fe1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce5[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce5[c], HIGH);
    }
    }
    }
    void fa1random(){
    R = random(1, 6);
    switch (R) {
    case 1:
    fa1();
    break;
    break;
    case 32:
    case 2:
    cD3();
    fb1();
    d1();
    break;
    break;
    case 33:
    case 3:
    cD4();
    fc1();
    d1();
    break;
    break;
    case 34:
    case 4:
    cD5();
    fd1();
    d1();
    break;
    break;
    case 35:
    case 5:
    cD6();
    fe1();
    d1();
    break;
    break;
    case 36:
    }
    }
    cD7();
    d1();
    void ff1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf1[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf1[c], HIGH);
    }
    }
    }
    void fg1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf2[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf2[c], HIGH);
    }
    }
    }
    void fh1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf3[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf3[c], HIGH);
    }
    }
    }
    void fi1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf4[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf4[c], HIGH);
    }
    }
    }
    void fj1() {
    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf5[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf5[c], HIGH);
    }
    }
    }
    void ff1random(){
    R = random(1, 6);
    switch (R) {
    case 1:
    ff1();
    break;
    break;
    case 37:
    case 2:
    cD8();
    fg1();
    d1();
    break;
    break;
    case 38:
    case 3:
    cD9();
    fh1();
    d1();
    break;
    case 39:
    cD10();
    d1();
    break;
    case 40:
    cD11();
    d1();
    break;
    case 41:
    cD12();
    d1();
    break;
    case 42:
    cD13();
    d1();
    break;
    case 43:
    cD14();
    d1();
    break;
    case 44:
    cD15();
    d1();
    break;
    default:
    aus();
    break;
    break;
    case 4:
    fi1();
    break;
    case 5:
    fj1();
    break;
    }
    }
    void fa2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce1[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce1[c], HIGH);
    }
    }
    }
    }
    }
    void oneByOne() {
    void fb2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander

    for(int c = 0; c < 9; c++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten

    digitalWrite(ce2[c], LOW);
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    d1();

    digitalWrite(anode[a], HIGH); // LED anschalten

    digitalWrite(cathode[c], LOW);
    sensorValue = analogRead(sensorPin);
    delay(sensorValue);

    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce2[c], HIGH);

    digitalWrite(cathode[c], HIGH);

    }
    }

    }
    }

    }
    }
    void fc2() {

    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    void oneByOne1() {
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander

    for(int c = 0; c < 9; c++) { // Alle Ebenen nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce3[c], LOW);

    d1();
    for(int a = 0; a < 5; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], LOW); // LED ausschalten

    digitalWrite(anode[a], LOW); // LED anschalten
    digitalWrite(ce3[c], HIGH);

    digitalWrite(cathode[c], HIGH);
    sensorValue = analogRead(sensorPin);
    delay(sensorValue);

    digitalWrite(anode[a], HIGH); // LED ausschalten

    digitalWrite(cathode[c], LOW);

    }
    }

    }
    }

    }
    }
    void fd2() {

    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    void oneByOne2() {
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander

    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(ce4[c], LOW);

    d1();
    for(int a = 0; a < 9; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], LOW); // LED ausschalten

    digitalWrite(anode1[a], LOW); // LED anschalten
    digitalWrite(ce4[c], HIGH);

    digitalWrite(cathode1[c], HIGH);
    sensorValue = analogRead(sensorPin);
    delay(sensorValue);

    digitalWrite(anode1[a], HIGH); // LED ausschalten

    digitalWrite(cathode1[c], LOW);

    }
    }

    }
    }

    }
    }
    void oneByOne3() {
    void fe2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander

    for(int c = 0; c < 5; c++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten

    digitalWrite(ce5[c], LOW);
    for(int a = 0; a < 9; a++) { // Alle LEDs einer Ebene nacheinander
    d1();

    digitalWrite(anode1[a], HIGH); // LED anschalten
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(ce5[c], HIGH);

    digitalWrite(cathode1[c], LOW);
    sensorValue = analogRead(sensorPin);
    delay(sensorValue);

    digitalWrite(anode1[a], LOW); // LED ausschalten

    digitalWrite(cathode1[c], HIGH);

    }
    }

    }
    }

    }
    }
    void fa2random(){
    R = random(1, 6);
    switch (R) {
    case 1:
    fa2();
    break;
    case 2:
    fb2();
    break;
    case 3:
    fc2();
    break;
    case 4:
    fd2();
    break;
    case 5:
    fe2();
    break;
    }
    }
    void ff2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf1[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf1[c], HIGH);
    }
    }
    }
    void fg2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf2[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf2[c], HIGH);
    }
    }
    }
    void fh2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf3[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf3[c], HIGH);
    }
    }
    }
    void fi2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf4[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf4[c], HIGH);
    }
    }
    }
    void fj2() {
    for(int a = 0; a < 5; a++) { // Alle Ebenen nacheinander
    for(int c = 0; c < 5; c++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(anode[a], HIGH); // LED anschalten
    digitalWrite(cf5[c], LOW);
    d1();
    digitalWrite(anode[a], LOW); // LED ausschalten
    digitalWrite(cf5[c], HIGH);
    }
    }
    }
    void ff2random(){
    R = random(1, 6);
    switch (R) {
    case 1:
    ff2();
    break;
    case 2:
    fg2();
    break;
    case 3:
    fh2();
    break;
    case 4:
    fi2();
    break;
    case 5:
    fj2();
    break;
    }
    }
    void f2(){
    for(int a = 21; a > 0; a--){
    switch (a)
    {
    case 1:
    fa1();
    break;
    case 2:
    fb1();
    break;
    case 3:
    fc1();
    break;
    case 4:
    fd1();
    break;
    case 5:
    fe1();
    break;
    case 6:
    ff1();
    break;
    case 7:
    fg1();
    break;
    case 8:
    fh1();
    break;
    case 9:
    fi1();
    break;
    case 10:
    fj1();
    break;
    case 11:
    fa2();
    break;
    case 12:
    fb2();
    break;
    case 13:
    fc2();
    break;
    case 14:
    fd2();
    break;
    case 15:
    fe2();
    break;
    case 16:
    ff2();
    break;
    case 17:
    fg2();
    break;
    case 18:
    fh2();
    break;
    case 19:
    fi2();
    break;
    case 20:
    fj2();
    break;
    }
    }
    }
    void f1(){
    for(int a = 0; a < 21; a++){
    switch (a)
    {
    case 1:
    fa1();
    break;
    case 2:
    fb1();
    break;
    case 3:
    fc1();
    break;
    case 4:
    fd1();
    break;
    case 5:
    fe1();
    break;
    case 6:
    ff1();
    break;
    case 7:
    fg1();
    break;
    case 8:
    fh1();
    break;
    case 9:
    fi1();
    break;
    case 10:
    fj1();
    break;
    case 11:
    fa2();
    break;
    case 12:
    fb2();
    break;
    case 13:
    fc2();
    break;
    case 14:
    fd2();
    break;
    case 15:
    fe2();
    break;
    case 16:
    ff2();
    break;
    case 17:
    fg2();
    break;
    case 18:
    fh2();
    break;
    case 19:
    fi2();
    break;
    case 20:
    fj2();
    break;
    }
    }
    }
    void an(){
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(11,HIGH);
    digitalWrite(12,HIGH);


    digitalWrite(22,LOW);
    digitalWrite(23,LOW);
    digitalWrite(24,LOW);
    digitalWrite(25,LOW);
    digitalWrite(26,LOW);


    digitalWrite(30,LOW);
    digitalWrite(31,LOW);
    digitalWrite(32,LOW);
    digitalWrite(33,LOW);
    digitalWrite(34,LOW);


    digitalWrite(38,LOW);
    void oneByOne4() {
    digitalWrite(39,LOW);
    digitalWrite(40,LOW);
    sensorValue2 = analogRead(sensorPin2);
    digitalWrite(41,LOW);
    sensorValue2 = map(sensorValue2, sensorMin2, sensorMax2, 0, 5);
    digitalWrite(42,LOW);
    sensorValue2 = constrain(sensorValue2, 0, 5);
    sensorValue3 = analogRead(sensorPin3);
    sensorValue3 = map(sensorValue3, sensorMin3, sensorMax3, 0, 9);
    sensorValue3 = constrain(sensorValue3, 0, 9);


    digitalWrite(46,LOW);
    for(int c = 0; c < sensorValue2; c++) { // Alle Ebenen nacheinander
    digitalWrite(47,LOW);
    digitalWrite(48,LOW);
    digitalWrite(49,LOW);
    digitalWrite(50,LOW);


    digitalWrite(70,LOW);
    for(int a = 0; a < sensorValue3; a++) { // Alle LEDs einer Ebene nacheinander
    digitalWrite(71,LOW);
    digitalWrite(72,LOW);
    digitalWrite(73,LOW);
    digitalWrite(74,LOW);
    }
    void aus(){
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    digitalWrite(12,LOW);


    digitalWrite(anode1[a], HIGH); // LED anschalten
    digitalWrite(22,HIGH);
    digitalWrite(23,HIGH);
    digitalWrite(24,HIGH);
    digitalWrite(25,HIGH);
    digitalWrite(26,HIGH);


    digitalWrite(cathode1[c], LOW);
    digitalWrite(30,HIGH);
    digitalWrite(31,HIGH);
    sensorValue = analogRead(sensorPin);
    digitalWrite(32,HIGH);
    delay(sensorValue);
    digitalWrite(33,HIGH);
    digitalWrite(34,HIGH);


    digitalWrite(anode1[a], LOW); // LED ausschalten
    digitalWrite(38,HIGH);
    digitalWrite(39,HIGH);
    digitalWrite(40,HIGH);
    digitalWrite(41,HIGH);
    digitalWrite(42,HIGH);


    digitalWrite(cathode1[c], HIGH);
    digitalWrite(46,HIGH);
    digitalWrite(47,HIGH);
    digitalWrite(48,HIGH);
    digitalWrite(49,HIGH);
    digitalWrite(50,HIGH);


    digitalWrite(70,HIGH);
    }
    digitalWrite(71,HIGH);

    digitalWrite(72,HIGH);
    }
    digitalWrite(73,HIGH);
    digitalWrite(74,HIGH);


    }
    }


    </pre>
    </pre>


    [[User:Talisman|Talisman]] 11:16, 27 February 2010 (UTC)
    [[Category:Arduino]]
    [[Category:Arduino]]

    Revision as of 17:38, 28 February 2010

    5x5x5 Led Cube

    5x5x5 LED Cube

    <youtube>1zFYon6LY4E</youtube>

    Juhu der groessere Bruder ist da xD endlich genug Pins um den 5x5x5 komplett anzusteuern

    --Talisman 17:38, 28 February 2010 (UTC)

    schaltung:

    der wuerfel 5x5x5 (5 Anoden 25 Kathoden) jeweils pro ausgang am wuerfel ein pin

    3x drehpoti 10k + 1x schiebepoti 1k diese sind jeweils an einen analogen eingang angeschlossen und liefern linearen wert zurueck

    zb um das delay einzustellen oder durch die programme zu wechseln


    code:

    int sensorPin = 0;
    int sensorValue = 0;
    int sensorMin = 0; 
    int sensorMax = 1023; 
    int sensorPin2 = 1;
    int sensorValue2 = 0;
    int sensorMin2 = 0; 
    int sensorMax2 = 1023; 
    int sensorPin3 = 2;
    int sensorValue3 = 0;
    int sensorMin3 = 0;  
    int sensorMax3 = 1023; 
    int sensorPin4 = 3;
    int sensorValue4 = 0;
    int sensorMin4 = 0;  
    int sensorMax4 = 1023; 
    
    // Anoden der 125 LEDs
    int anode[] = {
      8, 9, 10, 11, 12};
    
    int R;
    
    // 5 Kathodenebenen
    int ce1[] = { 
      22, 23, 24, 25, 26};
    int ce2[] = { 
      30, 31, 32, 33, 34};
    int ce3[] = { 
      38, 39, 40, 41, 42};
    int ce4[] = { 
      46, 47, 48, 49, 50}; 
    int ce5[] = { 
      70, 71, 72, 73, 74};
    // alle Kathodenebenen  
    int ce[] = { 
      22, 23, 24, 25, 26, 30, 31, 32, 33, 34, 38, 39, 40, 41, 42, 46, 47, 48, 49, 50,70, 71, 72, 73, 74}; 
    
    // 5 Kathodenflächen
    int cf1[] = { 
      22, 30, 38, 46, 70};
    int cf2[] = { 
      23, 31, 39, 47, 71};
    int cf3[] = { 
      24, 32, 40, 48, 72};
    int cf4[] = { 
      25, 33, 41, 49, 73}; 
    int cf5[] = { 
      26, 34, 42, 50, 74};
    // alle Kathodenflächen   
    int cf[] = { 
      22, 30, 38, 46, 70, 23, 31, 39, 47, 71, 24, 32, 40, 48, 72, 25, 33, 41, 49, 73, 26, 34, 42, 50, 74};
    
    /// zur fehler suche
    long heartBeatArray[] = {  
      50, 100, 15, 1200};
    int hbeatIndex = 1;   // this initialization is important or it starts on the "wrong foot"
    long prevMillis;
    
    
    void setup() {
      randomSeed(analogRead(15));   //// hier wird random initizialisiert, nicht aendern!!!!
      for (int a = 0; a < 5; a++) {  // Alle Anoden auf OUTPUT
        pinMode(anode[a], OUTPUT); 
      }
      for (int c = 0; c < 25; c++) {         // Alle Kathoden auf OUTPUT
        pinMode(ce[c], OUTPUT);
        digitalWrite(ce[c], HIGH);     // Alles ausstellen
      }
    
    }
    
    void loop() {
    
    
      sensorValue = analogRead(sensorPin); 
      sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 1023);
      sensorValue = constrain(sensorValue, 0, 1023);
      sensorValue2 = analogRead(sensorPin2); 
      sensorValue2 = map(sensorValue2, sensorMin2, sensorMax2, 0, 255);
      sensorValue2 = constrain(sensorValue2, 0, 255);
      sensorValue3 = analogRead(sensorPin3); 
      sensorValue3 = map(sensorValue3, sensorMin3, sensorMax3, 0, 27);
      sensorValue3 = constrain(sensorValue3, 0, 27);
      sensorValue4 = analogRead(sensorPin4); 
      sensorValue4 = map(sensorValue4, sensorMin4, sensorMax4, 0, 27);
      sensorValue4 = constrain(sensorValue4, 0, 27);
    
    
      int PW;
      PW = (sensorValue4);
      switch (PW) 
      {
      case 0:
        ///alle Potis auf null und anmachen hier ist start (spielplatz)
    
        ebene(1, 1);
        d1();
        aus();
        ebene(2, 2);
        d1();
        aus();
        ebene(3, 3);
        d1();
        aus();
        ebene(4, 4);
        d1();
        aus();
        ebene(5, 5);
        d1();
        aus();
    
        //// ende spielplatz
    
        break;
      case 1:
        fa1random();
        break;
      case 2:
        ff1random();
        break;
      case 3:
    
        R = random(1, 3);
        switch(R){
        case 1:
          fa1random();
          break;
        case 2:
          ff1random();
          break;
        }
    
        break;
      case 4:
        fa2random();
        break;
      case 5:
        ff2random();
        break;
      case 6:
    
        R = random(1, 3);
        switch(R){
        case 1:
          fa2random();
          break;
        case 2:
          ff2random();
          break;
        }
    
        break;
      case 7:
    
        R = random(1, 5);
        switch(R){
        case 1:
          fa1random();
          break;
        case 2:
          ff2random();
          break;
        case 3:
          fa1random();
          break;
        case 4:
          ff2random();
          break;
        }
    
        break;
      case 8:
    
        R = random(0, 3);
        switch (R){
        case 0:
          ebene(random(1, 6),random(1, 6));
          d1();
          aus();
          break;
        case 1:
          flaeche(random(1, 6),random(1, 6));
          d1();
          aus();
          break;
        case 2:
          reihe(random(1, 26),0);
          d1();
          aus();
          break;
        }
    
        break;
      default: 
        aus();
        break;
      }  
    
      int PW2;
      PW2 = (sensorValue3);
      switch (PW2) 
      {
      case 0:
        aus();
        break;    
      case 1:
        f1();
        break;
      case 2:
        f2();
        break;
      case 3:
        f1(); 
        f2();
        break;
      case 4:
        f1(); 
        f2();
        f2();
        f1();
        break;
      case 5:
    
        R = random(1, 3);
        switch (R){
        case 1:
          f1();
          break;
        case 2:
          f2();
          break;
        }
    
        break;
      default:
        aus();
        break;
      }
    }
    
    /////////////////////////////////
    ///// void zone!!!!!/////////////
    ///// void zone!!!!!/////////////
    ///// void zone!!!!!/////////////
    ////////////////////////////////
    void d1(){
      delay(sensorValue);
      sensorValue = analogRead(sensorPin);
      sensorValue2 = analogRead(sensorPin2); 
      sensorValue3 = analogRead(sensorPin3);
      sensorValue4 = analogRead(sensorPin4); 
    }
    
    void anaus(int x) {
      switch (x){
      case 0:
        aus();
        break;
      case 1:
        an();
        break; 
      case 2:
    
        R =  random (1, 3);
        switch (R){
        case 1:
          an();
          break;
        case 2:
          aus();
          break;
        }
    
        break; 
      }
    }
    void heartBeat(float tempo){
      if ((millis() - prevMillis) > (long)(heartBeatArray[hbeatIndex] * tempo)){
        hbeatIndex++;
        if (hbeatIndex > 3) hbeatIndex = 0;
        if ((hbeatIndex % 2) == 0){ 
          an();
          delay((int)heartBeatArray[hbeatIndex]) ;   
          aus(); 
        }
        hbeatIndex++;
        prevMillis = millis();
      }
    }
    ///// ebene (1 oben - 5 unten,  0 alle 1 links - 5 rechts)
    void ebene(int a, int b)
    {
      switch (b){
      case 0:
        digitalWrite(8,HIGH);
        digitalWrite(9,HIGH);
        digitalWrite(10,HIGH);
        digitalWrite(11,HIGH);
        digitalWrite(12,HIGH);
        break;
      case 1:
        digitalWrite(8,HIGH);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;    
      case 2:
        digitalWrite(8,LOW);
        digitalWrite(9,HIGH);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;
      case 3:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,HIGH);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;   
      case 4:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,HIGH);
        digitalWrite(12,LOW);
        break;    
      case 5:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,HIGH);
        break;    
      }
      switch (a) {
      case 1:
        digitalWrite(22,LOW);
        digitalWrite(23,LOW);
        digitalWrite(24,LOW);
        digitalWrite(25,LOW);
        digitalWrite(26,LOW);
        break;
      case 2:
        digitalWrite(30,LOW);
        digitalWrite(31,LOW);
        digitalWrite(32,LOW);
        digitalWrite(33,LOW);
        digitalWrite(34,LOW);
        break;
      case 3:
        digitalWrite(38,LOW);
        digitalWrite(39,LOW);
        digitalWrite(40,LOW);
        digitalWrite(41,LOW);
        digitalWrite(42,LOW);
        break;
      case 4:
        digitalWrite(46,LOW);
        digitalWrite(47,LOW);
        digitalWrite(48,LOW);
        digitalWrite(49,LOW);
        digitalWrite(50,LOW);
        break;
      case 5:
        digitalWrite(70,LOW);
        digitalWrite(71,LOW);
        digitalWrite(72,LOW);
        digitalWrite(73,LOW);
        digitalWrite(74,LOW);
        break;
      default:
        heartBeat(1.0);
        break;
      }
    }
    ///// flaeche (1 hinten - 5 vorn,  0 alle 1 rechts - 5 links)
    void flaeche(int a, int b) 
    {
      switch (b){
      case 0:
        digitalWrite(8,HIGH);
        digitalWrite(9,HIGH);
        digitalWrite(10,HIGH);
        digitalWrite(11,HIGH);
        digitalWrite(12,HIGH);
        break;
      case 1:
        digitalWrite(8,HIGH);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;    
      case 2:
        digitalWrite(8,LOW);
        digitalWrite(9,HIGH);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;
      case 3:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,HIGH);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;   
      case 4:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,HIGH);
        digitalWrite(12,LOW);
        break;    
      case 5:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,HIGH);
        break;    
      }
      switch (a) {
      case 1:
        digitalWrite(22,LOW);
        digitalWrite(30,LOW);
        digitalWrite(38,LOW);
        digitalWrite(46,LOW);
        digitalWrite(70,LOW);
        break;
      case 2:
        digitalWrite(23,LOW);
        digitalWrite(31,LOW);
        digitalWrite(39,LOW);
        digitalWrite(47,LOW);
        digitalWrite(71,LOW);
        break;
      case 3:
        digitalWrite(24,LOW);
        digitalWrite(32,LOW);
        digitalWrite(40,LOW);
        digitalWrite(48,LOW);
        digitalWrite(72,LOW);
        break;
      case 4:
        digitalWrite(25,LOW);
        digitalWrite(33,LOW);
        digitalWrite(41,LOW);
        digitalWrite(49,LOW);
        digitalWrite(73,LOW);
        break;
      case 5:
        digitalWrite(26,LOW);
        digitalWrite(34,LOW);
        digitalWrite(42,LOW);
        digitalWrite(50,LOW);
        digitalWrite(74,LOW);
        break;
      default:
        heartBeat(1.0);
        break;
      }
    } 
    // reihe 25 0-5 mit null ganze reihe 1-5 jeweils die einzelne LED dieser reihe
    void reihe(int a, int b)
    {
      switch (b){
      case 0:
        digitalWrite(8,HIGH);
        digitalWrite(9,HIGH);
        digitalWrite(10,HIGH);
        digitalWrite(11,HIGH);
        digitalWrite(12,HIGH);
        break;
      case 1:
        digitalWrite(8,HIGH);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;    
      case 2:
        digitalWrite(8,LOW);
        digitalWrite(9,HIGH);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;
      case 3:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,HIGH);
        digitalWrite(11,LOW);
        digitalWrite(12,LOW);
        break;   
      case 4:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,HIGH);
        digitalWrite(12,LOW);
        break;    
      case 5:
        digitalWrite(8,LOW);
        digitalWrite(9,LOW);
        digitalWrite(10,LOW);
        digitalWrite(11,LOW);
        digitalWrite(12,HIGH);
        break;    
      }
      switch (a) {
      case 1:
        digitalWrite(22,LOW);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 2:
        digitalWrite(22,HIGH);
        digitalWrite(23,LOW);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 3:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,LOW);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 4:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,LOW);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 5:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,LOW);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 6:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,LOW);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 7:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,LOW);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 8:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,LOW);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 9:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,LOW);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 10:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,LOW);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 11:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,LOW);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 12:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,LOW);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 13:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,LOW);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 14:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,LOW);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 15:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,LOW);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;
      case 16:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,LOW);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;    
      case 17:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,LOW);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;      
      case 18:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,LOW);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;      
      case 19:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,LOW);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;      
      case 20:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,LOW);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;      
      case 21:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,LOW);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;      
      case 22:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,LOW);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;      
      case 23:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,LOW);
        digitalWrite(73,HIGH);
        digitalWrite(74,HIGH);
        break;      
      case 24:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,LOW);
        digitalWrite(74,HIGH);
        break;      
      case 25:
        digitalWrite(22,HIGH);
        digitalWrite(23,HIGH);
        digitalWrite(24,HIGH);
        digitalWrite(25,HIGH);
        digitalWrite(26,HIGH);
        digitalWrite(30,HIGH);
        digitalWrite(31,HIGH);
        digitalWrite(32,HIGH);
        digitalWrite(33,HIGH);
        digitalWrite(34,HIGH);
        digitalWrite(38,HIGH);
        digitalWrite(39,HIGH);
        digitalWrite(40,HIGH);
        digitalWrite(41,HIGH);
        digitalWrite(42,HIGH);
        digitalWrite(46,HIGH);
        digitalWrite(47,HIGH);
        digitalWrite(48,HIGH);
        digitalWrite(49,HIGH);
        digitalWrite(50,HIGH);
        digitalWrite(70,HIGH);
        digitalWrite(71,HIGH);
        digitalWrite(72,HIGH);
        digitalWrite(73,HIGH);
        digitalWrite(74,LOW);
        break;      
    
    
      default:
        heartBeat(1.0);
        break;
      }
    } 
    
    void fa1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
        for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
          digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce1[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce1[c], HIGH);
        } 
      }
    }
    
    void fb1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce2[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce2[c], HIGH);
        }
      }
    }
    
    void fc1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce3[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce3[c], HIGH);
        }
      }
    }
    
    void fd1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce4[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce4[c], HIGH);
        }
      }
    }
    void fe1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce5[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce5[c], HIGH);
        }
      }
    }
    void fa1random(){   
      R = random(1, 6);
      switch (R) {
      case 1:
        fa1();
        break;
      case 2:
        fb1();
        break;
      case 3:
        fc1();
        break;
      case 4:
        fd1();
        break;
      case 5:
        fe1();
        break;
      } 
    }
    void ff1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf1[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf1[c], HIGH);
        }
      }
    }
    void fg1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf2[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf2[c], HIGH);
        }
      }
    }
    void fh1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf3[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf3[c], HIGH);
        }
      }
    }
    void fi1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf4[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf4[c], HIGH);
        }
      }
    }
    void fj1() {
      for(int c = 0; c < 5; c++) {          // Alle Ebenen nacheinander
          for(int a = 0; a < 5; a++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf5[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf5[c], HIGH);
        }
      }
    }
    void ff1random(){    
      R = random(1, 6);
      switch (R) {
      case 1:
        ff1();
        break;
      case 2:
        fg1();
        break;
      case 3:
        fh1();
        break;
      case 4:
        fi1();
        break;
      case 5:
        fj1();
        break;
      } 
    }
    void fa2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce1[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce1[c], HIGH);
        }
      }
    }
    void fb2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce2[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce2[c], HIGH);
        }
      }
    }
    void fc2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce3[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce3[c], HIGH);
        }
      }
    }
    void fd2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce4[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce4[c], HIGH);
        }
      }
    }
    void fe2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(ce5[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(ce5[c], HIGH);
        }
      }
    }
    void fa2random(){   
      R = random(1, 6);
      switch (R) {
      case 1:
        fa2();
        break;
      case 2:
        fb2();
        break;
      case 3:
        fc2();
        break;
      case 4:
        fd2();
        break;
      case 5:
        fe2();
        break;
      } 
    }
    void ff2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf1[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf1[c], HIGH);
        }
      }
    }
    void fg2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf2[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf2[c], HIGH);
        }
      }
    }
    void fh2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf3[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf3[c], HIGH);
        }
      }
    }
    void fi2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf4[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf4[c], HIGH);
        }
      }
    }
    void fj2() {
      for(int a = 0; a < 5; a++) {          // Alle Ebenen nacheinander
          for(int c = 0; c < 5; c++) {        // Alle LEDs einer Ebene nacheinander
            digitalWrite(anode[a], HIGH);     // LED anschalten
          digitalWrite(cf5[c], LOW);
          d1();
          digitalWrite(anode[a], LOW);      // LED ausschalten
          digitalWrite(cf5[c], HIGH);
        }
      }
    }
    void ff2random(){    
      R = random(1, 6);
      switch (R) {
      case 1:
        ff2();
        break;
      case 2:
        fg2();
        break;
      case 3:
        fh2();
        break;
      case 4:
        fi2();
        break;
      case 5:
        fj2();
        break;
      } 
    }
    void f2(){ 
      for(int a = 21; a > 0; a--){
        switch (a) 
        {
        case 1:
          fa1();
          break;
        case 2:
          fb1();
          break;  
        case 3:
          fc1();
          break; 
        case 4:
          fd1();
          break; 
        case 5:
          fe1();
          break; 
        case 6:
          ff1();
          break;
        case 7:
          fg1();
          break;  
        case 8:
          fh1();
          break; 
        case 9:
          fi1();
          break; 
        case 10:
          fj1();
          break; 
        case 11:
          fa2();
          break;
        case 12:
          fb2();
          break;  
        case 13:
          fc2();
          break; 
        case 14:
          fd2();
          break; 
        case 15:
          fe2();
          break; 
        case 16:
          ff2();
          break;
        case 17:
          fg2();
          break;  
        case 18:
          fh2();
          break; 
        case 19:
          fi2();
          break; 
        case 20:
          fj2();
          break; 
        }  
      }
    }  
    void f1(){  
      for(int a = 0; a < 21; a++){
        switch (a) 
        {
        case 1:
          fa1();
          break;
        case 2:
          fb1();
          break;  
        case 3:
          fc1();
          break; 
        case 4:
          fd1();
          break; 
        case 5:
          fe1();
          break; 
        case 6:
          ff1();
          break;
        case 7:
          fg1();
          break;  
        case 8:
          fh1();
          break; 
        case 9:
          fi1();
          break; 
        case 10:
          fj1();
          break; 
        case 11:
          fa2();
          break;
        case 12:
          fb2();
          break;  
        case 13:
          fc2();
          break; 
        case 14:
          fd2();
          break; 
        case 15:
          fe2();
          break; 
        case 16:
          ff2();
          break;
        case 17:
          fg2();
          break;  
        case 18:
          fh2();
          break; 
        case 19:
          fi2();
          break; 
        case 20:
          fj2();
          break; 
        }  
      }
    }
    void an(){
      digitalWrite(8,HIGH);
      digitalWrite(9,HIGH);
      digitalWrite(10,HIGH);
      digitalWrite(11,HIGH);
      digitalWrite(12,HIGH);
    
      digitalWrite(22,LOW);
      digitalWrite(23,LOW);
      digitalWrite(24,LOW);
      digitalWrite(25,LOW);
      digitalWrite(26,LOW);
    
      digitalWrite(30,LOW);
      digitalWrite(31,LOW);
      digitalWrite(32,LOW);
      digitalWrite(33,LOW);
      digitalWrite(34,LOW);
    
      digitalWrite(38,LOW);
      digitalWrite(39,LOW);
      digitalWrite(40,LOW);
      digitalWrite(41,LOW);
      digitalWrite(42,LOW);
    
      digitalWrite(46,LOW);
      digitalWrite(47,LOW);
      digitalWrite(48,LOW);
      digitalWrite(49,LOW);
      digitalWrite(50,LOW);
    
      digitalWrite(70,LOW);
      digitalWrite(71,LOW);
      digitalWrite(72,LOW);
      digitalWrite(73,LOW);
      digitalWrite(74,LOW);
    }
    void aus(){
      digitalWrite(8,LOW);
      digitalWrite(9,LOW);
      digitalWrite(10,LOW);
      digitalWrite(11,LOW);
      digitalWrite(12,LOW);
    
      digitalWrite(22,HIGH);
      digitalWrite(23,HIGH);
      digitalWrite(24,HIGH);
      digitalWrite(25,HIGH);
      digitalWrite(26,HIGH);
    
      digitalWrite(30,HIGH);
      digitalWrite(31,HIGH);
      digitalWrite(32,HIGH);
      digitalWrite(33,HIGH);
      digitalWrite(34,HIGH);
    
      digitalWrite(38,HIGH);
      digitalWrite(39,HIGH);
      digitalWrite(40,HIGH);
      digitalWrite(41,HIGH);
      digitalWrite(42,HIGH);
    
      digitalWrite(46,HIGH);
      digitalWrite(47,HIGH);
      digitalWrite(48,HIGH);
      digitalWrite(49,HIGH);
      digitalWrite(50,HIGH);
    
      digitalWrite(70,HIGH);
      digitalWrite(71,HIGH);
      digitalWrite(72,HIGH);
      digitalWrite(73,HIGH);
      digitalWrite(74,HIGH);
    
    }
    
    
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.