Project

General

Profile

Task #3635 » PanneauAAA.cpp

Mathieu Fauchart, 02/02/2021 10:17 AM

 
1
//Allumer la premi?re led
2
//Propager un niveau 0
3
#include "panneauLeds2.h"
4

    
5
int main()
6
{
7
     pulse(RESET);
8
    //Index pour les colonnes
9
    int j = 0;
10
    //tableau de bool?ens
11
    bool tab1D_L0[NCOLONN] = {0,1,1,1,1,1,0,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,0,};
12
    bool tab1D_L1[NCOLONN] = {0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,};
13
    bool tab1D_L2[NCOLONN] = {0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,};
14
    bool tab1D_L3[NCOLONN] = {0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,1,0,0,1,0,};
15
    bool tab1D_L4[NCOLONN] = {0,1,1,1,1,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,};
16
    bool tab1D_L5[NCOLONN] = {0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,};
17
    bool tab1D_L6[NCOLONN] = {0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,};
18
    bool tab1D_L7[NCOLONN] = {0,1,1,1,1,1,0,1,0,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,};
19
    configPanel();
20
    clearPanel();
21
    //Initialiser le compteur de ligne
22
    //Pour commencer ? la premi?re ligne
23

    
24
    while(1)
25
    {
26

    
27
        //M?moriser les ?tats des leds avec les valeurs du tableau
28
        digitalWrite(STROBE1,HIGH);
29
        for(j = 0; j < NCOLONN; j++)
30
        {
31
            //On pousse un niveau 1
32
            if(tab1D_L0[j] == 1)
33
            {
34
                digitalWrite(DATA_V1,LEDON);
35
                digitalWrite(DATA_R1,LEDOFF);
36
                pulse(HRD1);
37
            }
38
            //On pousse un niveau 0
39
            else
40
            {
41
                digitalWrite(DATA_V1,LEDOFF);
42
                digitalWrite(DATA_R1,LEDOFF);
43
                pulse(HRD1);
44
            }
45
        }
46
        //On active les sorties
47
        digitalWrite(OE,HIGH);
48
        delay(DELAY);
49
        //On change de ligne
50
        digitalWrite(OE,LOW);
51

    
52
        //M?moriser les ?tats des leds avec les valeurs du tableau
53
        digitalWrite(STROBE1,HIGH);
54
        for(j = 0; j < NCOLONN; j++)
55
        {
56
            //On pousse un niveau 1
57
            if(tab1D_L1[j] == 1)
58
            {
59
                digitalWrite(DATA_V1,LEDON);
60
                digitalWrite(DATA_R1,LEDOFF);
61
                pulse(HRD1);
62
            }
63
            //On pousse un niveau 0
64
            else
65
            {
66
                digitalWrite(DATA_V1,LEDOFF);
67
                digitalWrite(DATA_R1,LEDOFF);
68
                pulse(HRD1);
69
            }
70
        }
71
        //On active les sorties
72
        digitalWrite(OE,HIGH);
73
        delay(DELAY);
74
        //On change de ligne
75
        digitalWrite(OE,LOW);
76

    
77
        //M?moriser les ?tats des leds avec les valeurs du tableau
78
        digitalWrite(STROBE1,HIGH);
79
        for(j = 0; j < NCOLONN; j++)
80
        {
81
            //On pousse un niveau 1
82
            if(tab1D_L2[j] == 1)
83
            {
84
                digitalWrite(DATA_V1,LEDON);
85
                digitalWrite(DATA_R1,LEDOFF);
86
                pulse(HRD1);
87
            }
88
            //On pousse un niveau 0
89
            else
90
            {
91
                digitalWrite(DATA_V1,LEDOFF);
92
                digitalWrite(DATA_R1,LEDOFF);
93
                pulse(HRD1);
94
            }
95
        }
96
        //On active les sorties
97
        digitalWrite(OE,HIGH);
98
        delay(DELAY);
99
        //On change de ligne
100
        digitalWrite(OE,LOW);
101

    
102
        //M?moriser les ?tats des leds avec les valeurs du tableau
103
        digitalWrite(STROBE1,HIGH);
104
        for(j = 0; j < NCOLONN; j++)
105
        {
106
            //On pousse un niveau 1
107
            if(tab1D_L3[j] == 1)
108
            {
109
                digitalWrite(DATA_V1,LEDON);
110
                digitalWrite(DATA_R1,LEDOFF);
111
                pulse(HRD1);
112
            }
113
            //On pousse un niveau 0
114
            else
115
            {
116
                digitalWrite(DATA_V1,LEDOFF);
117
                digitalWrite(DATA_R1,LEDOFF);
118
                pulse(HRD1);
119
            }
120
        }
121
        //On active les sorties
122
        digitalWrite(OE,HIGH);
123
        delay(DELAY);
124
        //On change de ligne
125
        digitalWrite(OE,LOW);
126

    
127
        //M?moriser les ?tats des leds avec les valeurs du tableau
128
        digitalWrite(STROBE1,HIGH);
129
        //On pousse les valeurs du tableau sans activer les sorties
130
        for(j = 0; j < NCOLONN; j++)
131
        {
132
            //On pousse un niveau 1
133
            if(tab1D_L4[j] == 1)
134
            {
135
                digitalWrite(DATA_V1,LEDON);
136
                digitalWrite(DATA_R1,LEDOFF);
137
                pulse(HRD1);
138
            }
139
            //On pousse un niveau 0
140
            else
141
            {
142
                digitalWrite(DATA_V1,LEDOFF);
143
                digitalWrite(DATA_R1,LEDOFF);
144
                pulse(HRD1);
145
            }
146
        }
147
        //On active les sorties
148
        digitalWrite(OE,HIGH);
149
        delay(DELAY);
150
        //On change de ligne
151
        digitalWrite(OE,LOW);
152

    
153
        //M?moriser les ?tats des leds avec les valeurs du tableau
154
        digitalWrite(STROBE1,HIGH);
155
        //On pousse les valeurs du tableau sans activer les sorties
156
        for(j = 0; j < NCOLONN; j++)
157
        {
158
            //On pousse un niveau 1
159
            if(tab1D_L5[j] == 1)
160
            {
161
                digitalWrite(DATA_V1,LEDON);
162
                digitalWrite(DATA_R1,LEDOFF);
163
                pulse(HRD1);
164
            }
165
            //On pousse un niveau 0
166
            else
167
            {
168
                digitalWrite(DATA_V1,LEDOFF);
169
                digitalWrite(DATA_R1,LEDOFF);
170
                pulse(HRD1);
171
            }
172
        }
173
        //On active les sorties
174
        digitalWrite(OE,HIGH);
175
        delay(DELAY);
176
        //On change de ligne
177
        digitalWrite(OE,LOW);
178

    
179
        //M?moriser les ?tats des leds avec les valeurs du tableau
180
        digitalWrite(STROBE1,HIGH);
181
        //On pousse les valeurs du tableau sans activer les sorties
182
        for(j = 0; j < NCOLONN; j++)
183
        {
184
            //On pousse un niveau 1
185
            if(tab1D_L6[j] == 1)
186
            {
187
                digitalWrite(DATA_V1,LEDON);
188
                digitalWrite(DATA_R1,LEDOFF);
189
                pulse(HRD1);
190
            }
191
            //On pousse un niveau 0
192
            else
193
            {
194
                digitalWrite(DATA_V1,LEDOFF);
195
                digitalWrite(DATA_R1,LEDOFF);
196
                pulse(HRD1);
197
            }
198
        }
199
        //On active les sorties
200
        digitalWrite(OE,HIGH);
201
        delay(DELAY);
202
        //On change de ligne
203
        digitalWrite(OE,LOW);
204

    
205
        //M?moriser les ?tats des leds avec les valeurs du tableau
206
        digitalWrite(STROBE1,HIGH);
207
        //On pousse les valeurs du tableau sans activer les sorties
208
        for(j = 0; j < NCOLONN; j++)
209
        {
210
            //On pousse un niveau 1
211
            if(tab1D_L7[j] == 1)
212
            {
213
                digitalWrite(DATA_V1,LEDON);
214
                digitalWrite(DATA_R1,LEDOFF);
215
                pulse(HRD1);
216
            }
217
            //On pousse un niveau 0
218
            else
219
            {
220
                digitalWrite(DATA_V1,LEDOFF);
221
                digitalWrite(DATA_R1,LEDOFF);
222
                pulse(HRD1);
223
            }
224
        }
225
        //On active les sorties
226
        digitalWrite(OE,HIGH);
227
        delay(DELAY);
228
        //On change de ligne
229
        digitalWrite(OE,LOW);
230
    }
231
    return(0);
232
}
(4-4/4)