İçindekiler:
- Adım 1: Projenin Amaçları
- 2. Adım: Teori
- Adım 3: Prosedürler
- Adım 4: Çalışma Modları: 1- PWM Dijital Çıkış Olarak LED'ler
- Adım 5: Çalışma Modları: 2- Dijital Çıkış Olarak LED'ler
- Adım 6: Çalışma Modları: 3- Dijital Çıkış Olarak Pompalar
- 7. Adım: Kişiler
Video: Dans Eden Çeşme: MSGEQ7 Spektrum Analizörlü Arduino: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bir ses sinyalinin alınması ve onu görsel veya mekanik tepkiye dönüştürmesi çok ilginçtir. Bu projede, giriş ses sinyalini alan ve 7 ana frekans bandına bölmek için bant geçiş filtrelemesi yapan bir spektrum analizörü MSGEQ7'ye bağlanmak için bir Arduino Mega kullanacağız. Arduino daha sonra her bir frekans bandının analog sinyalini analiz edecek ve bir eylem yaratacaktır.
Adım 1: Projenin Amaçları
Bu proje 3 çalışma modunu tartışacaktır:
- LED'ler, frekans bantlarına tepki vermek için PWM dijital pinlerine bağlanır
- LED'ler, frekans bantlarına tepki vermek için dijital pinlere bağlanır
- Pompalar, Motor sürücüleri aracılığıyla Arduino Mega'ya bağlanır ve frekans bantlarına tepki verir.
2. Adım: Teori
MSGEQ7 Spectrum Analyzer IC'den bahsedersek, giriş ses sinyalini 7 ana banda bölen dahili 7 bant geçiren filtrelere sahip olduğunu söyleyebiliriz: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2.5 kHz, 6.25 kHz ve 16 kHz.
Her filtrenin çıkışı, bir çoklayıcı kullanılarak IC'nin çıkışı olarak seçilir. Bu çoklayıcı, dahili bir ikili sayaç tarafından kontrol edilen seçici hatlara sahiptir. Dolayısıyla, bir seferde bir bandın geçmesine izin vermek için sayacın 0'dan 6'ya (ikili olarak 000'den 110'a) sayması gerektiğini söyleyebiliriz. Bu, Arduino kodunun sayı 7'ye ulaştığında sayacı sıfırlayabilmesi gerektiğini açıkça ortaya koyuyor.
MSGEQ7'nin devre şemasına bakarsak, osilatörün dahili saatini kontrol etmek için RC frekans tuner kullandığımızı görebiliriz. daha sonra giriş ses sinyali bağlantı noktasında filtreleme RC öğelerini kullanırız.
Adım 3: Prosedürler
Kaynak sayfasına göre (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) kaynak kodunun çıkışları tekrar eden PWM sinyalleri olarak ele aldığını görebiliriz. bazı kod satırlarını hedeflerimize uyacak şekilde değiştirebiliriz.
Bir stereo jakımız varsa, giriş direncini ve kapasitörü ikinci kanala ikiye katlayabileceğimizi fark edebiliriz. MSGEQ7'ye Arduino VCC (5 volt) ve GND'den güç veriyoruz. MSGEQ7'yi Arduino kartına bağlayacağız. Projeye uygun PWM pinleri olduğu için Arduino Mega kullanmayı tercih ediyorum. MSGEQ7 IC'nin çıkışı analog pin A0'a bağlanır, STROBE Arduino Mega'nın pin 2'sine ve RESET pin 3'e bağlanır.
Adım 4: Çalışma Modları: 1- PWM Dijital Çıkış Olarak LED'ler
Kaynak koduna göre çıkış LED'lerini 4'ten 10'a kadar olan pinlere bağlayabiliriz.
const int LED_pins[7] ={4, 5, 6, 7, 8, 9, 10};
Ardından, LED'lerin her bir frekans bandının gücüne göre dans ettiğini görebiliriz.
Adım 5: Çalışma Modları: 2- Dijital Çıkış Olarak LED'ler
Çıkış LED'lerini herhangi bir dijital pin'e bağlayabiliriz.
const int LED_pins[7] ={40, 42, 44, 46, 48, 50, 52};
Ardından, her bir frekans bandının gücü üzerine LED'lerin yanıp söndüğünü görebiliriz.
Adım 6: Çalışma Modları: 3- Dijital Çıkış Olarak Pompalar
Bu son modda L298N motor sürücü modülünü Arduino'nun çıkışlarına bağlayacağız. bu, MSGEQ7 spektrum analizörünün çıkışına dayalı olarak pompanın çalışmasını kontrol etmemizi sağlar.
Bilindiği gibi motor sürücüleri, Arduino'dan herhangi bir akım kesmeden, Arduino'dan üretilen sinyale göre bağlı motorların veya pompaların çalışmasını kontrol etmemizi sağlar, bunun yerine motorları doğrudan bağlı güç kaynağından beslerler.
Kodu ham kaynak olarak çalıştırırsak pompalar düzgün çalışmayabilir. Bunun nedeni, PWM sinyalinin düşük olması ve motor sürücüsünün motorları veya pompaları çalıştırması ve uygun bir akım vermesi için uygun olmayacağıdır. Bu yüzden A0'dan gelen analog okumaları 1.3'ten büyük faktörle çarparak PWM değerini arttırmanızı tavsiye ederim. Bu, haritalamanın motor sürücüsü için uygun olmasına yardımcı olur. 1.4'ten 1.6'ya kadar tavsiye ederim. Ayrıca PWM değerinin uygun olacağından emin olmak için PWM'yi 50 ila 255 olacak şekilde yeniden eşleyebiliriz.
LED'leri motor sürücüleri için çıkışlarla birlikte bağlayabiliriz, ancak PWM değerleri artırıldığından LED'ler eskisi gibi iyi bir şekilde görünecek şekilde yanıp sönmeyecektir. Bu yüzden onları 40 ile 52 arasındaki dijital pinlere bağlı tutmanızı öneririm.
7. Adım: Kişiler
Sizden gelen geri bildirimleri duyduğuma çok sevindim. Lütfen kanallarıma katılmaktan çekinmeyin:
YouTube:
Instagram: @simplydigital010
Twitter: @simply01Digital
Önerilen:
3D Yazıcı ve Arduino Olmadan Dans Eden Robot Yapma/#smartcreativity: 11 Adım (Resimlerle)
3D Yazıcı ve Arduino/#smartcreativity Olmadan Dans Eden Robot Yapın: Merhaba arkadaşlar, bu dersimizde size evde 3D yazıcı ve Arduino olmadan dans eden robot yapmayı göstereceğim. Bu robot dans edebilir, otomatik dengeleyebilir, müzik üretebilir ve yürüyebilir. Ve Robot'un tasarımı da çok havalı görünüyor
Eduarduino Dans Eden Parti Robotu!: 5 Adım
Eduarduino the Dancing Party Robot!: Tik-Tok'ta ünlü olmak için mücadele mi ediyorsun? Sizin için bir çözümümüz var!Eduarduino, kendi kişisel Tik-Tok vekilinizdir! O senin yapamadığın tüm dans hareketlerini yapabilen dans eden bir robot! Eduarduino'nun yüksek kaliteli hareket sistemi, t
Dans Eden Robot: 21 Adım
Dans Eden Robot: Bu Eğitilebilir Kitapta dans eden bir robot yapacağız. Bu robotu çalışırken görmek için videoları izleyin. Bileşenleri edinmeden önce tüm talimatları okumanız önerilir
LED Dans Eden Robotlar: 6 Adım (Resimlerle)
LED Dans Eden Robotlar: Burning Man 2018'de gece kampımızı bulabilmek için bir şeyler yapmak istedim. 2018 bir robot temasıydı ve ben neon hayranıyım ama hiçbir şekilde bu rotaya gitmeyecektim, bu yüzden bir fikir buldum. dans eden kokteyl bardağına benzer bir robot hakkında. Sahil kampı yapıyoruz
Arduino Dans Eden Magikarp Projesi: 4 Adım
Arduino Dans Eden Magikarp Projesi.: Merhaba! Geçenlerde 90'ların Pokémon ve Billy Bass nostaljisinden esinlenerek kendi küçük arduino projemi yaptım ve aşağıda kendi projenizi yapmakla ilgili talimatları bulabilirsiniz! Proje okul içindi ve girilecek bir şey inşa etmemiz gerekiyordu