Balderbraa
Member
This is a small project i made to practice making compact pcb layouts in eagle. It turned out that it`s also good practice at smd soldering.
First I found a circuit-diagram of a descrete dice and found out that this would be even easier to do with a PicAxe. When the design was finished (Eagle-files at the bottom), I was allowed to borrow a PCB-CNC at the local university to make a actual board out of it. And here are the result.
View attachment 13746View attachment 13725
Due to the restrictions on two attachments per post the rest of the files will be upploaded to Dropbox and shared.
Photo of the finished PCB can be found here:
Top:
https://dl.dropbox.com/u/12322474/Dice top.JPG
Bottom1:
https://dl.dropbox.com/u/12322474/Dice bottom.JPG
Bottom2:
https://dl.dropbox.com/u/12322474/Dice bottom 2.JPG
The board measures are 26x14mm and are duoble-sided.
To display all six combinations of a dice (very easily) you need seven LED`s and four output pins. The Input only-pin(C.3) is used to trigger the "throw". The schematic shows how it is connected.
The code:
Component list:
- 1 PicAxe 08M2
- 7 Red 0805 LEDs
- 1 tactile switch
- 3 150r Resistor (R3,R4,R5)
- 1 1k Resistor (R6)
- 1 10k Resistor (R2)
- 1 22k Resistor (R1)
- Some wire
- Soldering equipment
- Battery (I used a 3,7V Lipo battery)
The Video of it working can be downloaded here:
https://dl.dropbox.com/u/12322474/Terning demo.AVI
(i you running firefox and have vlc installed you can watch it in the browser)
The Eagle board and schematic can be downloaded from here(.zip-file):
https://dl.dropbox.com/u/12322474/Eagle_files.zip
First I found a circuit-diagram of a descrete dice and found out that this would be even easier to do with a PicAxe. When the design was finished (Eagle-files at the bottom), I was allowed to borrow a PCB-CNC at the local university to make a actual board out of it. And here are the result.
View attachment 13746View attachment 13725
Due to the restrictions on two attachments per post the rest of the files will be upploaded to Dropbox and shared.
Photo of the finished PCB can be found here:
Top:
https://dl.dropbox.com/u/12322474/Dice top.JPG
Bottom1:
https://dl.dropbox.com/u/12322474/Dice bottom.JPG
Bottom2:
https://dl.dropbox.com/u/12322474/Dice bottom 2.JPG
The board measures are 26x14mm and are duoble-sided.
To display all six combinations of a dice (very easily) you need seven LED`s and four output pins. The Input only-pin(C.3) is used to trigger the "throw". The schematic shows how it is connected.
The code:
Code:
; *******************************
; ***** 08M2 Dice *****
; *******************************
; Filename:Terning_08m2.bas
; Date:15.03.2013
; File Version:Final
; Written by:Bendik Henriksen
; Function:Throw a dice
; Last Revision:Current
; Target PICAXE:08M2
; *******************************
; _____________
; | |
; | 1 2 |
; | X X |
; | |
; | |
; | 3 7 4 |
; | X X X | <-----THE DICE!
; | |
; | |
; | 5 6 |
; | X X |
; |_____________|
;
#picaxe 08M2
symbol Delay=b3
symbol Diagonal_LtR=0 ;Led 1 & 6
symbol midtX2=1 ;Led 3 & 4
symbol Diagonal_RtL=2 ;Led 2 & 5
Symbol MidtX1=4 ;Led 7
symbol bryter=pin3 ;Switch to trigger throw.
Delay=500 ;Delay to control animation of throw.
setfreq m8
setint %00001000,%00001000 ;Set Interrupt on switch
Main:
For b1=1to 5 ;Here the picaxe counts from one to six
;several times a second while it waits for
next b1 ;an interrupt to occur. It would seem from
goto Main ;code that it is a litle greater chance to hit
;six but it`s not possible to detect in real life.
Interrupt:
if b1=1 then goto en ;Here we decide at what number the counter
if b1=2 then goto _to ;was when the switch was pressed.
if b1=3 then goto tre
if b1=4 then goto fire
if b1=5 then goto fem
if b1=6 then goto seks
en:
Gosub roll ;Do cool stuff
High MidtX1 ;before displaying the number
goto Hold
_to:
Gosub roll ;Do cool stuff
High MidtX2 ;before displaying the number
goto Hold
tre:
Gosub roll ;Do cool stuff
High MidtX1 ;before displaying the number
High Diagonal_LtR
goto Hold
fire:
Gosub roll ;Do cool stuff
High Diagonal_LtR ;before displaying the number
High Diagonal_RtL
goto Hold
fem:
Gosub roll ;Do cool stuff
High Diagonal_LtR ;before displaying the number
High Diagonal_RtL
High MidtX1
goto Hold
seks:
Gosub roll ;Do cool stuff
High Diagonal_LtR ;before displaying the number
High Diagonal_RtL
High MidtX2
goto Hold
Hold:
setint %00001000,%00001000 ;Re-enable interrupt
return ;Return from interrupt
Roll: ;Some animations to make the throw interesting
Low Diagonal_LtR
Low Diagonal_RtL
Low MidtX2
Low MidtX1
High MidtX1
for b2=1to 5
High Diagonal_LtR
pause Delay
Low Diagonal_LtR
High Diagonal_RtL
pause Delay
Low Diagonal_RtL
High MidtX2
Pause Delay
low MidtX2
next b2
Low MidtX1
Low Diagonal_RtL
Low Diagonal_LtR
Low MidtX2
return ;Return to display the actual value of the throw.
- 1 PicAxe 08M2
- 7 Red 0805 LEDs
- 1 tactile switch
- 3 150r Resistor (R3,R4,R5)
- 1 1k Resistor (R6)
- 1 10k Resistor (R2)
- 1 22k Resistor (R1)
- Some wire
- Soldering equipment
- Battery (I used a 3,7V Lipo battery)
The Video of it working can be downloaded here:
https://dl.dropbox.com/u/12322474/Terning demo.AVI
(i you running firefox and have vlc installed you can watch it in the browser)
The Eagle board and schematic can be downloaded from here(.zip-file):
https://dl.dropbox.com/u/12322474/Eagle_files.zip