본문 바로가기
Arduino(아두이노) 키트 강좌

Step.8-Arduino Uno 로 가변저항을 이용해 LED 밝기 조절하기

by 오마이엔지니어 2015. 5. 23.
반응형

Arduino Uno 로 가변저항을 이용해 LED 밝기를 조절하는 프로젝트 입니다
가변저항 또는 전위차계 (Potentionmeter)은 사용자가 저항값을 임의로 조절할수 있는 저항기를 말합니다
가변저항은 저항체의 종류에 따라 다양하며 회전축 또는 좌우로 전극을 움직여서 저항값을 조절할수 있습니다


<여러 종류의 가변저항 이미지>

Potentionmeter (전위차계) 또는 Variable resistance (값을 변화할수 있는 저항) 라고 부르며 기호는 VR 로 씁니다

옴의 법칙에 의해 저항값이 높아지면 전류값은 낮아지고, 저항값이 낮아지면 전류값은 상승합니다
V = R * I -> I = V/R   (전압=V, 전류=I, 저항=R)
가변저항은 이러한 저항의 변화를 이용하여 전류 전압 조절용으로 다양하게 활용되고 있습니다 


 

사용된 부품

Arduino Uno R3 (Italy)

브래드 보드
블루 LED

가변저항(전위차계) 10K (Ohm)

1K (Ohm) 저항

점퍼케이블

 

사용된 키트

Arduino Starter kit (클릭)
지니어스 키트 Starter Pack (클릭)



구성 배선도 

 

 

사용된 예제소스 

Potentiometer LED.txt

 

/*
 제목  : 가변저항으로 LED 밝기 조절하기
 내용  : 가변저항을 좌우로 돌려 LED의 밝기를 조절 해봅시다.
 */

// 가변저항을 A1핀으로 설정합니다.
int potentiometer = A1;
// LED를 3핀으로 설정합니다.
int led = 3;

// 실행시 가장 먼저 호출되는 함수이며, 최초 1회만 실행됩니다.
// 변수를 선언하거나 초기화를 위한 코드를 포함합니다.
void setup() {
  // 온도센서 및 동작 상태를 확인하기 위하여 시리얼 통신을 설정합니다. (전송속도 9600bps)
  // 메뉴 Tool -> Serial Monitor 클릭
  Serial.begin(9600);
  // LED가 연결된 핀을 OUTPUT으로 설정합니다.
  pinMode(led, OUTPUT);
}
// setup() 함수가 호출된 이후, loop() 함수가 호출되며,
// 블록 안의 코드를 무한히 반복 실행됩니다.
void loop() {
  // 가변저항으로 측정된 값을 읽습니다.
  // 가변저항으로부터 입력되어지는 전압의 크기(0~5V)에 따라 0~1023 범위의 값으로 변환되어 반환합니다.
  int pmValue = analogRead(potentiometer);

  // 측정된 밝기 값를 시리얼 모니터에 출력합니다.
  Serial.print("potentiometer = ");
  Serial.println(pmValue);

  // 가변저항으로부터 측정된 값 (0~1024)을 아날로그 출력 값 (0~255) 범위로 변환합니다.
  pmValue = map(pmValue, 0, 1023, 0, 255);
  // LED가 연결된 핀으로, 변환된 값 만큼의 밝기로 켜지도록 설정합니다.
  // 만일 측정된 값이 500 이라면, 디지털 핀으로 출력 할 수 있는 최대값 255의 절반에 해당되므로,
  // LED가 5V 전류로 낼 수 있는 최대 밝기의 절반으로 해석 할 수 있습니다.
  // 이는 디지털로 아날로그 신호를 보내는 펄스 폭 모듈레이션(PWM)에서 duty-cycle이 50%인 것으로 설정됩니다.
  // 오렌지보드 디지털 핀의 PWM 주파수를 약 500Hz로 가정하면, 1초에 255번만 HIGH 신호를 보내는 것과 같습니다.
  analogWrite(led, pmValue);
  // 0.1초 동안 대기합니다.
  delay(100);
}

주의사항
배선시 LED의 방향을 잘 확인해야 합니다

긴핀이 (+) 짧은핀이 (-) 입니다

 

프로젝트 동영상


Potentiometer LED.txt
0.0MB
반응형

댓글