코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2014-08-11 11:03:14
가변저항 Potentiometer은 누구나 한번 쯤은 보았거나 만져본 저항입니다.
이번 예제에서는 아날로그 입력에 대해 알아보고 ,
가변저항을 이용하여 LED의 밝기를 변화 시켜 보겠습니다.
본 예제에서는 총 6가지의 부품이 필요합니다.
NO | 부품명 | 수량 | 상세설명 |
1 | 오렌지 보드 | 1 | 아두이노 호환보드 |
2 | LED | 1 | LED |
3 | 브레드보드 | 1 | 브레드보드 |
4 | 점퍼 케이블 | 6 | 점퍼 케이블 |
5 | 가변저항 | 1 | 10㏀ trimPot |
6 | 220Ω 저항 | 1 | 저항 |
부품명 | 오렌지 보드 | 브레드보드 | 점퍼케이블 | 가변저항 | 220Ω 저항 | LED |
파트 | x1 | x1 | x6 | x1 | x1 | x1 |
아래의 코드를 아두이노에 업로드 합니다.
int LED =3 ;//LED를 3번핀에 연결합니다. void setup () { pinMode(LED,OUTPUT);//3번핀에 연결된 LED를 출력으로 설정합니다. } void loop() { int analogInput = analogRead(A0);//가변저항을 아날로그 0번핀에 연결하고 이를 입력으로 설정합니다. int brightness = analogInput /4;// 가변저항의 입력값(0-1023사이의 값)을 LED의밝기값(0-255)의 값으로 변경해줍니다. analogWrite(LED, brightness);//가변저항의 값을 LED로 보내 출력합니다. }
소프트웨어 & 하드웨어 설명
int analogInput = analogRead(A0);//가변저항을 아날로그 0번핀에 연결하고 이를 입력으로 설정합니다.
아날로그 입력은 일반적으로 0V에서 5V사이의 전압을 0부터 1023사이의 값으로 변환하여 읽어 들입니다.
int brightness = analogInput /4;// 가변저항의 입력값(0-1023사이의 값)을 LED의밝기값(0-255)의 값으로 변경해줍니다.
일반적으로 아날로그 핀의 경우 0 부터 1023 사이의 값을 읽어 들입니다.
하지만 디지털 핀의 PWM핀의 경우 0에서 255사이의 값을 출력해야 합니다.
따라서, 0부터 1023의 값을 4로 나누어 0부터 255사이의 값으로 변경해 주었습니다.
analogWrite(LED, brightness);//가변저항의 값을 LED로 보내 출력합니다.
analogRead()함수로 읽어들인 값은 4로 나누어져 최종 값이 LED의 밝기로 출력되었습니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!