학교/기관 후불결제
menu
현재 위치
  1. 게시판
  2. 처음하기
게시판 상세
5. 가변저항(Potentiometer)으로 LED 밝기 조절하기 / Arduino Potentiometerlike-count0
글쓴이: 에듀이노 (ip:) 작성일: 18.01.12 16:03:42 조회수: 2403
0점




안녕하세요 에듀이노 입니다.


오늘은 가변저항을 사용해볼껀데요


가변저항은 우리 주변에 실생활에서 많이 볼 수 있는 소자입니다.


예를 들어 스피커의 볼륨 조절, 보일러의 온도 조절 등에 부착되어 조절 슬라이더를 이동하거나


회전시켜서 전기의 흐름을 조절하는 부품입니다.







< 실생활에 사용되는 가변저항 >



 정의 (가변저항이란?)




    

   - 가변저항(Potentiometer)이란 저항값이 고정되지 않는 것을 의미합니다. 

      가변저항을 이용하여 저항을 바꾸면 전류의 크기를 바꿀 수 있습니다. 일반 저항 소자와 달리 보통 3개의 (VCC,A0,GND)으로

      구성되어 있으며,  슬라이더를 회전시키거나 손잡이를 앞뒤로 밀거나 당겨서 저항 값을 조절하게 됩니다. 







 동작 원리



 






<그림1. 가변저항 동작원리>








 






 < 그림2. 가변저항의 스위퍼 >





- 가변저항을 구성하는 3개의 핀은 각각 GND, A0(신호 전달 핀), VCC(5V) 핀에 연결되어 있습니다. 

   위의 <그림.1>에서 확인 할 수 있듯이 GND 핀과 5V 핀은 각각 가변저항의 내부 저항체와 연결되어 있습니다. 

   내부 저항체를 통해 전기가 흐르며 저항의 기능을 하게 되는거죠.

  
-  스위퍼는 <그림.2>에서 볼 수 있듯이 가변저항에서 회전시킬 수 있는 부분을 말하는데요, 스위퍼(Sweeper)를 회전시키면 

    가변저항 내부의 슬라이더가 움직여 저항 값을 조절 할 수 있습니다. 
    

-  5V핀을  타고 올라간 전류는 가변저항 내부의 슬라이더를 타고 신호 역할을 하는 단자(A0)를 따라내려가게 됩니다. 

    이 때 슬라이더의 위치에 따라 전류가 흐르는 도선의 길이가 달라지게 되어 저항을 조절할 수 있는거죠.
  
-   즉, 옴의 법칙에 따라 도선의 길이가 길어지면 저항의 세기는 커지고, 도선의 길이가 짧아지면 저항이 작아지게 되는 원리입니다.










<옴의 법칙>







 가변저항 사용하기





  

    - 준비물
       (브레드보드를 제외한 나머지 부품들은 '아두이노 우노 종합 키트'에 포함된 부품을 이용했습니다.)
 
      아두이노 우노 보드(SMD) : 링크 클릭
      브레드보드 400홀(불투명) : 링크 클릭
      가변저항(10K) : 링크 클릭
      저항 : 링크 클릭
      LED :  링크 클릭
      점퍼케이블 : 링크 클릭
       (링크를 클릭하면 해당 제품 페이지로 이동합니다.)




  1) 아두이노와 가변 저항 연결하기



    

      - 아래 결선도와 같이 아두이노와 가변저항을 연결해줍니다.


 



< 결선도 > 







 






< 실제 연결 사진 >






2) 코딩 예제
    

    - 아래 코드를 아두이노 스케치에 입력 후 아두이노 보드에 업로드 해줍니다.

 


int LED = 9;                    //LED를 9번핀에 연결합니다
 
void setup (){
  Serial.begin(9600);
  pinMode(LED,OUTPUT);          //9번 핀의 모드를 OUTPUT으로 설정해 줍니다
}
 
void loop(){
  
  int val = analogRead(A5)/4;   // 가변저항을 아날로그 A5에 연결하고 이를 'val'에 저장합니다
  Serial.println(val);          // 시리얼 모니터로 가변저항 값을 출력합니다
  analogWrite(LED, val);        // 가변저항의 값을 LED(9번핀)로 보내 출력합니다
}
 





코드 상의 ' int val = analogRead(A5)/4; ' 에서 마지막에 4로 나눠준 이유는 아두이노의 아날로그 단자에서 읽어들인 가변저항의 입력값은 0~1024이지만 


디지털 단자를 이용한 LED(9번핀)의 밝기 값은 0~255까지 출력할 수 있기때문입니다.  


또한 디지털 단자에 연결한 LED의 출력을 digitalWrite가 아닌 analogWrite로 사용한 이유는 PWM(Pulse Width Modulation)  기능을 이용하여 


디지털 단자에서도 아날로그 출력을 낼 수 있기때문입니다.








 3) 테스트 결과 
   

      - 코드 업로드를 마친 후 가변저항의 스위퍼를 돌려가며 LED의 밝기변화를 관찰합니다.







< 테스트 사진 >





 







< 그림3. 시리얼 모니터로 출력값을 확인한 결과 >




<그림3>은 가변저항을 돌려가며 시리얼 모니터로 출력값을 확인한 결과입니다. 


가변저항을왼쪽으로 최대로 돌리고 시리얼 모니터에서 출력값을 확인해보니 '0'이 출력되고, 오른쪽으로 돌리면 출력값이 증가합니다. 


또한 오른쪽으로 최대로 돌리면 '255'가 출력됨을 확인할 수 있습니다. 

(시리얼 모니터는 아두이노 스케치 오른쪽 상단에 위치한 돋보기 모양 아이콘을 클릭하여 확인합니다.)








<시리얼 모니터 확인하기>








4) 동영상


   - 위 테스트 결과를 영상으로 확인합니다.






여기까지 '가변저항을 이용해서 LED 밝기 조절하기' 였습니다.
읽어주셔서 정말 감사합니다 ~







 

아두이노의 시작은 에듀이노(Eduino) 입니다.

 

 - 에듀이노(Eduino)






  

비밀번호 삭제하려면 비밀번호를 입력하세요.  
댓글 입력

이름: 비밀번호: 관리자답변보기

별점별점주기

/ byte

에게만 댓글 작성 권한이 있습니다.

댓글 수정

비밀번호 :

수정 취소

/ byte

댓글 입력

댓글달기이름 :비밀번호 :

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.