16-Channel Analog Digital Multiplexer Breakout Board | Botshop

16-Channel Analog Digital Multiplexer Breakout Board

R51.30 inc VAT

Out of stock - Join the waitlist to be emailed when this product becomes available

SKU: Multiplex-L4 Categories: , ,

Description

Are you always running out of analog port for your sensors, no problem, with this board, you can add 16 channels per module and the module can be daisy-chained, one on each analog pin, this means 96 analog pins instead of just 6.

Example Sketch & Diagram

Code:

int s0 = 8;
int s1 = 9;
int s2 = 10;
int s3 = 11;

int SIG_pin = 0;


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(){
 for(int i = 0; i < 16; i ++){
 Serial.print("Value at channel ");
 Serial.print(i);
 Serial.print("is : ");
 Serial.println(readMux(i));
 delay(1000);
 }
}

int readMux(int channel){
 int controlPin[] = {s0, s1, s2, s3};

 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
 };
 
 for(int i = 0; i < 4; i ++){
 digitalWrite(controlPin[i], muxChannel[channel][i]);
 }

 int val = analogRead(SIG_pin);

 return val;
}

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.