Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Raspberry Pi Pico, yeni başlayanların elektronik projelere başlamalarını ve kodlamayı öğrenmelerini kolaylaştıran düşük maliyetli bir mikrodenetleyici kartıdır.

Bu proje için, bir potansiyometreden analog bir sinyali nasıl okuyacağınızı ve onu bir PWM'ye nasıl dönüştüreceğinizi öğreneceksiniz. (darbe genişliği modülasyonu) sinyali, MicroPython yardımıyla zilin frekansını veya tonunu değiştirmek için kod.

Hangi Parçalar Gereklidir?

Bu projeye dayalı Raspberry Pi Pico için Kitronik Mucit Kiti. Gerekli tüm elektronik bileşenler kite dahildir; ancak bunlar, ortalıkta dolaşmış olabileceğiniz yaygın bileşenlerdir:

  • Piezo eleman zili
  • Döner potansiyometre
  • 7x Erkek-erkek jumper telleri
  • Ahududu Pi Pico ile lehimli GPIO başlık pimleri
  • Breadboard

Darbe genişlik modülasyonu (PWM) ve potansiyometreler konusunda yeniyseniz, önce şu kılavuzumuza göz atın:

instagram viewer
Raspberry Pi Pico'nuzla bir potansiyometre nasıl kullanılır?, bir LED'in parlaklığını PWM ile ayarlamak için nasıl kullanılacağını ana hatlarıyla belirtir.

Gerekli Montaj

Bir aktarma kablosu (fotoğrafta sarı), potansiyometrenin sol tarafını devre tahtasının pozitif (+) rayına bağlar. Başka bir köprü teli, potansiyometrenin sağ tarafını devre tahtasının negatif (-) tarafına bağlar. Potansiyometrenin orta pininden, Pico üzerindeki GP26/A0 pinine bir bağlantı teli çekmeniz gerekecektir.

Piezo zilinin negatif ayağından negatif devre tahtası rayına giden bir teli ve ardından pozitif ayağından Raspberry Pi Pico üzerindeki GP15 pimine giden başka bir bağlantısı olması gerekir.

Ayrıca topraklamak için Pico üzerindeki bir GND pininden breadboard üzerindeki negatif raya bir jumper kablosu geçirmeniz gerekecektir. Başka bir aktarma kablosu, bileşenlere güç sağlamak için Pico üzerindeki 3V3 Çıkış pimini devre tahtasının pozitif rayına bağlayacaktır.

Kodu Oluştur

kodundan alabilirsin MUO GitHub deposu. adlı MicroPython dosyasını indirin. piezo-buzzer.py ve ardından Thonny IDE'yi çalıştıran USB bağlantılı bir bilgisayar aracılığıyla bunu Pico'nuza yükleyin. Nasıl yapılacağına göz atın Raspberry Pi Pico'da MicroPython'u kullanmaya başlayın detaylar için.

Kodun çeşitli bölümleri aşağıdakileri yapar:

  • En üstte, gerekli olanı içe aktarıyoruz makine, matematik, Ve zaman MicroPython modülleri.
  • A zil değişken daha sonra bir PWM çıkışı olarak pin GP15'e atanır.
  • A potansiyometre değişken, Pico'nun GP26/A0 pinindeki analogdan dijitale dönüştürücüye (ADC) atanır.
  • tanımlıyoruz ölçek() potansiyometre hareket aralığını buzzer için bir çıkışa dönüştürmek için matematik fonksiyonlarını kullanan fonksiyon.
  • bu iken: Doğru sonsuz döngü potansiyometre girişini okur ve ardından ölçek dönüştürmek için işlev. Önceki frekanstan çok fazla değişmediğini kontrol ettikten sonra hesaplanan frekansı gönderir. sıklık PWM (darbe genişliği modülasyonu) kullanarak zile.

Özetle, saniyede gönderilen yüzlerce darbe vardır ve potansiyometre saat yönünde veya saat yönünün tersine döndürüldüğünde sesli uyarı tonu 120Hz ile 5kHz arasında değişecektir. Potansiyometreyi döndürmek, Pico'nun analog giriş pini tarafından okunan voltajı değiştirir ve bu pin de PWM kullanarak buzzer frekansını ayarlamak için kullanılır.

Thonny'den gelen kodu çalıştırın (oynat simgesine tıklayın veya F5 klavyenizde) ve kendiniz deneyin. İlk çalıştırmanızdan sonra herhangi bir kod değişikliği fiziksel sonuçları etkiler mi? Örneğin, değiştirirseniz ne olur? menzil (0 ila 65535)? Kodun bu kısmı hemen aşağıda yer almaktadır. iken Doğru: nerede sıklık tanımlanmış.

Tonu Ayarlama

Kendinizi maceracı hissediyorsanız, martinkooij'leri kullanarak müzik tonları oluşturmak için zili kullanmayı deneyebilirsiniz. pi-piko-tonları GitHub'daki kitaplık. Varsayılan olarak, bu kitaplık sinüs dalgaları üretecektir; dört ton üreteci, seçebileceğiniz gibi dört farklı Pico piminde çalışabilir. Bu projenin MicroPython yerine Raspberry Pi Pico SDK kullanan C++'a dayandığını, ancak tüm talimatların GitHub benioku dosyasında verildiğini unutmayın.

Pico Electronics'in Buzz'ı

Tebrikler: Bir potansiyometreden analog girişi nasıl okuyacağınızı ve bir zil sesini kontrol etmek için onu bir PWM sinyaline dönüştürmeyi öğrendiniz. Bir potansiyometre, elektronik için çok yönlü bir giriş cihazıdır. Bir piezo sesli uyarıcı başka bir kullanışlı bileşendir: örneğin, bir PIR kızılötesi hareket sensörünün eklenmesiyle, izinsiz giriş yapanların varlığını algılayabilir ve alarm çalabilirsiniz.