🌈 ماموریت ۲۸: رنگین‌کمان

رنگ‌ها رو روی نوار بریز و با show() نشونشون بده. یه حلقه روی پیکسل‌ها بزن.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد

هدف‌ها

قطعه‌های لازم

▶ همین ماموریت را در شبیه‌ساز امتحان کن
💡 گیر کردی؟ داخل شبیه‌ساز راهنما را ببین، و اگر باز هم نشد دکمه‌ی «برام حلش کن» مدار را برایت می‌چیند تا ببینی چطور کار می‌کند.

جواب کامل

اول خودت امتحان کن! بعد جواب را ببین 👀

سیم‌کشی

  1. Arduino Uno (VCC5) ⟷ NeoPixel Ring (12) (VCC)
  2. NeoPixel Ring (12) (GND) ⟷ Arduino Uno (GND1)
  3. Arduino Uno (D6) ⟷ NeoPixel Ring (12) (DIN)

کد

#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel ring(12, 6, NEO_GRB + NEO_KHZ800);
int offset = 0;

void setWheel(int i, int pos) {
  pos = pos % 256;
  if (pos < 85) {
    ring.setPixelColor(i, ring.Color(255 - pos * 3, pos * 3, 0));
  } else if (pos < 170) {
    int p = pos - 85;
    ring.setPixelColor(i, ring.Color(0, 255 - p * 3, p * 3));
  } else {
    int p = pos - 170;
    ring.setPixelColor(i, ring.Color(p * 3, 0, 255 - p * 3));
  }
}

void setup() {
  ring.begin();
  ring.setBrightness(60);
}

void loop() {
  for (int i = 0; i < ring.numPixels(); i++) {
    setWheel(i, offset + i * 256 / ring.numPixels());
  }
  ring.show();
  offset = (offset + 3) % 256;
  delay(30);
}

ماموریت‌های مشابه

📊

ماموریت ۲۷: داشبورد سنسور

🔢

ماموریت ۲۹: رمز با کیپد

📱

ماموریت ۳۰: کنترل از راه دور

7️⃣

ماموریت ۲۵: شمارش صفر تا نه

📚 برای یاد گرفتن پایه‌ها سری به دوره‌ی آموزش آردوینو بزن · 🎯 همه‌ی ماموریت‌ها