Menu
CoddyTech

טבעת קשת בענן

חלק מהיחידה צגים וחיישנים במסלול ה-Arduino של Coddy. שיעור 17 מתוך 24.

קשה לבחור אדום, ירוק וכחול לקשת בענן. גוון פשוט יותר: מספר אחד שמסתובב בגלגל הצבעים, מאדום דרך צהוב, ירוק, ציאן, כחול ומג'נטה, וחזרה לאדום.

ring.ColorHSV(hue) הופכת גוון לצבע. טווח הגוונים הוא מ־0 עד 65535: 0 הוא אדום, בערך 21845 הוא ירוק, בערך 43690 הוא כחול, ו־65536 היה שוב אדום.

כדי לפרוס קשת בענן אחת על פני 16 פיקסלים, תן לכל פיקסל צעד של 65536 / 16 = 4096 יותר מהפיקסל שלפניו. הפיקסל 15 זקוק ל־61440, יותר ממה ש־int יכול להכיל, לכן שמור את הגוון ב־long וכתוב את המספר בתור 4096L; ה־L גורם גם לכפל להשתמש ב־long:

for (int i = 0; i < 16; i++) {
  long hue = i * 4096L;
  ring.setPixelColor(i, ring.ColorHSV(hue));
}
ring.show();
challenge icon

אתגר

בינוני

ציירו קשת בענן מסביב לטבעת:

  • פיקסל 0 אדום (גוון 0)
  • כל פיקסל הבא מתקדם ב־4096 לאורך גלגל הצבעים, בעזרת ring.ColorHSV()
  • כך ש־16 הפיקסלים יקיפו אותו פעם אחת

לחצו על Run, ואז על Check.

נסו בעצמכם

#include <Adafruit_NeoPixel.h>

// 16 פיקסלים, הנתונים בפין 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);

void setup() {
  ring.begin();

  // תן לכל פיקסל גוון משלו, אדום בפיקסל 0

  ring.show();
}

void loop() {
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה צגים וחיישנים

תרגלו בעצמכם: Arduino אונליין