# 제목: 가변저항을 사용한 활용 예제



# 내용: 가변저항의 값을 아날로그 데이터로 입력하면 0~ 1023의 값이 입력된다.


이를 활용하여 필요한 만큼 구획을 나누어 원하는 상황에 맞게 사용할 수 있다.


해당 예제에서는 총 4개의 균등한 구획으로 나누고 각 구획마다 LCD에 다른 문구를 표시한다.



# 코드:


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
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C lcd(0x3F162);  // I2C LCD 객체 선언
const int resistorPin = A0;   //아두이노 A0 I/O에 가변저항을 연결합니다.
int sensorValue = 0;
 
void setup() {
  lcd.begin(); // lcd를 사용을 시작합니다.
  lcd.clear(); // lcd를 전부 지웁니다.
  lcd.home();  // 첫번째 줄 첫번째(좌측) 위치로 이동한다.
 
  pinMode(resistorPin, INPUT);  //resistorPin 을 입력으로 설정합니다.
}
 
void loop() {
  lcd.home();
  sensorValue = analogRead(resistorPin);  //analogRead()를 사용해서 아날로그 입력을 받는다.
 
  if(sensorValue >= 0 && sensorValue <255) {         //sensorValue 값이 0~254 일때
    lcd.print("1st quarter");
  }
  else if(sensorValue >= 255 && sensorValue <511) {  //값이 255~510 일때
    lcd.print("2nd quarter");
  }
  else if(sensorValue >= 511 && sensorValue <766) {  //값이 511~765 일때
    lcd.print("3rd quarter");
  }
  else {                                             //값이 766~1023 일때
    lcd.print("4th quarter");
  }
}
cs


# 회로도(Fritzing):




# 실행결과:



# 비고:


+ Recent posts