노브 막대 그래프
Coddy Arduino 여정의 출력 섹션에 포함된 레슨. 24개 중 18번째.
LED 행은 숫자를 막대 형태로 표시할 수 있습니다. 켜진 LED가 많을수록 숫자가 더 큽니다. 여기서 숫자는 노브에서 가져옵니다.
먼저 측정값을 켤 LED 개수인 0부터 5까지의 값으로 변환합니다.
int count = map(analogRead(A0), 0, 1023, 0, 5);그런 다음 for 루프로 모든 LED를 하나씩 확인하고 각각의 상태를 결정합니다. count 위치보다 앞에 있는 LED는 켜지고, 나머지는 꺼집니다.
for (int i = 0; i < 5; i++) {
if (i < count) {
digitalWrite(ledPins[i], HIGH);
} else {
digitalWrite(ledPins[i], LOW);
}
}else가 중요한 이유는 노브를 낮출 때 막대에 더 이상 포함되지 않는 LED를 끄는 역할을 하기 때문입니다.
챌린지
중급손잡이는 A0에 연결되어 있고 LED는 ledPins에 있습니다. 막대 그래프를 만드세요:
map()을 사용해 읽은 값을 0부터 5까지의 개수로 변환하세요- 배열의 첫 번째 LED부터 그 개수만큼 켜고, 나머지는 끄세요
- 10 ms 기다린 다음 다시 실행하세요
Run을 누르고 손잡이를 돌린 다음, Check를 누르세요.
직접 해보기
const int knobPin = A0;
int ledPins[] = {2, 3, 4, 5, 6};
void setup() {
for (int i = 0; i < 5; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// 읽은 값을 0부터 5까지의 개수로 변환
// 앞에서부터 해당 개수만큼 LED를 켜고 나머지는 끄기
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
출력의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드