Gitlab-ci code » History » Version 2
Lukasz, 01.06.2020 08:21
GitLab-ci Build = pipelineId:147 pipelineIid:8 jobId:338
1 | 1 | Lukasz | File *miniSixtenChannelMultiplexer.ino*<pre><code class="cpp"> |
---|---|---|---|
2 | // mozliwe warianty kanalow |
||
3 | int muxChannel[16][4]={ |
||
4 | {0,0,0,0}, //channel 0 |
||
5 | {1,0,0,0}, //channel 1 |
||
6 | {0,1,0,0}, //channel 2 |
||
7 | {1,1,0,0}, //channel 3 |
||
8 | {0,0,1,0}, //channel 4 |
||
9 | {1,0,1,0}, //channel 5 |
||
10 | {0,1,1,0}, //channel 6 |
||
11 | {1,1,1,0}, //channel 7 |
||
12 | {0,0,0,1}, //channel 8 |
||
13 | {1,0,0,1}, //channel 9 |
||
14 | {0,1,0,1}, //channel 10 |
||
15 | {1,1,0,1}, //channel 11 |
||
16 | {0,0,1,1}, //channel 12 |
||
17 | {1,0,1,1}, //channel 13 |
||
18 | {0,1,1,1}, //channel 14 |
||
19 | {1,1,1,1} //channel 15 |
||
20 | }; |
||
21 | |||
22 | // mux control pins |
||
23 | int s0 = 4; |
||
24 | int s1 = 5; |
||
25 | int s2 = 6; |
||
26 | int s3 = 7; |
||
27 | |||
28 | // mux "SIG" pin |
||
29 | 2 | Lukasz | int SIG_pin = 0; |
30 | 1 | Lukasz | |
31 | void setup() |
||
32 | { |
||
33 | pinMode(s0, OUTPUT); |
||
34 | pinMode(s1, OUTPUT); |
||
35 | pinMode(s2, OUTPUT); |
||
36 | pinMode(s3, OUTPUT); |
||
37 | |||
38 | digitalWrite(s0, LOW); |
||
39 | digitalWrite(s1, LOW); |
||
40 | digitalWrite(s2, LOW); |
||
41 | digitalWrite(s3, LOW); |
||
42 | |||
43 | Serial.begin(9600); |
||
44 | } |
||
45 | |||
46 | void loop() |
||
47 | { |
||
48 | // petla czytajaca wszystkie 16 wartosci |
||
49 | Serial.println("Value at channel: "); |
||
50 | for(int i = 0; i < 16; i++) |
||
51 | { |
||
52 | Serial.print(" ch : "); |
||
53 | Serial.print(i); |
||
54 | Serial.print(" : "); |
||
55 | Serial.println(readMux(i)); |
||
56 | } |
||
57 | delay(1000); |
||
58 | } |
||
59 | |||
60 | int readMux(int channel) |
||
61 | { |
||
62 | int controlPin[] = {s0, s1, s2, s3}; |
||
63 | |||
64 | // loop po 4 ustawiajacych pinach |
||
65 | for(int i = 0; i < 4; i++) |
||
66 | { |
||
67 | digitalWrite(controlPin[i], muxChannel[channel][i]); |
||
68 | } |
||
69 | |||
70 | // czytanie wartosci z SIH pin1 |
||
71 | int val = analogRead(SIG_pin); |
||
72 | return val; |
||
73 | } |
||
74 | </code></pre> |