Project tutorial
Cube for Kids

Cube for Kids © GPL3+

This was my Arduino-Starter-Project with my son. I just wanted an easy set-up and something he can use partically: HIS CUBE!

  • 2,154 views
  • 0 comments
  • 9 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

This should be the first project with my son an the arduino. So I just wanted something he can really use and understand. Something with programming, electronics and soldering. And there it was: our Cube-Box.

We use a plastic box for the Arduino and the battery. We did the following steps:

  • meassure the position of the LED's
  • set the position of the On/Off switch and dicing button
  • drill the holes
  • mount the parts
  • fix the parts best with hot glue
  • wire the LED's best

Picture from inside the box:

We attached the battery with hot glue.

PS: If you want do read this in german, please visit techpluscode.de

Code

Dicing Cube with Turn-On AnimationArduino
//  PROGRAMM: LED Wuerfel                                


// Festlegen der Pins
// Pin der ersten LED
int PinErsteLED=2;

// Pin des Tasters
int PinTaster=9;

// Festlegen der Wuerfelbilder: Reihenfolge 
//   1     2 
//   3  7  4
//   5     6
int wuerfelBild[8][7]=
  {{0,0,0,0,0,0,0},  //0 = alle LED's aus
   {0,0,0,0,0,0,1},  //1
   {0,1,0,0,1,0,0},  //2
   {1,0,0,0,0,1,1},  //3
   {1,1,0,0,1,1,0},  //4
   {1,1,0,0,1,1,1},  //5
   {1,1,1,1,1,1,0},  //6
   {1,1,1,1,1,1,1}};  //7 = alle LED's an
   
int lauflichtmax=6;
int lauflicht[6]={1,2,4,6,5,3};


void setup() {
  
  // Ausgehend von dem ersten LED Pin werden alle Pins als Output definiert
  for (int i=PinErsteLED;i<=PinErsteLED+6;++i)
    pinMode(i,OUTPUT);
 
   // Pin fuer den Schalter zur Steuerung des Zufallgenerators
    pinMode(PinTaster,INPUT);
}

// Funktion zum Anzeigen der Ergebnisse
void ZeigeZahl(int zahl) 
{
  // Fuer die vom Zufallsgenerator bergebene Nummer wird das passende Bild 
  // ausgelesen und die passenden LEDs eingeschaltet
  for (int i=0;i<=6;++i)
    digitalWrite(i+PinErsteLED,wuerfelBild[zahl][i]?HIGH:LOW);
}

void loop() {
  //Variablen vereinbaren
  int i,j,zufall;        

  ZeigeZahl(7); //Alle LED's einschalten
  delay(1000);  // Pause in Millisekunden
  
  // Zufallszahlen anzeigen bis das erste Mal eine Taste gedrueckt wird
  i=0;
  do {
    i=i+1;
    if (i>6) {i=1;}
    delay(500);
    ZeigeZahl(i); //Zahl anzeigen
  } while (digitalRead(PinTaster)==HIGH); //wiederholten, bis Taste gedrueckt wird

  
  // Ab hier wird gewuerfelt, in Endlosschleife bis zum Ausschalten
  do { 
    //Startzustand setzen
    zufall=0; 
    i=0;
    do {
      zufall=zufall+1; //Zufallszahl hochzhlen
      i=i+1;
      if (i>=lauflichtmax) {i=0;} //Wenn i lauflichtmax ist, dann wieder auf 0 setzen, so ist i immer 0..6
      delay(60); //Pause in Millisekunden
      
      ZeigeZahl(0);
      digitalWrite(PinErsteLED+lauflicht[i]-1,HIGH);
     
    } while (digitalRead(PinTaster)==LOW); //Wiederholen bis Taster losgelassen wird
    
    zufall=zufall%6; //Ergebnis ist Zahl von 0..5
    ZeigeZahl(zufall+1); //Wrfelergebnis anzeigen 
    
    while (digitalRead(PinTaster)==HIGH) {}; //Warten bis naechste Taste gedrueckt wird
  } while (1==1); //Undendlich Wiederholen, da 1 immer gleich 1 ist
}

Schematics

Schematics
Schematics of wiring the 7 LED's and the button.
Schaltung bflunxsqag

Comments

Similar projects you might like

Kids RGB LED Star Nightlight

Project tutorial by Unexpected Maker

  • 3,343 views
  • 1 comment
  • 16 respects

LED Cube

Project tutorial by Praditha Alwis

  • 10,106 views
  • 0 comments
  • 17 respects

Interactive 4x4x4 LED cube

Project tutorial by Tong Xin Hua

  • 2,762 views
  • 0 comments
  • 0 respects

Rubik's Cube

Project showcase by ArduinoKoen

  • 2,914 views
  • 4 comments
  • 14 respects

Build a "Go Away!" Robot - Easy Starter Project for Kids

Project tutorial by FinderElectric

  • 2,631 views
  • 6 comments
  • 12 respects
Add projectSign up / Login