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.
Malzeme listesi
- 1 × Arduino Uno R3
- 1 × USB veri kablosu
- 1 × breadboard
- Yeterli sayıda jumper kablo
- 1 × LDR
- 1 × 10 kΩ direnç
- 1 × düşük akımlı pasif piezo buzzer
- 1 × 100 Ω seri direnç
Bağlantı tablosu
| Başlangıç | Bağlantı |
|---|---|
| 5V | LDR uç 1 |
| LDR uç 2 | A1 ve 10 kΩ direncin ilk ucu |
| 10 kΩ direncin diğer ucu | GND |
| D4 | 100 Ω → pasif piezo + |
| Pasif piezo − | GND |
Adım adım yapalım
- Önce bağlantı görselini ve malzeme listesini oku. 6–8 yaş grubunda bir yetişkin devreyi kurarken çocuk komutları ve sonucu takip eder.
- USB ve harici beslemeyi çıkar. Breadboard güç raylarının bağlı/ayrık bölümlerini kontrol et.
- 5V ucunu LDR uç 1 noktasına bağla.
- LDR uç 2 ucunu A1 ve 10 kΩ direncin ilk ucu noktasına bağla.
- 10 kΩ direncin diğer ucu ucunu GND noktasına bağla.
- D4 ucunu 100 Ω → pasif piezo + noktasına bağla.
- Pasif piezo − ucunu GND noktasına bağla.
- Bir yetişkinle güç, GND, parça yönü ve dirençleri bağlantı tablosuna göre tek tek kontrol et.
- 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.
- Aşağıdaki bağımsız kodu yeni eskize yapıştır ve karta yükle. Seri Monitör gerekiyorsa 9600 baud seç.
- 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
- Kod yüklenmiyorsa kart, port ve USB veri kablosunu kontrol et.
- Gücü çıkarıp her bağlantıyı tablodaki satırla eşleştir; ortak GND olmadan sinyaller güvenilir olmayabilir.
- Beklenen sonuçla gerçek sonucu karşılaştır. Sensör eşikleri bulunduğun ortama göre ayar ister.
- LED yanmıyorsa seri direnci ve anot/katot yönünü kontrol et; LED içermeyen projede sensörün pin etiketlerini incele.