soft potentiometer + RGBLED
soft potentiometer 로 RGBLED를 제어하기
이 예제는 아두이노 가이드북에 나온 내용이다.
soft potentiometer는 손으로 접촉하는 위치에 따라
저항값이 달라지는 센서다.
이 센서값을 받아 RGBLED를 켜보자.
아두이노와 연결 사진
스케치 소스
-------------------------------------------------------------------------------
int sensor =A0; //soft potentiometer의 중간핀과 연결
int sensorval = 0;
int redPin =9; //RGBLED 연결핀
int greenPin =10; //RGBLED 연결핀
int bluePin =11; //RGBLED 연결핀
int redval = 0; //RGBLED의 각 색에 출력할 값
int greenval = 0;
int blueval = 0;
int sensorval = 0;
int redPin =9; //RGBLED 연결핀
int greenPin =10; //RGBLED 연결핀
int bluePin =11; //RGBLED 연결핀
int redval = 0; //RGBLED의 각 색에 출력할 값
int greenval = 0;
int blueval = 0;
void setup(){
}
}
void loop(){
sensorval = analogRead(sensor);
redval = constrain(map(sensorval, 0,512, 255, 0),0,255);
greenval = constrain(map(sensorval, 0,512, 0, 255),0,255)
-constrain(map(sensorval, 512,1023, 0, 255),0,255);
blueval = constrain(map(sensorval, 512,1023, 0, 255),0,255);
sensorval = analogRead(sensor);
redval = constrain(map(sensorval, 0,512, 255, 0),0,255);
greenval = constrain(map(sensorval, 0,512, 0, 255),0,255)
-constrain(map(sensorval, 512,1023, 0, 255),0,255);
blueval = constrain(map(sensorval, 512,1023, 0, 255),0,255);
//센서에 의해 입력되는 0~1023 사이의 값을 각각의 R G B 색을 표현하도록 값을 변환
analogWrite(redPin,redval);
analogWrite(greenPin,greenval);
analogWrite(bluePin,blueval);
delay(200);
}
analogWrite(redPin,redval);
analogWrite(greenPin,greenval);
analogWrite(bluePin,blueval);
delay(200);
}
-----------------------------------------------------------------------------
작동 영상