⊙ 실습
// C++ code
//3,5,6,9,10,11 -> 아날로그 출력 가능 (PWM) 핀 모드를 배열로 만들기
const int led[6] = {3, 5, 6, 9, 10, 11};
const int analogPin = A0;
void setup()
{
}
void loop()
{
int sensorInput = analogRead(analogPin); // 0 ~ 1023
// 3번 핀 LED (led[0])
// 가변저항 값이
// 0 ~ 171 사이에선 서서히 밝아지고
// 171 이상이면 완전히 켜진 상태.
// if(sensorInput / 171 >= 1+ 0)
// analogWrite(led[0], 255); // 아날로그 값 0 ~ 255
// else if(sensorInput / 171 >= 0 + 0) // 0 ~ 171 사이이면
// analogWrite(led[0], int(sensorInput % 171 / 171.0 * 255));
// 5번 핀 LED (led[1])
// 가변저항 값이
// 171 * 1 ~ 171 * 2 사이에선 서서히 밝아지고
// 171 * 2 이상이면 완전히 켜진 상태.
// if(sensorInput / 171 >= 1 + 1) //171 * 2 이상이면
// analogWrite(led[1], 255); // 아날로그 값 0 ~ 255
// else if(sensorInput / 171 >= 0 + 1) // 171 * 1 ~ 171 * 2 사이이면
// analogWrite(led[1], int(sensorInput % 171 / 171.0 * 255));
//}
// 서서히 밝아지는 구간 (가변저항값 1024 의 1/6값 => 171)
// 3 : 0 ~ 171
// 5 : 172 ~ 342
// 6 : 343 ~ 513
// 9 : 514 ~ 684
// 10 : 685 ~ 855
// 11 : 856 ~ 1024
for(int n = 0; n < 6; n++){
if(sensorInput/171 >= 1 + n)
analogWrite(led[n], 255);
else if (sensorInput / 171 >= 0 + n)
analogWrite(led[n], int(sensorInput % 171 / 171.0 * 255));
}
}
'arduino' 카테고리의 다른 글
[arduino] 조도센서 (0) | 2022.09.14 |
---|---|
[arduino] 가변저항 LED 깜빡임 (0) | 2022.09.14 |
[arduino] c언어 (0) | 2022.09.14 |
[arduino] 가변저항 - 아날로그 입력 (0) | 2022.09.14 |
[arduino] PIR 센서 (0) | 2022.09.14 |