In this tutorial you will build a dice that is shaken by holding the button in and thrown by releasing the button. The shake, throw and number thrown are animated and displayed on a seven segment display.
A 74HC595 IC is used to interface the 7-segment display to the Arduino, using only 3 Arduino digital pins.
Prerequisites
Know how to use a DIP IC, e.g. from tutorial 17 – Electronic Dice. Read about seven segment displays.
Components
Qty | Part | Designator | Notes | Type |
---|---|---|---|---|
1 | 10k resistor (brown – black – orange) | R9 | 1/4W 5% or better | Resistors |
8 | 470 Ω resistors (yellow – violet – brown) | R1 to R8 | ||
1 | 100n capacitor | C1 | Non-polorized capacitor | Capacitor |
1 | 74HC595 | U1 | 74HC595 IC (16 pin DIP) | Semiconductors |
1 | Common cathode 7-segment display | S1 | Common cathode 7-segment display, e.g. DMR14C from SunLED, or similar | |
1 | Push button switch | SW1 | Can also use a wire link to simulate a switch | Switch |
Circuit Diagram
The circuit diagram is shown below. The seven segment display could have been directly interfaced to the Arduino, but by using the 74HC595, only 3 Arduino pins are used.
Find more information about interfacing the 74HC595 IC to the Arduino in the Serial to Parallel Shifting-Out with a 74HC595 article from the Arduino website. The circuit diagram uses the same Arduino pins as this article and the switch is wired the same as the Arduino Button example.
The suggested sequence for building the circuit is:
- Insert the 74HC595 IC into the breadboard and hook up its power and ground pins to the top and bottom breadboard rails.
- Insert and wire up capacitor C1 (100n).
- Insert the 7-segment display.
- Insert the 470 ohm resistors.
- Wire the resistors to the 7-segment display.
- Wire the resistors to the 74HC595 IC.
- Wire pin 10 of the IC to 5V.
- Wire pin 13 of the IC to GND.
- Connect the push button switch and R9.
- Wire the switch to the Arduino.
- Wire the 74HC595 to the Arduino
Programming the Arduino Dice Project
Download the Arduino_Dice sketch or copy it from the listing below. Afterwards, load it to the Arduino.
/*-------------------------------------------------------------- Program: Arduino_Dice Description: Simulates a dice being thrown. Press a button to shake the dice, release the button to throw the dice. After dice settles, the number that was thrown will be shown. Hardware: Uses a 74HC595 serial-in parallel-out IC to interface a common cathode seven segment display to the Arduino. Uses Arduino pins 8, 11 and 12. A push button switch is interfaced to Arduino pin 2. References: Uses pin numbers, interface and variable names from: http://arduino.cc/en/Tutorial/ShiftOut and http://arduino.cc/en/Tutorial/Button Thanks to the authors of the above projects. Date: 26 April 2012 Author: W.A. Smith, http://startingelectronics.com --------------------------------------------------------------*/
Read more: Tutorial 19: Arduino Dice Circuit And Sketch Using A 7-Segment Display