Project tutorial

# 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
• 9 respects

## Components and supplies

 Arduino UNO & Genuino UNO
×1
 LED (generic)
×1
 Resistor 330 ohm
×1

## Necessary tools and machines

 Soldering iron (generic)

## Apps and online services

 Arduino IDE

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 of wiring the 7 LED's and the button.

• 5 projects
• 18 followers

December 3, 2017

#### Members who respect this project

and 6 others

See similar projects
you might like

by vinikon

• 944 views
• 5 respects

#### Kids RGB LED Star Nightlight

Project tutorial by Unexpected Maker

• 3,343 views
• 1 comment
• 16 respects

• 10,106 views
• 17 respects

#### Interactive 4x4x4 LED cube

Project tutorial by Tong Xin Hua

• 2,762 views
• 0 respects

#### Rubik's Cube

Project showcase by ArduinoKoen

• 2,914 views