↯ Robotik KodlamaTüm projeler

Gökkuşağı döngüsü

RGB uzayının üç kenarında doğrusal geçiş yaparak bir renk çarkı modeli üret.

9+ yaş · 35 dakika ·

İnteraktif atölyede aç →

Neler öğreneceğiz?

RGB uzayının üç kenarında doğrusal geçiş yaparak bir renk çarkı modeli üret.
Üç rengin her biri ayrı direnç üzerinden PWM ile sürülür. Pin sırası modelden modele değişir; veri sayfasına bak. Ortak anot RGB bu kodla aynı çalışmaz.

Gökkuşağı döngüsü — proje görseli
Bu projeye ait algoritma, deney veya elektriksel bağlantı görselidir. Donanım görselindeki semboller gerçek breadboard yerleşimi değildir.

Malzeme listesi

  1. 1 × Arduino Uno R3
  2. 1 × USB veri kablosu
  3. 1 × breadboard
  4. Yeterli sayıda jumper kablo
  5. 1 × ortak katot RGB LED
  6. 3 × 330 Ω direnç

Bağlantı tablosu

BaşlangıçBağlantı
D5330 Ω → RGB kırmızı anot
D6330 Ω → RGB yeşil anot
D9330 Ω → RGB mavi anot
RGB ortak katotGND

Adım adım yapalım

  1. Önce bağlantı görselini ve malzeme listesini oku. 6–8 yaş grubunda bir yetişkin devreyi kurarken çocuk komutları ve sonucu takip eder.
  2. USB ve harici beslemeyi çıkar. Breadboard güç raylarının bağlı/ayrık bölümlerini kontrol et.
  3. D5 ucunu 330 Ω → RGB kırmızı anot noktasına bağla.
  4. D6 ucunu 330 Ω → RGB yeşil anot noktasına bağla.
  5. D9 ucunu 330 Ω → RGB mavi anot noktasına bağla.
  6. RGB ortak katot ucunu GND noktasına bağla.
  7. Bir yetişkinle güç, GND, parça yönü ve dirençleri bağlantı tablosuna göre tek tek kontrol et.
  8. Arduino IDE’de Arduino Uno kartını ve bağlı portu seç. Servo veya LCD kullanılan projelerde ilgili Servo/LiquidCrystal kütüphanesini kur.
  9. Aşağıdaki bağımsız kodu yeni eskize yapıştır ve karta yükle. Seri Monitör gerekiyorsa 9600 baud seç.
  10. Beklenen sonucu gözle, ardından yalnız bir değişkeni değiştirerek “Sıra sende” görevini yap.

Kod · Arduino C++

// Arduino Uno R3 — Gökkuşağı döngüsü


void rgb(int r,int g,int b){analogWrite(5,constrain(r,0,255));analogWrite(6,constrain(g,0,255));analogWrite(9,constrain(b,0,255));}
void setup(){
  Serial.begin(9600);
  pinMode(5,OUTPUT);pinMode(6,OUTPUT);pinMode(9,OUTPUT);
}
void loop(){
  for(int v=0;v<256;v++){rgb(255-v,v,0);delay(8);}for(int v=0;v<256;v++){rgb(0,255-v,v);delay(8);}for(int v=0;v<256;v++){rgb(v,0,255-v);delay(8);}
}

Kod nasıl çalışır?

RGB uzayının üç kenarında doğrusal geçiş yaparak bir renk çarkı modeli üret.
setup() bir kez çalışıp pin yönlerini ve haberleşmeyi hazırlar. loop() içindeki komutlar sürekli tekrarlanır. Üç rengin her biri ayrı direnç üzerinden PWM ile sürülür. Pin sırası modelden modele değişir; veri sayfasına bak. Ortak anot RGB bu kodla aynı çalışmaz.

Beklenen sonuç

Kırmızı, yeşil ve mavi arasında sürekli geçiş olur.

Sıra sende

Bir tam döngünün yaklaşık süresini hesapla.

Güvenli atölye

Yalnız düşük gerilimli eğitim devresi. Şebeke/priz bağlantısı yapma. Bağlantıları enerji kapalıyken ve bir yetişkinle kur. Motor/servo hareket alanını boş tut. Bu proje fiziksel devrede test edilmiş olarak işaretlenmemiştir.

Çalışmıyorsa kontrol et

  1. Kod yüklenmiyorsa kart, port ve USB veri kablosunu kontrol et.
  2. Gücü çıkarıp her bağlantıyı tablodaki satırla eşleştir; ortak GND olmadan sinyaller güvenilir olmayabilir.
  3. Beklenen sonuçla gerçek sonucu karşılaştır. Sensör eşikleri bulunduğun ortama göre ayar ister.
  4. LED yanmıyorsa seri direnci ve anot/katot yönünü kontrol et; LED içermeyen projede sensörün pin etiketlerini incele.

https://docs.arduino.cc/hardware/uno-rev3/

https://docs.arduino.cc/language-reference/