Skip to content

Commit 019835b

Browse files
javastraatjavastraat
javastraat
authored and
javastraat
committed
ijdice inital upload
one problem found rolldice seems to start once in beginning
1 parent a419abc commit 019835b

File tree

1 file changed

+269
-0
lines changed

1 file changed

+269
-0
lines changed

ijdice/ijdice.ino

Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
2+
#include "LedControl.h"
3+
const int BUTTON_PIN = 4;
4+
5+
6+
//#define POTPIN A0 // Potentiometer
7+
long randNumber;
8+
int oldrandNumber;
9+
10+
11+
const int BAUD_RATE = 9600;
12+
13+
14+
int old_button_state = LOW;
15+
16+
17+
18+
byte logo[] = {
19+
B11000011,
20+
B11000011,
21+
B00000000,
22+
B00000011,
23+
B11000011,
24+
B11100111,
25+
B01111110,
26+
B00111100
27+
};
28+
byte D[] = {
29+
B11111100,
30+
B11111110,
31+
B11000111,
32+
B11000011,
33+
B11000011,
34+
B11000111,
35+
B11111110,
36+
B11111100
37+
};
38+
byte I[] = {
39+
B00111100,
40+
B00111100,
41+
B00011000,
42+
B00011000,
43+
B00011000,
44+
B00011000,
45+
B00111100,
46+
B00111100
47+
};
48+
byte C[] = {
49+
B01111110,
50+
B11111111,
51+
B11000011,
52+
B11000000,
53+
B11000000,
54+
B11000011,
55+
B11111111,
56+
B01111110
57+
};
58+
byte E[] = {
59+
B11111110,
60+
B11111110,
61+
B11000000,
62+
B11111000,
63+
B11111000,
64+
B11000000,
65+
B11111110,
66+
B11111110
67+
};
68+
69+
byte one[] = {
70+
B00000000,
71+
B00000000,
72+
B00000000,
73+
B00011000,
74+
B00011000,
75+
B00000000,
76+
B00000000,
77+
B00000000
78+
};
79+
byte two[] = {
80+
B01100000,
81+
B01100000,
82+
B00000000,
83+
B00000000,
84+
B00000000,
85+
B00000000,
86+
B00000110,
87+
B00000110
88+
};
89+
byte three[] = {
90+
B01100000,
91+
B01100000,
92+
B00000000,
93+
B00011000,
94+
B00011000,
95+
B00000000,
96+
B00000110,
97+
B00000110
98+
};
99+
byte four[] = {
100+
B01100110,
101+
B01100110,
102+
B00000000,
103+
B00000000,
104+
B00000000,
105+
B00000000,
106+
B01100110,
107+
B01100110
108+
};
109+
byte five[] = {
110+
B01100110,
111+
B01100110,
112+
B00000000,
113+
B00011000,
114+
B00011000,
115+
B00000000,
116+
B01100110,
117+
B01100110
118+
};
119+
byte six[] = {
120+
B01100110,
121+
B01100110,
122+
B00000000,
123+
B01100110,
124+
B01100110,
125+
B00000000,
126+
B01100110,
127+
B01100110
128+
};
129+
130+
131+
LedControl lc = LedControl(13, 11, 12, 1);
132+
133+
void setSprite(byte *sprite) {
134+
for (int r = 0; r < 8; r++) {
135+
lc.setColumn(0, 7 - r, sprite[r]);
136+
}
137+
}
138+
139+
140+
void setup() {
141+
// The MAX72XX is in power-saving mode on startup,
142+
// we have to do a wakeup call
143+
// pinMode(POTPIN, INPUT);
144+
randomSeed(analogRead(5));
145+
Serial.begin(BAUD_RATE);
146+
lc.shutdown(0, false);
147+
// Set the brightness to a medium values
148+
lc.setIntensity(0, 5);
149+
// and clear the display
150+
lc.clearDisplay(0);
151+
randomSeed(analogRead(0));
152+
//#ifdef DEBUG
153+
Serial.println("GO");
154+
//#endif
155+
156+
setSprite(logo);
157+
delay(500);
158+
lc.clearDisplay(0);
159+
setSprite(D);
160+
delay(500);
161+
lc.clearDisplay(0);
162+
setSprite(I);
163+
delay(500);
164+
lc.clearDisplay(0);
165+
setSprite(C);
166+
delay(500);
167+
lc.clearDisplay(0);
168+
setSprite(E);
169+
delay(500);
170+
lc.clearDisplay(0);
171+
delay(2000);
172+
}
173+
174+
175+
void loop() {
176+
int current_button_state = digitalRead(BUTTON_PIN);
177+
178+
if (current_button_state == HIGH && old_button_state != current_button_state) {
179+
randomdice();
180+
delay(50);
181+
}
182+
old_button_state = current_button_state;
183+
184+
rolldice();
185+
};
186+
187+
188+
void rolldice() {
189+
int current_button_state = digitalRead(BUTTON_PIN);
190+
191+
if (current_button_state == HIGH && old_button_state != current_button_state) {
192+
randomdice();
193+
delay(50);
194+
}
195+
old_button_state = current_button_state;
196+
// for (int i = 0; i <= 6; i++) {
197+
setSprite(one);
198+
delay(10);
199+
setSprite(two);
200+
delay(10);
201+
setSprite(three);
202+
delay(10);
203+
setSprite(four);
204+
delay(10);
205+
setSprite(five);
206+
delay(10);
207+
setSprite(six);
208+
delay(10);
209+
// }
210+
}
211+
void randomdice() {
212+
randNumber = random(1, 6);
213+
Serial.println(randNumber);
214+
if (randNumber == oldrandNumber)
215+
{
216+
Serial.println("dubble roll");
217+
}
218+
219+
if (randNumber == 1)
220+
{
221+
Serial.println("11");
222+
setSprite(one);
223+
// delay(500);
224+
// lc.clearDisplay(0);
225+
}
226+
if (randNumber == 2)
227+
{
228+
Serial.println("22");
229+
setSprite(two);
230+
// delay(500);
231+
// lc.clearDisplay(0);
232+
}
233+
if (randNumber == 3)
234+
{
235+
Serial.println("33");
236+
setSprite(three);
237+
// delay(500);
238+
// lc.clearDisplay(0);
239+
}
240+
if (randNumber == 4)
241+
{
242+
Serial.println("44");
243+
setSprite(four);
244+
// delay(500);
245+
// lc.clearDisplay(0);
246+
}
247+
if (randNumber == 5)
248+
{
249+
Serial.println("55");
250+
setSprite(five);
251+
// delay(500);
252+
// lc.clearDisplay(0);
253+
}
254+
if (randNumber == 6)
255+
{
256+
Serial.println("66");
257+
setSprite(six);
258+
// delay(500);
259+
// lc.clearDisplay(0);
260+
261+
}
262+
delay(2000);
263+
264+
//else;
265+
oldrandNumber = randNumber;
266+
267+
268+
269+
}

0 commit comments

Comments
 (0)