반응형
안녕하세요. 혹시 아두이노 시제품을 개발하다가
슬라이드 스위치 4pin 이상을 제어 할 때 아두이노 핀수가 모자라는
절망적인 경험을 해보신적 있으신가요??
저는 하였습니다. 딱 3개가 부족하더군요.. 그래서 여러 방법을 찾던 중
기본 중에 기본인 저항 분배 법칙을 활용하여 해결을 하였습니다.
이래서 기본이 중요하더군요..
기본적인 회로는...
이렇습니다. 죄송합니다.. 포맷을 하고 갑자기 포스팅을 하여
그림판으로 그렸습니다. 혹시나 이해가 안되신다면 댓글 주세요 알려드릴게요^^
위와 같이하게 되면 거의 일정한 값으로 adc값이 들어 오게 됩니다^^
그럼 이제 코딩을 해볼까요??
먼저 값은 대충 저항 계산해서 이렇게 저렇게 하면 되지만. 우린 시간이 없기 때문에
위와 같은 방법으로 슬라이더 스위치의 위치마다 값이 어떻게 나오는 지 확인을 합니다.
그후에 값을 조건문에 대입하여 간단하게 LED제어하는 코드입니다 ^^ LED 회로는
많이들 알고 있으실테니 넘어갈께요~
제어 코드입니다.
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
31
32
33
34
|
//LED 핀선택
int blue_led = 13;
int yellow_led = 12;
int greend_led = 11;
void setup() {
//핀모드
pinMode(blue_led , OUTPUT);
pinMode(yellow_led , OUTPUT);
pinMode(greend_led , OUTPUT);
}
void loop() {
int slide = analogRead(A0); //슬라이더 값.
delay(10);
//저의 경우 170 , 90 , 0 이렇게 나왔어요 ^^
if(slide>160){
digitalWrite(greend_led, HIGH);
digitalWrite(yellow_led, LOW);
digitalWrite(blue_led, LOW);
}
else if(slide>80){
digitalWrite(greend_led, LOW);
digitalWrite(yellow_led, HIGH);
digitalWrite(blue_led, LOW);
}
else
{
digitalWrite(greend_led, LOW);
digitalWrite(yellow_led, LOW);
digitalWrite(blue_led, HIGH);
}
delay(500);
}
|
이제 부터 앞에 여러가지를 활요하여 무드등을 만들어 볼까 합니다. ^^
이상 대구에 거주하는 흔한 메이커 였습니다.
감사합니다. ^^
반응형
'Programming > Arduino' 카테고리의 다른 글
Arduino + HC-06(블루투스) 통신 / AT명령어, [문자(Char),문자열(String)] (0) | 2020.01.30 |
---|---|
[Arduino] 트랜지스터(TR) 활용 12V 제어 하기(Relay,LED 등) ,2SC3198 (1) | 2020.01.21 |
CDS (조도센서) + OLED(I2C) 조도 값(ADC) 모니터링 (0) | 2020.01.09 |
Arduino 대표 시리즈 사양(Spec) 모음-Uno,Nano,Mega,Micro (0) | 2020.01.09 |
Arduino Tact Switch count or 5v Pan PWM Control (0) | 2019.02.21 |
댓글