안녕하세요 헬스케어 제품 개발회사 허니컴의 무이메이커스 입니다.
오늘은 멀티플렉서를 이용해 아두이노 하나의 핀으로 여러개의 센서값을 받아와 보도록 하겠습니다.
< 문제점 >
아두이노 UNO에는 14개의 디지털 I/O핀과, 6개의 아날로그 I/O핀이 있습니다.
아두이노에 많은 부품과 센서를 사용할 때에는 핀이 부족할 수 있습니다. 이런경우 아두이노 MEGA보드를 사용하는 방법도 있지만 여러개의 센서를 아두이노 하나의 핀을 이용하여 센서값을 받아올 수도 있습니다.
그러므로 때 멀티플랙서(CD4051BE)를 사용하여 가변저항 3개의 값을 아두이노 하나의 핀을 사용해 받아오겠습니다.
< 멀티플렉서(4051BE) - multiplexer, mux >
멀티플렉서(mux)는 여러개의 아날로그/디지털 입력 신호 중 하나를 선택하여 선택된 하나의 신호만을 출력하는 장치입니다.
VDD : 전원(3~15V)
Vss : GND
INH : HIGH일 때 모든 핀 사용 불가능 / LOW일 때 모든 핀 사용가능 => GND에 연결
COM OUT/IN : 출력핀 => 아두이노에 연결
CHANNELS IN/OUT (0~7) : 입력핀 => 센서연결
ABC : 입력 0~7중에 어떤 신호를 받을것인가를 선택 (아래사진 참고)
< 아두이노 멀티플렉서 회로도 - 아두이노 핀부족 대처법 >
사용부품 : 가변저항 3개, 멀티플렉서(CD4051BE) 1개)
< 아두이노 멀티플렉서 연결방법 - 아두이노 핀부족 대처법 >
아두이노 |
가변저항 |
멀티플렉서(MUX, 4051BE) |
5V |
각 가변저항의 한쪽 끝 핀 |
VDD |
GND |
각 가변저항의 나머니 끝 핀 |
INH, VEE, Vss |
A0 |
|
COM OUT/IN |
|
각 가변저항의 가운데 핀 |
CHANNELS IN/OUT 중 0,1,2 |
D8 |
|
A |
D9 |
|
B |
D10 |
|
C |
< 아두이노 멀티플렉서 소스코드 - 아두이노 핀부족 대처법 >
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
int sig=A0; //출력핀 int A=8, B=9, C=10; //입력신호중 하나를 선택할 때 사용 int sensor1, sensor2, snesor3;
void setup() {
pinMode(sig,INPUT); pinMode(A,OUTPUT); pinMode(B,OUTPUT); pinMode(C, OUTPUT); Serial.begin(9600);
}
void loop() {
digitalWrite(C,LOW); digitalWrite(B,LOW); digitalWrite(A,LOW); //채널 0 선택 sensor1=analogRead(sig); Serial.print("sensor1 : "); Serial.print(sensor1);
digitalWrite(C,LOW); digitalWrite(B,LOW); digitalWrite(A,HIGH); //채널 1 선택 sensor2=analogRead(sig); Serial.print(" "); Serial.print("sensor2 : "); Serial.print(sensor2);
digitalWrite(C,LOW); digitalWrite(B,HIGH); digitalWrite(A,LOW); //채널 2 선택 snesor3=analogRead(sig); Serial.print(" "); Serial.print("sensor3 : "); Serial.println(snesor3);
delay(200); } |
< 아두이노 멀티플렉서 동작영상&설명 - 아두이노 핀부족 대처법 >
0번채널 선택 시
: 가장왼쪽의 가변저항의 출력이 sensor1에 출력됩니다.
(왼쪽 가변저항 동작 시 시리얼모니터 sensor1 값변화 확인)
1번채널 선택 시
: 가운데의 가변저항의 출력이 sensor2에 출력됩니다.
(가운데 가변저항 동작 시 시리얼모니터 sensor2 값변화 확인)
2번채널 선택 시
: 가장오른쪽의 가변저항의 출력이 sensor3에 출력됩니다.
(오른쪽 가변저항 동작 시 시리얼모니터 sensor3 값변화 확인)
.....................................................................................................................................................
시제품 제작 문의