Ben nog bezig met code2 en een revisie erbij gezet, class5.inojeroen vrij schreef op zaterdag 23 maart 2019 @ 18:14:
Heb hem net op gelost.
Heb in setup weer een L1 tot 3 aangemaakt.
Waar ik bij alle de 3 digitalWrite heb aangegeven.
Als je die code gebruikt.
Moet je even de pins 11 12 13 op LOW zetten bij de start van de loop.
Heb deze code met de mosfets op de layers gemaakt.
code:
1 2 3 4 5 6 void L1() { digitalWrite(12, LOW); digitalWrite(13, LOW); digitalWrite(11, HIGH); }
https://github.com/Alectus/3D-Led-Cube
Samengevat, alle delays zitten nu ook in de class.
De void functies eronder, Lall - Zall - etc. wou ik er ook inzitten maar dan gaat die nesten. Dat mag - wist ook niet - maar vond het weinig voordeel geven. Is nu wel totaal onleesbaar zooitje geworden, toch is het patroon vd ledjes imo hetzelfde gebleven ivgm de vorige revisie.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| class Functie { public: Functie Z(int z) { kurk = digitalRead(z); if (kurk == HIGH) { digitalWrite(z, 0); } else { digitalWrite(z, HIGH); } return *this; } Functie L(int a) { // Voor de analoge pinnen A0-2 kurk = digitalRead(a); if (kurk == HIGH) { digitalWrite(a, 0); } else { digitalWrite(a, HIGH); } return *this; } Functie P() { // P = Pause ter vervanging van de delays delay(t200); return *this; } }roep; // ******************* einde class Functie ****************** void Lall(){ // Lall wordt 4x aangeroepen roep. L(14). L(15). L(16); } void Zall(){ roep.Z(2). Z(3). Z(4). Z(5). Z(6). Z(7). Z(8). Z(9). Z(10); } //***************************************************** void loop(){ // Begin void loop for (int i = 0; i < 4; i++){ roep.L(14).Z(2); roep.P(); roep.Z(3); roep.P(); roep.Z(4); roep.P(); roep.Z(2).Z(7); roep.P(); roep.Z(3). Z(6); roep.P(); roep.Z(4). Z(5); roep.P(); roep.Z(7). Z(8); roep.P(); roep.Z(6). Z(9); roep.P(); roep.Z(5). Z(10); roep.P(); roep.Z(8). Z(9).L(15); roep.P(); roep.L(14).Z(8); roep.P(); roep.Z(10). Z(5); roep.P(); roep.Z(9). Z(2); roep.P(); roep.Z(8). Z(3); roep.P(); roep.Z(5). Z(4); roep.P(); roep.L(14).L(16); } |
De teller staat nu op 346 regels.
.