Inleiding
Kolonisten van catan, risk, yahtzee en cluedo. Het zijn allemaal spelletjes waarvoor je één of meerdere
dobbelstenen nodig hebt. Natuurlijk kun je hiervoor een gewone ouderwetse houten dobbelsteen gebruiken maar
voor iemand die geïnteresseerd is in elektronica, is een LED dobbelsteen natuurlijk veel leuker om te
gebruiken. En er zitten ook een paar voordelen aan een LED dobbelsteen. Deze kan bijvoorbeeld niet van de tafel
afrollen en het getal is ook nog zichtbaar als het spel in een donkere ruimte wordt gespeeld.
Benodigdheden
Schakeling
Hieronder staat het schema en de print-layout van de LED dobbelsteen

Onderdelen

Code voor PIC
/**************************************************************
* Auteur: K.J. Kok *
* Copyright: (c) Digibytez, 2007-2010. *
* Datum: 22-06-2010 *
* Chip: PIC12F629 *
* Omschrijving: Code voor PIC van de LED dobbelsteen project. *
* Zie http://www.digibytez.nl *
**************************************************************/
void main() {
// Declaraties
int aantal_ogen = 1;
int aantal_ogen_vast = 0;
int teller1;
int teller2;
int teller3;
int s_ingedrukt = 0;
// Start programma
do {
if(GPIO.B3==1){ // Als drukschakelaar wordt ingedrukt
s_ingedrukt = 1; // Drukschakelaar is ingedrukt
while(s_ingedrukt==1){ // Zolang schakelaar ingedrukt is,
// random getallen genereren en weergeven
aantal_ogen = rand()%6+1;
aantal_ogen_vast = aantal_ogen;
while(aantal_ogen_vast==aantal_ogen){
aantal_ogen = rand()%6+1;
}
switch (aantal_ogen) {
case 1: GPIO = 0b00000100; break;
case 2: GPIO = 0b00010000; break;
case 3: GPIO = 0b00010100; break;
case 4: GPIO = 0b00010001; break;
case 5: GPIO = 0b00010101; break;
case 6: GPIO = 0b00010011; break;
}
s_ingedrukt = GPIO.B3; // Controleren stand drukschakelaar.
Delay_ms(50);
} // Drukschakelaar is niet ingedrukt meer
teller1 = 1;
while(teller1<2) { // Na een vaste tijd de gegooide waarde genereren
for(teller2=0;teller2<20;teller2++){
aantal_ogen = rand()%6+1;
aantal_ogen_vast = aantal_ogen;
while(aantal_ogen_vast==aantal_ogen){
aantal_ogen = rand()%6+1;
}
switch (aantal_ogen) {
case 1: GPIO = 0b00000100; break;
case 2: GPIO = 0b00010000; break;
case 3: GPIO = 0b00010100; break;
case 4: GPIO = 0b00010001; break;
case 5: GPIO = 0b00010101; break;
case 6: GPIO = 0b00010011; break;
}
for(teller3=0;teller3<teller1;teller3++){
Delay_ms(60);
}
}
teller1++;
}
}
else { // Drukschakelaar wordt niet ingedrukt
}
}
while(1); // Programma blijven herhalen
}
Werking
De 7 LEDs geven aan welk getal is gegooid net zoals dat op een echte dobbelsteen wordt aangegeven. Als de
drukschakelaar ingedrukt wordt dan begint de PIC met random getallen te
kiezen die worden weergeven. Als vervolgens de drukschakelaar losgelaten wordt dan stopt de dobbelsteen bij een
bepaald getal. De PIC is zo geprogrammeerd dat je als gebebruiker van de dobbelsteen geen
invloed hebt op het getal wat gegooid wordt.
Deze schakeling werkt op een 9V batterij
Download
Bestellen
De volgende producten kun je bestellen:
Advertentie