Actions
Gitlab-ci code » History » Revision 1
Revision 1/2
| Next »
Lukasz, 29.05.2020 23:30
GitLab-ci Build = pipelineId:139 pipelineIid:3 jobId:312
File miniSixtenChannelMultiplexer.ino
// mozliwe warianty kanalow
int muxChannel[16][4]={
{0,0,0,0}, //channel 0
{1,0,0,0}, //channel 1
{0,1,0,0}, //channel 2
{1,1,0,0}, //channel 3
{0,0,1,0}, //channel 4
{1,0,1,0}, //channel 5
{0,1,1,0}, //channel 6
{1,1,1,0}, //channel 7
{0,0,0,1}, //channel 8
{1,0,0,1}, //channel 9
{0,1,0,1}, //channel 10
{1,1,0,1}, //channel 11
{0,0,1,1}, //channel 12
{1,0,1,1}, //channel 13
{0,1,1,1}, //channel 14
{1,1,1,1} //channel 15
};
// mux control pins
int s0 = 4;
int s1 = 5;
int s2 = 6;
int s3 = 7;
// mux "SIG" pin
int SIG_pin = 4;
void setup()
{
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
digitalWrite(s0, LOW);
digitalWrite(s1, LOW);
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
Serial.begin(9600);
}
void loop()
{
// petla czytajaca wszystkie 16 wartosci
Serial.println("Value at channel: ");
for(int i = 0; i < 16; i++)
{
Serial.print(" ch : ");
Serial.print(i);
Serial.print(" : ");
Serial.println(readMux(i));
}
delay(1000);
}
int readMux(int channel)
{
int controlPin[] = {s0, s1, s2, s3};
// loop po 4 ustawiajacych pinach
for(int i = 0; i < 4; i++)
{
digitalWrite(controlPin[i], muxChannel[channel][i]);
}
// czytanie wartosci z SIH pin1
int val = analogRead(SIG_pin);
return val;
}
Updated by Lukasz over 4 years ago · 1 revisions
Go to top