목차
16채널 ADC MUX 모듈
- Mux Configuration : 1
- Channels (#) : 1
- VCC (Min) : 2 V
- VCC (Max) : 6V
- Voltage (Nom) : 3.3 ~ 5V
핀 번호
핀명 | 기능 |
---|---|
C15 | Analog INPUT 15 |
C14 | Analog INPUT 14 |
C13 | Analog INPUT 13 |
C12 | Analog INPUT 12 |
C11 | Analog INPUT 11 |
C10 | Analog INPUT 10 |
C9 | Analog INPUT 9 |
C8 | Analog INPUT 8 |
C7 | Analog INPUT 7 |
C6 | Analog INPUT 6 |
C5 | Analog INPUT 5 |
C4 | Analog INPUT 4 |
C3 | Analog INPUT 3 |
C2 | Analog INPUT 2 |
C1 | Analog INPUT 1 |
C0 | Analog INPUT 0 |
SIG | Analog Signal |
S3 | Select 3 |
S2 | Select 2 |
S1 | Select 1 |
S0 | Select 0 |
EN | Enable |
VCC | POWER |
GND | GROUND |
Arduino UNO R3 예제
핀 연결
UNO R3 와 16채널 ADC MUX 를 다음과 같이 연결합니다.
번호 | 16채널 ADC MUX | Arduino UNO R3 | COLOR |
---|---|---|---|
1 | SIG | A0 | WHITE |
2 | S3 | A1 | ORANGE |
3 | S2 | A2 | YELLOW |
4 | S1 | A3 | GREEN |
5 | S0 | A4 | BLUE |
6 | EN | A5 | GRAY |
7 | VCC | 5V | RED |
8 | GND | GND | BLACK |
소스코드
최신 소스코드는 [파일]=>[예제]=> [WhiteAT UNO]=>[ADC16_MUX] 에 있으며
라이브러리는 아두이노 개발환경 (https://docs.whiteat.com/?page_id=5449)을 참조하세요
/* UNO 와 16채널 ADC MUX 모듈로 16개의 ADC 를 읽는 예제입니다. 개별 부품 .UNO R3 : https://kit128.com/goods/view?no=337 .16채널 ADC 모듈 : https://kit128.com/goods/view?no=260 출처: http://whiteat.com/Arduino */ int pinSIG = A0; // 16채널 ADC 모듈 SIG 에 연결할 핀 int sensorValue = 0; // 읽어온 ADC 값 //ADC MUX 컨트롤 핀 int pinEN = A5; int s0 = A4; int s1 = A3; int s2 = A2; int s3 = A1; int controlPin[4] = {A4, A3, A2, A1}; // 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 }; void setup() { Serial.begin(115200); Serial.println("Arduino Examples - ADC 16 channel MUX Test"); Serial.println(" https://docs.whiteat.com/?p=3770"); pinMode(pinEN, OUTPUT); digitalWrite(pinEN,LOW); pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); } void loop() { for(int i = 0; i < 16; i ++) { Serial.print("C"); Serial.print(i); Serial.print(":"); Serial.print(readADCMux(i));Serial.print(", "); } Serial.println(); delay(1000); } int readADCMux(int _ch) { // 4개 컨트롤핀 (s0,s1,s2,s3) 핀 설정 for(int i = 0; i < 4; i ++){ digitalWrite(controlPin[i], muxChannel[_ch][i]); } // SIG pin 읽기 return analogRead(pinSIG); }
결과
C0 ~ C15까지 총16개의 ADC 을 보여줍니다.
제품 구매
16채널 ADC MUX 는 https://kit128.com/goods/view?no=260 에서 구매하실 수 있습니다.