Skip to content

Commit 8e8c4a6

Browse files
authored
Add files via upload
1 parent e6c99f8 commit 8e8c4a6

File tree

1 file changed

+285
-0
lines changed

1 file changed

+285
-0
lines changed

cube.cpp

+285
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
/*
2+
3*3*3 LED Cube library cpp file
3+
This library is make in good hope it help you with your 3*3*3 LED cube coding...
4+
If you got any questions please read readme.doc or keywords.doc ,or ask me on GitHub
5+
credits:
6+
maked by FilipSoft
7+
uploaded on GitHub in 2018
8+
*/
9+
10+
#include "cube.h"
11+
#include "Arduino.h"
12+
13+
// constructor
14+
cube::cube(int s1, int s2, int s3, int s4, int s5, int s6, int s7, int s8, int s9,int r1,int r2,int r3){
15+
s[0] = s1;
16+
s[1] = s2;
17+
s[2] = s3;
18+
s[3] = s4;
19+
s[4] = s5;
20+
s[5] = s6;
21+
s[6] = s7;
22+
s[7] = s8;
23+
s[8] = s9;
24+
25+
r[0] = r1;
26+
r[1] = r2;
27+
r[2] = r3;
28+
29+
for(int i = 0;i<9;i++){
30+
pinMode(s[i],OUTPUT);
31+
}
32+
33+
for(int i = 0;i<9;i++){
34+
pinMode(r[i],OUTPUT);
35+
}
36+
}
37+
38+
// snake
39+
void cube::snake(int r,int time){
40+
41+
if(r == 0){
42+
digitalWrite(A1,HIGH);
43+
digitalWrite(A2,HIGH);
44+
}
45+
46+
if(r == 1){
47+
digitalWrite(A0,HIGH);
48+
digitalWrite(A2,HIGH);
49+
}
50+
51+
if(r == 2){
52+
digitalWrite(A0,HIGH);
53+
digitalWrite(A1,HIGH);
54+
}
55+
56+
for(int i = 0;i<3;i++){
57+
digitalWrite(s[i],HIGH);
58+
delay(time);
59+
digitalWrite(s[i],LOW);
60+
}
61+
62+
63+
for(int i = 5;i>2;i--){
64+
digitalWrite(s[i],HIGH);
65+
delay(time);
66+
digitalWrite(s[i],LOW);
67+
}
68+
69+
for(int i = 6;i<9;i++){
70+
digitalWrite(s[i],HIGH);
71+
delay(time);
72+
digitalWrite(s[i],LOW);
73+
}
74+
75+
76+
digitalWrite(A0,LOW);
77+
digitalWrite(A1,LOW);
78+
digitalWrite(A2,LOW);
79+
}
80+
81+
// reversesnake
82+
void cube::reversesnake(int riadok,int time){
83+
84+
if(riadok == 0){
85+
digitalWrite(A1,HIGH);
86+
digitalWrite(A2,HIGH);
87+
}
88+
89+
if(riadok == 1){
90+
digitalWrite(A0,HIGH);
91+
digitalWrite(A2,HIGH);
92+
}
93+
94+
if(riadok == 2){
95+
digitalWrite(A0,HIGH);
96+
digitalWrite(A1,HIGH);
97+
}
98+
99+
for(int i = 8;i>5;i--){
100+
digitalWrite(s[i],HIGH);
101+
delay(time);
102+
digitalWrite(s[i],LOW);
103+
}
104+
105+
106+
for(int i = 3;i<6;i++){
107+
digitalWrite(s[i],HIGH);
108+
delay(time);
109+
digitalWrite(s[i],LOW);
110+
}
111+
112+
for(int i = 2;i>=0;i--){
113+
digitalWrite(s[i],HIGH);
114+
delay(time);
115+
digitalWrite(s[i],LOW);
116+
}
117+
118+
119+
digitalWrite(A0,LOW);
120+
digitalWrite(A1,LOW);
121+
digitalWrite(A2,LOW);
122+
}
123+
124+
//pulse
125+
void cube::pulse(int repeat,int time, int spin, int rpin){
126+
127+
for(int i = 0;i<repeat;i++){
128+
129+
for(int i = 0;i<9;i++){
130+
digitalWrite(s[i],HIGH);
131+
}
132+
133+
digitalWrite(s[spin],LOW);
134+
135+
for(int i = 0;i<time/2;i++){
136+
digitalWrite(s[spin],HIGH);
137+
digitalWrite(r[rpin],HIGH);
138+
delay(1);
139+
digitalWrite(s[spin],LOW);
140+
digitalWrite(r[rpin],LOW);
141+
delay(1);
142+
}
143+
144+
for(int i = 0;i<9;i++){
145+
digitalWrite(s[i],LOW);
146+
}
147+
148+
digitalWrite(s[spin],HIGH);
149+
digitalWrite(r[2],HIGH);
150+
digitalWrite(r[0],HIGH);
151+
152+
153+
delay(time);
154+
155+
for(int i = 0;i<3;i++){
156+
digitalWrite(r[i],LOW);
157+
}
158+
159+
}
160+
161+
162+
//end pulse
163+
for(int i = 0;i<9;i++){
164+
digitalWrite(s[i],LOW);
165+
}
166+
167+
for(int i = 0;i<3;i++){
168+
digitalWrite(r[i],LOW);
169+
}
170+
}
171+
172+
//clock
173+
void cube::clock(int a,int b,int c,int time){
174+
175+
for(int i = 0;i < time / 3;i++){
176+
177+
digitalWrite(A1,HIGH);
178+
digitalWrite(s[a],HIGH);
179+
digitalWrite(A2,HIGH);
180+
delay(1);
181+
digitalWrite(A1,LOW);
182+
digitalWrite(s[a],LOW);
183+
digitalWrite(A2,LOW);
184+
185+
digitalWrite(A0,HIGH);
186+
digitalWrite(s[b],HIGH);
187+
digitalWrite(A2,HIGH);
188+
delay(1);
189+
digitalWrite(A0,LOW);
190+
digitalWrite(s[b],LOW);
191+
digitalWrite(A2,LOW);
192+
193+
digitalWrite(A1,HIGH);
194+
digitalWrite(s[c],HIGH);
195+
digitalWrite(A0,HIGH);
196+
delay(1);
197+
digitalWrite(A1,LOW);
198+
digitalWrite(s[c],LOW);
199+
digitalWrite(A0,LOW);
200+
}
201+
202+
digitalWrite(s[a],HIGH);
203+
digitalWrite(s[b],HIGH);
204+
digitalWrite(s[c],HIGH);
205+
digitalWrite(A0,HIGH);
206+
digitalWrite(A2,HIGH);
207+
208+
delay(time);
209+
210+
for(int i = 0;i < time / 3;i++){
211+
212+
digitalWrite(A0,HIGH);
213+
digitalWrite(s[a],HIGH);
214+
digitalWrite(A1,HIGH);
215+
delay(1);
216+
digitalWrite(A0,LOW);
217+
digitalWrite(s[a],LOW);
218+
digitalWrite(A1,LOW);
219+
220+
digitalWrite(A0,HIGH);
221+
digitalWrite(s[b],HIGH);
222+
digitalWrite(A2,HIGH);
223+
delay(1);
224+
digitalWrite(A0,LOW);
225+
digitalWrite(s[b],LOW);
226+
digitalWrite(A2,LOW);
227+
228+
digitalWrite(A1,HIGH);
229+
digitalWrite(s[c],HIGH);
230+
digitalWrite(A2,HIGH);
231+
delay(1);
232+
digitalWrite(A1,LOW);
233+
digitalWrite(s[c],LOW);
234+
digitalWrite(A2,LOW);
235+
}
236+
237+
digitalWrite(s[a],LOW);
238+
digitalWrite(s[b],HIGH);
239+
digitalWrite(s[c],LOW);
240+
digitalWrite(A0,LOW);
241+
digitalWrite(A2,LOW);
242+
digitalWrite(A1,LOW);
243+
244+
delay(time);
245+
246+
digitalWrite(s[a],LOW);
247+
digitalWrite(s[b],LOW);
248+
digitalWrite(s[c],LOW);
249+
digitalWrite(A0,LOW);
250+
digitalWrite(A2,LOW);
251+
digitalWrite(A1,LOW);
252+
253+
for(int i = 0;i < time / 3;i++){
254+
255+
digitalWrite(A1,HIGH);
256+
digitalWrite(s[a],HIGH);
257+
digitalWrite(A2,HIGH);
258+
delay(1);
259+
digitalWrite(A1,LOW);
260+
digitalWrite(s[a],LOW);
261+
digitalWrite(A2,LOW);
262+
263+
digitalWrite(A0,HIGH);
264+
digitalWrite(s[b],HIGH);
265+
digitalWrite(A2,HIGH);
266+
delay(1);
267+
digitalWrite(A0,LOW);
268+
digitalWrite(s[b],LOW);
269+
digitalWrite(A2,LOW);
270+
271+
digitalWrite(A1,HIGH);
272+
digitalWrite(s[c],HIGH);
273+
digitalWrite(A0,HIGH);
274+
delay(1);
275+
digitalWrite(A1,LOW);
276+
digitalWrite(s[c],LOW);
277+
digitalWrite(A0,LOW);
278+
}
279+
digitalWrite(s[a],LOW);
280+
digitalWrite(s[b],LOW);
281+
digitalWrite(s[c],LOW);
282+
digitalWrite(A0,LOW);
283+
digitalWrite(A2,LOW);
284+
digitalWrite(A1,LOW);
285+
}

0 commit comments

Comments
 (0)