בהירות NeoPixel
חלק מהיחידה צגים וחיישנים במסלול ה-Arduino של Coddy. שיעור 16 מתוך 24.
ניאופיקסלים בהירים. ring.setBrightness(level) מעמעם את כולם בבת אחת: 0 פירושו כבוי, 255 פירושו עוצמה מלאה.
הפעולה מתבצעת על ידי שינוי קנה המידה של הצבעים השמורים בזיכרון של הלוח. בבהירות 64, בערך רבע מהעוצמה, אדום בעוצמה 255 נשמר בעוצמה 64. החיסרון: שינוי קנה המידה משליך מידע. אם מורידים את הבהירות ל-0, כל הצבעים השמורים הופכים ל-0, ולכן כשמעלים אותה בחזרה אין עוד מה לשנות את קנה המידה שלו, והטבעת נשארת חשוכה.
לכן, בכל פעם שהבהירות משתנה, צריך להגדיר את הצבעים שוב אחריה:
ring.setBrightness(level);
ring.fill(white); // נשמר ברמת הבהירות החדשה
ring.show();צבעים שמוגדרים אחרי setBrightness() משנים את קנה המידה שלהם כשהם נשמרים.
אתגר
בינוניהכפתור ב-A0 משמש לעמעום הטבעת:
- המירו את הקריאה לבהירות בטווח שבין 0 ל-255 באמצעות
map() - הגדירו אותה באמצעות
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);
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה צגים וחיישנים
3NeoPixels
ה-NeoPixel הראשון שלךצבעים בטבעת פיקסליםמילוי וניקוי הטבעתמרדף פיקסליםבהירות NeoPixelטבעת קשת בענןתרגלו בעצמכם: Arduino אונליין