Project

General

Profile

Gitlab-ci code » History » Version 1

Lukasz, 29.05.2020 23:30
GitLab-ci Build = pipelineId:139 pipelineIid:3 jobId:312

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
int SIG_pin = 4;
30
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>
Go to top
Add picture from clipboard (Maximum size: 50 MB)