Home Top Ad

Responsive Ads Here

LED CUBE 3

 ⌁⌁⌁   ⌁⌁  ⌁   ⌁⌁  ⌁⌁⌁Led Cube 3X3X3 ⌁⌁⌁   ⌁⌁⌁   ⌁⌁⌁  ⌁⌁  ⌁ 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

electronic parts:

✏27 led                                  ✏Arduino UNO      ✏Soldering iron 

✏9 Resistor 220 ohm         Jumper wires       

Connect the project like this :

   Working on a single sheet of 9 LEDs, we connect the negative poles together.

   Then we work on the second and third plate.

   We have one final step left, which is to form a cube out of the three plates. Then we solder the positive poles together but from top to bottom.

   Finally we get a cube in it 9 pin  of Positive  and 3 pin Negative , Now we are soldering the positive electrodes with the resistance

Connection with Arduino :

   Just as it can be seen in the second picture Negative pin in(PIN=A0,A1,A2) As for the negative pin in(PIN=2,3,4,5,6,7,8,9,1,0)

Programming:

   At the beginning of the program we define pin leds that show us a square in this order:(PIN2,PIN3,PIN4,PIN7,PIN10,PIN9,PIN8,PIN5,PIN2)

//sqr =Just coding for clarification only
int sqr[9]={2,3,4,7,10,9,8,5,2};

  Then we define the outputs for the project :

void setup()
{
   for (int i=2;i<11;i++)
    {
        pinMode(i,OUTPUT);    // PINS2-10 are set as output
    }
for (int j=0;j<9;j++)  
{
  pinMode(sqr[j],OUTPUT);    // PINS0-9 are set as output of square  
  }  
    pinMode(A0,OUTPUT);    //PIN A0 set as output
    pinMode(A1,OUTPUT);   // PIN A1 set as output
    pinMode(A2,OUTPUT);   // PIN A2 set as output   

    digitalWrite(A0,HIGH);    //pull up the A0 pin
    digitalWrite(A1,HIGH);   // pull up the A1 pin
   digitalWrite(A2,HIGH);   // pull up the A2 pin
}

 10 cases for operation :

case 1 and2:

   Random movement to start and stop the LEDs according to the order of the pin From the first plate at the bottom to the third plate at the top. and Case 2 is the same way from plate three to plate.



  // CASE 1 A=================================================
     for (int i=2;i<11;i++)
          {
               digitalWrite(A0,LOW);    //layer 1 of cube is grounded
 digitalWrite(i,HIGH);    //turn ON each LED one after another in layer1
delay(100);
 digitalWrite(i,LOW);
 }
digitalWrite(A0,HIGH);    //layer1 is pulled up
 //B================================================================== 
 
for (int i=2;i<11;i++)
{
digitalWrite(A1,LOW);   // layer 2 of cube is grounded
digitalWrite(i,HIGH);   // turn ON each LED one after another in layer2
delay(100);
  }
digitalWrite(A1,HIGH);    // layer2 is pulled up
//C======================================================        
for (int i=2;i<11;i++)
 {
 digitalWrite(A2,LOW);    // layer 3 of cube is grounded
digitalWrite(i,HIGH);    // turn ON each LED one after another in layer3
delay(100);
digitalWrite(i,LOW);
 }
digitalWrite(A2,HIGH);    // layer3 is pulled up
//CASE2D==============================================

for (int i=10;i>1;i-- )
{
digitalWrite(A2,LOW);    // layer 3 of cube is grounded
digitalWrite(i,HIGH);    // turn ON each LED one after another in layer3
 delay(100);
 digitalWrite(i,LOW);
 }
digitalWrite(A2,HIGH);    // layer3 is pulled up
 //E=============================================================
     
 for (int i=10;i>1;i-- )
{
digitalWrite(A1,LOW);   // layer 2 of cube is grounded
digitalWrite(i,HIGH);   // turn ON each LED one after another in layer2
 delay(100);
digitalWrite(i,LOW);
}
digitalWrite(A1,HIGH);    // layer2 is pulled up
//F============================================================================
        
 for (int i=10;i>1;i-- )
{
digitalWrite(A0,LOW);    //layer 1 of cube is grounded
digitalWrite(i,HIGH);    //turn ON each LED one after another in layer1
delay(100);
digitalWrite(i,LOW);
}
digitalWrite(A0,HIGH);    //layer1 is pulled up

case 3 and4:

   At this stage, LEDs operate in the form of a square, as we mentioned at the beginning of the code, to use writing sqr .

   Leds work according to the written expression, except for LED No. 6, it does not work.

//CASE3 G ======================================================================================
    for (int j=0;j<9;j++)
{
         digitalWrite(A0,LOW);    //layer 1 of cube is grounded
         digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
         delay(100);
         digitalWrite(sqr[j],LOW);
 }
         digitalWrite(A0,HIGH);    //layer1 is pulled up
// H ======================================================================================
    for (int j=0;j<9;j++)
 {
         digitalWrite(A1,LOW);    //layer 2 of cube is grounded
         digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
         delay(100);
         digitalWrite(sqr[j],LOW);
  }
         digitalWrite(A1,HIGH);    //layer2 is pulled up
// I ======================================================================================
     for (int j=0;j<9;j++)
 {
          digitalWrite(A2,LOW);    //layer 3 of cube is grounded
          digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
          delay(100);
          digitalWrite(sqr[j],LOW);
 }
        digitalWrite(A2,HIGH);    //layer3 is pulled up
//CASE4 J ======================================================================================
      for (int j=8;j>=0;j--)
 {
           digitalWrite(A2,LOW);    //layer 3 of cube is grounded
           digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
           delay(100);
           digitalWrite(sqr[j],LOW);
 }
           digitalWrite(A2,HIGH);    //layer3 is pulled up
                // K======================================================================================
      for (int j=8;j>=0;j--)
 {
           digitalWrite(A1,LOW);    //layer 2 of cube is grounded
           digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
           delay(100);
           digitalWrite(sqr[j],LOW);
 }
           digitalWrite(A1,HIGH);    //layer2 is pulled up
                // L ======================================================================================
      for (int j=8;j>=0;j--)
 {
           digitalWrite(A0,LOW);    //layer 1 of cube is grounded
           digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
           delay(100);
           digitalWrite(sqr[j],LOW);
 }
           digitalWrite(A0,HIGH);    //layer1 is pulled up

case 5 and6:

   All LEDs operate on the first plate, then turn off to operate the second and third

   In the sixth stage, the inverting operation of the LEDs is the third plate.


 //CASE 5 G1 ======================================================================================
        for (int z=1;z<11;z++)
        {
        for (int j=0;j<9;j++)
          {
               digitalWrite(A0,LOW);    //layer 1 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
              delay(10);
          }
          digitalWrite(A0,HIGH);
  
          // H1 ======================================================================================
        for (int j=0;j<9;j++)
          {
               digitalWrite(A1,LOW);    //layer 2 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
              delay(10);
          }
          digitalWrite(A1,HIGH);

          // I1 ======================================================================================
        for (int j=0;j<9;j++)
          {
               digitalWrite(A2,LOW);    //layer 3 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
              delay(10);
          }
          digitalWrite(A2,HIGH);

        //CASE 6 J1 ======================================================================================
        for (int j=8;j>=0;j--)
          {
               digitalWrite(A2,LOW);    //layer 3 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
              delay(10);
          }
          digitalWrite(A2,HIGH);
                // K1======================================================================================
        for (int j=8;j>=0;j--)
          {
               digitalWrite(A1,LOW);    //layer 2 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
              delay(10);
          }
          digitalWrite(A1,HIGH);
                // L1 ======================================================================================
        for (int j=8;j>=0;j--)
          {
               digitalWrite(A0,LOW);    //layer 1 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
              delay(10);
          }
          digitalWrite(A0,HIGH);
        }

case 7 and8:

   This time, we are taking a different shape to draw it on the project, which is a circle on the middle plate. Once clockwise and a second time opposite.

//CASE 7 M ======================================================================================

        for (int k=1;k<5;k++) // Repeat the process 5 times
  {
    digitalWrite(A1,LOW);  
  
      digitalWrite(6,HIGH);
    for (int j=0;j<8;j++) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  }  
   //CASE 8  M1 ======================================================================================
           for (int k=1;k<5;k++)
  {
    digitalWrite(A1,LOW);   
  
      digitalWrite(6,HIGH);
    for (int j=7;j>=0;j--) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  } 

case 9 and10:

   In this last stage of the project, the three plates are being turned simultaneously in the form of a cylinder once clockwise and once opposite.

 //CASE 9 M2 ======================================================================================
         for (int k=1;k<10;k++) //Repeat the process 9 times
  {
    digitalWrite(A0,LOW);   
      digitalWrite(A1,LOW);   
    digitalWrite(A2,LOW);   

      digitalWrite(6,HIGH);
    for (int j=0;j<8;j++) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  }  
     //CASE 10 M3======================================================================================
           for (int k=1;k<10;k++)
  {
    digitalWrite(A0,LOW);   
      digitalWrite(A1,LOW);   
    digitalWrite(A2,LOW);   
      digitalWrite(6,HIGH);
    for (int j=7;j>=0;j--) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  } 
      digitalWrite(A0,HIGH);   
      digitalWrite(A1,HIGH);   
    digitalWrite(A2,HIGH);
     digitalWrite(6,LOW);

So you have finished this latest project of leds projects .

Full Code:

//sqr =Just coding for clarification only
int sqr[9]={2,3,4,7,10,9,8,5,2};
void setup()
{
   for (int i=2;i<11;i++)
    {
        pinMode(i,OUTPUT);    // PINS2-10 are set as output
    }
for (int j=0;j<9;j++)  
{
  pinMode(sqr[j],OUTPUT);    // PINS0-9 are set as output of square  
  }  
    pinMode(A0,OUTPUT);    //PIN A0 set as output
    pinMode(A1,OUTPUT);   // PIN A1 set as output
    pinMode(A2,OUTPUT);   // PIN A2 set as output   

    digitalWrite(A0,HIGH);    //pull up the A0 pin
    digitalWrite(A1,HIGH);   // pull up the A1 pin
   digitalWrite(A2,HIGH);   // pull up the A2 pin
}
void loop()
{
  // CASE 1 A=================================================
     for (int i=2;i<11;i++)
          {
               digitalWrite(A0,LOW);    //layer 1 of cube is grounded
 digitalWrite(i,HIGH);    //turn ON each LED one after another in layer1
delay(100);
 digitalWrite(i,LOW);
 }
digitalWrite(A0,HIGH);    //layer1 is pulled up
 //B==================================================================  

for (int i=2;i<11;i++)
{
digitalWrite(A1,LOW);   // layer 2 of cube is grounded
digitalWrite(i,HIGH);   // turn ON each LED one after another in layer2
delay(100);
  }
digitalWrite(A1,HIGH);    // layer2 is pulled up
//C======================================================        
for (int i=2;i<11;i++)
 {
 digitalWrite(A2,LOW);    // layer 3 of cube is grounded
digitalWrite(i,HIGH);    // turn ON each LED one after another in layer3
delay(100);
digitalWrite(i,LOW);
 }
digitalWrite(A2,HIGH);    // layer3 is pulled up
//CASE 2D=================================================
for (int i=10;i>1;i-- )
{
digitalWrite(A2,LOW);    // layer 3 of cube is grounded
digitalWrite(i,HIGH);    // turn ON each LED one after another in layer3
 delay(100);
 digitalWrite(i,LOW);
 }
digitalWrite(A2,HIGH);    // layer3 is pulled up
 //E==================================================================     
  for (int i=10;i>1;i-- )
{
digitalWrite(A1,LOW);   // layer 2 of cube is grounded
digitalWrite(i,HIGH);   // turn ON each LED one after another in layer2
 delay(100);
digitalWrite(i,LOW);
}
digitalWrite(A1,HIGH);    // layer2 is pulled up
//F======================================================================================       
   for (int i=10;i>1;i-- )
{
digitalWrite(A0,LOW);    //layer 1 of cube is grounded
digitalWrite(i,HIGH);    //turn ON each LED one after another in layer1
delay(100);
digitalWrite(i,LOW);
}
digitalWrite(A0,HIGH);    //layer1 is pulled up
//CASE3 G ======================================================================================
    for (int j=0;j<9;j++)
{
         digitalWrite(A0,LOW);    //layer 1 of cube is grounded
         digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
         delay(100);
         digitalWrite(sqr[j],LOW);
 }
         digitalWrite(A0,HIGH);    //layer1 is pulled up
// H ======================================================================================
    for (int j=0;j<9;j++)
 {
         digitalWrite(A1,LOW);    //layer 2 of cube is grounded
         digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
         delay(100);
         digitalWrite(sqr[j],LOW);
  }
         digitalWrite(A1,HIGH);    //layer2 is pulled up
// I ======================================================================================
     for (int j=0;j<9;j++)
 {
          digitalWrite(A2,LOW);    //layer 3 of cube is grounded
          digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
          delay(100);
          digitalWrite(sqr[j],LOW);
 }
        digitalWrite(A2,HIGH);    //layer3 is pulled up
//CASE4 J ======================================================================================
      for (int j=8;j>=0;j--)
 {
           digitalWrite(A2,LOW);    //layer 3 of cube is grounded
           digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
           delay(100);
           digitalWrite(sqr[j],LOW);
 }
           digitalWrite(A2,HIGH);    //layer3 is pulled up
                // K======================================================================================
      for (int j=8;j>=0;j--)
 {
           digitalWrite(A1,LOW);    //layer 2 of cube is grounded
           digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
           delay(100);
           digitalWrite(sqr[j],LOW);
 }
           digitalWrite(A1,HIGH);    //layer2 is pulled up
                // L ======================================================================================
      for (int j=8;j>=0;j--)
 {
           digitalWrite(A0,LOW);    //layer 1 of cube is grounded
           digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
           delay(100);
           digitalWrite(sqr[j],LOW);
 }
           digitalWrite(A0,HIGH);    //layer1 is pulled up

 //CASE 5 G1 ======================================================================================
        for (int z=1;z<11;z++)
        {
        for (int j=0;j<9;j++)
          {
               digitalWrite(A0,LOW);    //layer 1 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
              delay(10);
          }
          digitalWrite(A0,HIGH);
  
          // H1 ======================================================================================
        for (int j=0;j<9;j++)
          {
               digitalWrite(A1,LOW);    //layer 2 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
              delay(10);
          }
          digitalWrite(A1,HIGH);

          // I1 ======================================================================================
        for (int j=0;j<9;j++)
          {
               digitalWrite(A2,LOW);    //layer 3 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
              delay(10);
          }
          digitalWrite(A2,HIGH);

        //CASE 6 J1 ======================================================================================
        for (int j=8;j>=0;j--)
          {
               digitalWrite(A2,LOW);    //layer 3 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer3
              delay(10);
          }
          digitalWrite(A2,HIGH);
                // K1======================================================================================
        for (int j=8;j>=0;j--)
          {
               digitalWrite(A1,LOW);    //layer 2 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer2
              delay(10);
          }
          digitalWrite(A1,HIGH);
                // L1 ======================================================================================
        for (int j=8;j>=0;j--)
          {
               digitalWrite(A0,LOW);    //layer 1 of cube is grounded
              digitalWrite(sqr[j],HIGH);    //turn ON each LED one after another in layer1
              delay(10);
          }
          digitalWrite(A0,HIGH);
        }
//CASE 7 M ======================================================================================

        for (int k=1;k<5;k++) // Repeat the process 5 times
  {
    digitalWrite(A1,LOW);  
  
      digitalWrite(6,HIGH);
    for (int j=0;j<8;j++) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  }  
   //CASE 8  M1 ======================================================================================
           for (int k=1;k<5;k++)
  {
    digitalWrite(A1,LOW);   
  
      digitalWrite(6,HIGH);
    for (int j=7;j>=0;j--) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  } 
 //CASE 9 M2 ======================================================================================
         for (int k=1;k<10;k++) //Repeat the process 9 times
  {
    digitalWrite(A0,LOW);   
      digitalWrite(A1,LOW);   
    digitalWrite(A2,LOW);   

      digitalWrite(6,HIGH);
    for (int j=0;j<8;j++) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  }  
     //CASE 10 M3======================================================================================
           for (int k=1;k<10;k++)
  {
    digitalWrite(A0,LOW);   
      digitalWrite(A1,LOW);   
    digitalWrite(A2,LOW);   
      digitalWrite(6,HIGH);
    for (int j=7;j>=0;j--) 
    {

      if (j<5)
      {
      digitalWrite(sqr[j],HIGH);
      digitalWrite(sqr[j+4],HIGH);
                  delay(50);

      digitalWrite(sqr[j],LOW);
      digitalWrite(sqr[j+4],LOW);

      }
      else 
      if(j>8)
      {
       digitalWrite(sqr[j],HIGH);
       digitalWrite(sqr[j-4],HIGH);
                     delay(50);
       digitalWrite(sqr[j],LOW);
       digitalWrite(sqr[j-4],LOW);
        }
      } 
  } 
      digitalWrite(A0,HIGH);   
      digitalWrite(A1,HIGH);   
    digitalWrite(A2,HIGH);
     digitalWrite(6,LOW);
}

You can follow the entire project in this video:

Important :☝☝☝☝You can always choose your own coding method and add changes to these projects.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

No comments