픽셀 추격자
Coddy Arduino 여정의 디스플레이와 센서 섹션에 포함된 레슨. 24개 중 15번째.
링을 따라 움직이는 조명은 한 번에 한 픽셀씩 켜지고, 매 단계마다 다음 픽셀로 이동합니다. for 루프를 사용해 픽셀 번호를 지정합니다:
for (int i = 0; i < 16; i++) {
ring.clear(); // 이전 픽셀이 꺼진다
ring.setPixelColor(i, orange); // 새 픽셀이 켜진다
ring.show();
delay(100);
}clear()가 먼저 실행되므로, 다음 픽셀이 켜지는 것과 같은 show()에서 마지막 픽셀은 꺼집니다. 이 함수가 없으면 모든 픽셀이 계속 켜져 있어 링이 가득 차게 됩니다.
픽셀 15 이후 루프가 멈추고 loop()가 다시 실행되며, i는 0부터 시작합니다. 조명이 계속해서 링을 따라 움직입니다.
챌린지
쉬움주황색 불빛이 링을 따라 돌게 하세요:
- 0부터 15까지 한 번에 픽셀 하나씩 켜기
- 각 픽셀을 100 ms 동안 켜기
- 15 이후에는 다시 0부터 시작하기
실행을 누른 다음 확인을 누르세요.
직접 해보기
#include <Adafruit_NeoPixel.h>
// 16개 픽셀, 데이터는 핀 6에 연결
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
uint32_t orange = ring.Color(255, 40, 0);
void setup() {
ring.begin();
}
void loop() {
// 0부터 15까지 픽셀을 한 번에 하나씩 100 ms 동안 켜기
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
디스플레이와 센서의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드