Arduino Led Dice
Arduino Led Dice
Table of Contents
Why Arduino? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
http://www.instructables.com/id/Arduino-Led-Dice/
Intro: Arduino Led Dice
This instructable will show you how to create a dice using Arduino and few components. It's an easy and fun project, suitable for beginners and those who want to start
with Arduino; it also requires a minimal amount of components.
This explaines how to create it in the breadboard, how to solder it and how to make some changes.
Image Notes
1. Arduino Led Dice in action!
The Arduino programming language is an implementation of Wiring, a similar physical computing platform, which is based on the Processing multimedia programming
environment.
Why Arduino?
There are many other microcontrollers and microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's
Handyboard, and many others offer similar functionality. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use
package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other
systems:
Inexpensive - Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be
assembled by hand, and even the pre-assembled Arduino modules cost less than $50
Cross-platform - The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
Simple, clear programming environment - The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take
advantage of as well. For teachers, it's conveniently based on the Processing programming environment, so students learning to program in that environment will
be familiar with the look and feel of Arduino
Open source and extensible software- The Arduino software and is published as open source tools, available for extension by experienced programmers. The
language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C
programming language on which it's based. SImilarly, you can add AVR-C code directly into your Arduino programs if you want to.
Open source and extensible hardware - The Arduino is based on Atmel's ATMEGA8 and ATMEGA168 microcontrollers. The plans for the modules are published
under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively
inexperienced users can build the breadboard version of the module in order to understand how it works and save money.
Windows
Mac OS X
Linux
(All this part was taken from the official website of Arduino)
http://www.instructables.com/id/Arduino-Led-Dice/
Image Notes
1. This is an old version of Arduino
Image Notes
1. This is Arduino!
Parts:
Arduino
7x Leds of any kind (I use 5mm Red Leds)
A 10k Resistor (brown black orange)
7x 220 or 330 Resistor (red red brown or orange orange brown)
A little Push Button
Breadboard
Some wires for the breadboard
Tools:
The arduino programmer (you can download it from the official site of Arduino)
Usb Cable A-B
Soldering Iron (If you want solder the project)
A ProtoBoard (f you want solder the project)
Solder Spool (If you want solder the project)
Third Hand (optional, but useful if you want solder the project)
Image Notes
1. BreadBoard
2. Arduino!
http://www.instructables.com/id/Arduino-Led-Dice/
3. 7x 220 Ohm Resistor
4. 1x 10k Ohm Resistor
5. 7x Red 5mm Leds
6. A PushButton
If you want to see the schematic with more detail, click here:
http://www.instructables.com/files/orig/F5L/A4E0/G1BB7YY2/F5LA4E0G1BB7YY2.jpg
Image Notes
1. Arduino board
2. Ground
3. Pushbutton
Image Notes
Image Notes 1. Led 1
1. 1) Place the Leds 2. Led 1
3. Led 2
4. Led 2
5. Led 3
6. Led 3
7. Led 4
8. <--- I placed the LED in this way
http://www.instructables.com/id/Arduino-Led-Dice/
Image Notes Image Notes
1. 2) Connect all the Leds to the Ground line with 220 or 330 Ohm Resistors 1. 3) Place the Push button and connect it to the Ground line with a 10k Ohm
Resistor
2. 10k Ohm
Hey...you're done!
http://www.instructables.com/id/Arduino-Led-Dice/
Image Notes
1. 6) Connect the 5v of the Arduino to this Button pin
2. 6) Connect this pin of the Pushbutton with Arduino
Image Notes
1. PushButton
2. 10k Ohm Resistor
3. This is how the Leds are connected to the Arduino pins...*REMEMBER to
connect every Led to the ground with a 220 or 330 Ohm Resistor*
Image Notes
http://www.instructables.com/id/Arduino-Led-Dice/
1. ...You have finish!
void setup ()
{
pinMode (pinLeds1, OUTPUT);
pinMode (pinLeds2, OUTPUT);
pinMode (pinLeds3, OUTPUT);
pinMode (pinLed4, OUTPUT);
pinMode (buttonPin, INPUT);
randomSeed(analogRead(0));
}
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH){
ran = random(1, 7);
if (ran == 1){
digitalWrite (pinLed4, HIGH);
delay (time);
}
if (ran == 2){
digitalWrite (pinLeds1, HIGH);
delay (time);
}
if (ran == 3){
digitalWrite (pinLeds3, HIGH);
digitalWrite (pinLed4, HIGH);
delay (time);
}
if (ran == 4){
digitalWrite (pinLeds1, HIGH);
digitalWrite (pinLeds3, HIGH);
delay (time);
}
if (ran == 5){
digitalWrite (pinLeds1, HIGH);
digitalWrite (pinLeds3, HIGH);
digitalWrite (pinLed4, HIGH);
delay (time);
}
if (ran == 6){
digitalWrite (pinLeds1, HIGH);
digitalWrite (pinLeds2, HIGH);
digitalWrite (pinLeds3, HIGH);
delay (time);
}
}
digitalWrite (pinLeds1, LOW);
digitalWrite (pinLeds2, LOW);
digitalWrite (pinLeds3, LOW);
digitalWrite (pinLed4, LOW);
}
File Downloads
Dice.pde (1 KB)
[NOTE: When saving, if you see .tmp as the file ext, rename it to 'Dice.pde']
http://www.instructables.com/id/Arduino-Led-Dice/
Step 7: Test it!
Now the Arduino led dice is finished and you can try it...you just have to power Arduino and press the button to see the number!
This project is very useful for those who wants to begin to become familiar with Arduino, the code is easy, clean and funny.
Now, if you want to improve the project, you can try to solder it or make some changes, as explained in the next steps of instructable.
http://www.instructables.com/id/Arduino-Led-Dice/
Image Notes Image Notes
1. Showing number 5!!!!! 1. Showing number 6!!!!!!
Image Notes
1. My old version connected to arduino
http://www.instructables.com/id/Arduino-Led-Dice/
Step 9: Project variations
You can also apply funny changes to the project, such as using a tilt switch or a vibrator switch instead of the button. So, to read the number of the dice just shake the
breadboard, and it's funny!
If you want to do this, simply connect the tilt switch to the 5V Arduino and the other side to pin 6 of Arduino, as in figure.
For the tilt switch, you need to change this line code:
if (buttonState == HIGH) {
in this:
if (buttonState == LOW) {
Now you just have to take the project in hand, shake it (without breaking it!) and read the number!
http://www.instructables.com/id/Arduino-Led-Dice/
Image Notes
1. ...and read your number!
Related Instructables
Arduino: Digital Dice: an Arduino Fading LED with arduino control High-Low
Electronic Dice Arduino project. Tutorial: Flicker Arduino by leds with a pot Binary LED
(using random by dunnos a LED by Robot Lover meter by Arduino Game
numbers) by TXTCLA55 meauummels by A_Steingrube
redryno1221
Comments
20 comments Add Comment
http://dl.dropbox.com/u/7992054/arduino/Dice.pde
http://www.instructables.com/id/Arduino-Led-Dice/
BenStep42 says: Feb 22, 2010. 12:13 PM REPLY
I'm new to the microcontroller game, but arduino seems to be the best fit for what I want to do as far as controlling led patterns and such.. Can the arduino
set up a continuous lighting sequence for led's and then be disconnected and run the same? I mean can I program a sequence for a project and have the
led's remember the code without the arduino still connected?
Perfect!
http://www.instructables.com/id/Arduino-Led-Dice/
Davuzz11 says: Jan 17, 2010. 6:35 AM REPLY
You can overcome this fact simply putting in the Setup function this line code:
randomSeed(analogRead(0));
However, this line code is already present in the complete code of the instructables.
http://www.instructables.com/id/Arduino-Led-Dice/