NeoPixel 밝기
Coddy Arduino 여정의 디스플레이와 센서 섹션에 포함된 레슨. 24개 중 16번째.
NeoPixel은 밝습니다. ring.setBrightness(level)를 사용하면 모든 밝기를 한 번에 낮출 수 있습니다. 0은 꺼짐, 255는 최대 밝기입니다.
이 함수는 보드 메모리에 저장된 색상 값을 조정하는 방식으로 작동합니다. 밝기가 64, 즉 약 4분의 1일 때 빨간색 값 255는 64로 저장됩니다. 단점은 값을 조정하는 과정에서 세부 정보가 사라진다는 것입니다. 밝기를 0으로 낮추면 저장된 모든 색상 값이 0이 되므로, 다시 밝기를 높여도 조정할 값이 남아 있지 않아 링은 계속 어둡습니다.
따라서 밝기가 바뀔 때마다 그다음에 색상을 다시 설정하세요.
ring.setBrightness(level);
ring.fill(white); // 새 밝기로 저장됨
ring.show();setBrightness() 이후에 설정하는 색상은 저장될 때 밝기에 맞게 조정됩니다.
챌린지
중급A0의 노브는 링의 조광기입니다:
map()을 사용해 측정값을 0에서 255 사이의 밝기로 변환합니다ring.setBrightness()로 설정합니다- 그런 다음
loop()가 실행될 때마다 링을 흰색으로 채우고 표시합니다
Run을 누르고 노브를 돌린 다음 Check를 누르세요.
직접 해보기
#include <Adafruit_NeoPixel.h>
// 16개 픽셀, 데이터는 핀 6으로 전송
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
uint32_t white = ring.Color(255, 255, 255);
void setup() {
ring.begin();
}
void loop() {
int reading = analogRead(A0);
// 노브 값에 따라 밝기를 설정한 다음 링 전체를 흰색으로 켭니다
delay(50);
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
디스플레이와 센서의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드