Metronom Cihazı
Metronom belirli bir sesin sizin ayarladığınız bir tempoda sabit bir sesin çıkmasıdır. Genellikle çalgı aletleri çalarken ritim duygusu oluşması için kullanılır.
Malzeme Listesi
- Arduino Nano
- Attiny85
- 2 adet ayarlanabilir direnç
- Buzzer
- Led
- Adaptör
- Delikli Pertinaks
- 2 yönlü aç kapa anahtar
Bağlantılar
1. Attiny85 mikro kontrolcüsüne ISP ile program göndermek için bağlantılar
Attiny85 i programlayabilmek için arduino 1.0.5 ile 1.0.0 arasındaki(eski sürümlerden) olan yazılımı kuruyoruz. Bağlantıları yapmadan önce arduinomuza örneklerin içinde bulunan ArduinoISP programını yüklüyoruz. Bu programı arduinoyu programlayıcı olarak çalışması için yüklüyoruz. Yani araçlar-programlayıcı kısmında çoğunlukla kullandığımız AVRISP mkII seçiyoruz. Bu programı yükledikten sonra yukarıdaki bağlantıları yapıp attiny85 e yüklemek istediğimiz programı yazıyoruz. İşlemci olarak attiny85 i seçtikten sonra araçlar-programlayıcı bölümünden Arduino as ISP yi seçiyoruz ve programı gönderiyoruz.
2. Programı yükledikten sonra metronom için bağlantılar
Bu bağlantıları yaptıktan sonra delikli pertinaks üzerindeki devrenin görüntüsü aşağıdaki gibi oluyor. Biraz küçük yapmak istediğiniz zaman bazı kablolar birbirine yakın geçebiliyor.
Devrenizin çalıştığından emin olduktan sonra yalıtım için sıcak silikon kullanabilirsiniz.
Adaptör ile birlikte görüntüsü. Pil kullanarak daha kibar bir görüntü elde edilebilir.
Attiny85 in güç tüketimi bu program için 5v – 7mA. Arduino nano ile regülatör kullanmadan 5v- 24mA civarı oluyor. Attiny85 çipinin güç tüketimi oldukça iyi. Birkaç uyku modu kullanılarak daha düşük güç tüketimine alınabilir. Eğer 5 volttan daha düşük değerli bir pil ile çalıştırmayı düşünüyorsanız 1.5 volta kadar çalıştırabiliyorsunuz.
Yazılım kısmında farklı ses tonları elde etmek için buzzere farklı frekanslarda sinyal gönderebilirsiniz. Aşağıdaki programda dc sinyaller gönderilerek kullanıldı.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
void setup() { pinMode(A2,INPUT); pinMode(A3,INPUT); pinMode(2,OUTPUT); } void loop() { digitalWrite(2,HIGH); delay(analogRead(A2) );// Sesin çıkma süresi digitalWrite(2,LOW); delay(2*analogRead(A3)+200 );// 200 en büyük periyodunuzu belirlemek için } |
Son Yorumlar