↯ Robotik KodlamaTüm projeler

Işıkla müzik

LDR değerini frekansa çevirerek temassız bir ses kontrolü yap.

9+ yaş · 35 dakika ·

İnteraktif atölyede aç →

Neler öğreneceğiz?

LDR değerini frekansa çevirerek temassız bir ses kontrolü yap.
LDR üst koldadır: bu bağlantıda aydınlık arttıkça A1 değeri genellikle artar. 10 kΩ ile gerilim bölücü oluşturur. Eşik oda ışığına göre ayarlanır; değer doğrudan lux değildir.
Pasif piezo tone() ile sürülür. Aktif buzzer farklı davranır. Düşük ses düzeyiyle çalış; kulağa yaklaştırma. Uno tone() kullanırken D3/D11 PWM etkilenebilir.

Işıkla müzik — 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 × LDR
  6. 1 × 10 kΩ direnç
  7. 1 × düşük akımlı pasif piezo buzzer
  8. 1 × 100 Ω seri direnç

Bağlantı tablosu

BaşlangıçBağlantı
5VLDR uç 1
LDR uç 2A1 ve 10 kΩ direncin ilk ucu
10 kΩ direncin diğer ucuGND
D4100 Ω → pasif piezo +
Pasif piezo −GND

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. 5V ucunu LDR uç 1 noktasına bağla.
  4. LDR uç 2 ucunu A1 ve 10 kΩ direncin ilk ucu noktasına bağla.
  5. 10 kΩ direncin diğer ucu ucunu GND noktasına bağla.
  6. D4 ucunu 100 Ω → pasif piezo + noktasına bağla.
  7. Pasif piezo − ucunu GND noktasına bağla.
  8. Bir yetişkinle güç, GND, parça yönü ve dirençleri bağlantı tablosuna göre tek tek kontrol et.
  9. 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.
  10. Aşağıdaki bağımsız kodu yeni eskize yapıştır ve karta yükle. Seri Monitör gerekiyorsa 9600 baud seç.
  11. 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 — Işıkla müzik


int light(){return analogRead(A1);}
void beep(int hz,int ms){tone(4,hz,ms);delay(ms);noTone(4);}
void setup(){
  Serial.begin(9600);
  pinMode(4,OUTPUT);
}
void loop(){
  tone(4,map(light(),0,1023,220,880));delay(30);
}

Kod nasıl çalışır?

LDR değerini frekansa çevirerek temassız bir ses kontrolü yap.
setup() bir kez çalışıp pin yönlerini ve haberleşmeyi hazırlar. loop() içindeki komutlar sürekli tekrarlanır. LDR üst koldadır: bu bağlantıda aydınlık arttıkça A1 değeri genellikle artar. 10 kΩ ile gerilim bölücü oluşturur. Eşik oda ışığına göre ayarlanır; değer doğrudan lux değildir.
Pasif piezo tone() ile sürülür. Aktif buzzer farklı davranır. Düşük ses düzeyiyle çalış; kulağa yaklaştırma. Uno tone() kullanırken D3/D11 PWM etkilenebilir.

Beklenen sonuç

Elinle gölge yaptıkça ses perdesi değişir.

Sıra sende

Oda için ölçülen alt-üst aralığı kullanarak kalibre et.

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/