İçindekiler:

Raspberry Pi ile Çalışan İnternet Radyosu: 5 Adım (Resimlerle)
Raspberry Pi ile Çalışan İnternet Radyosu: 5 Adım (Resimlerle)

Video: Raspberry Pi ile Çalışan İnternet Radyosu: 5 Adım (Resimlerle)

Video: Raspberry Pi ile Çalışan İnternet Radyosu: 5 Adım (Resimlerle)
Video: Raspberry Pi ve IoT Uygulamaları 2024, Kasım
Anonim
Image
Image
Raspberry Pi ile çalışan İnternet Radyosu
Raspberry Pi ile çalışan İnternet Radyosu
Raspberry Pi ile çalışan İnternet Radyosu
Raspberry Pi ile çalışan İnternet Radyosu

Eski radyolardaki gibi kadranları çevirmek ve düğmelere basmak konusunda tatmin edici bir şey var. Ne yazık ki bu radyoların çoğu bozuldu veya istasyonlar sessizleşti. Ne mutlu ki, bir ahududu pi sıfır W kullanarak herhangi bir radyoyu internet radyosuna güncellemek çok zor değil ve size nasıl yapılacağını göstereceğim!

İşin bir kısmı sahip olduğunuz verici radyoya bağlı olacak, ancak nasıl gittiğine dair size bir fikir vermek için benimkiyle ne yaptığımı açıklayacağım.

Pi'nin python kodunu takip etmesi kolay olduğundan, radyo kontrolleri bağlandıktan sonra, yazılımı ssh üzerinden değiştirerek alarm, bluetooth hoparlör, konuşma saati vb. gibi diğer özellikleri kolayca ekleyebilirsiniz.

Bu proje Dansette Pi İnternet Radyosu'ndan esinlenmiştir, buradaki temel fark, kadranların radyoyu basmalı düğmeler olarak değil çevirerek kontrol etmesidir.

Gereçler

  • eski transistörlü radyo
  • Ahududu pi sıfır W
  • Piksa 20X2
  • Adafruit 3W mono amplifikatör - MAX98357 I2S Amp Breakout
  • Güç kaynağı için varil konektörü
  • Varil konektörüne uyacak 5V DC güç kaynağı
  • çeşitli dirençler
  • birkaç 100nF kapasitör
  • şerit tahtası
  • 20 pinli IC DIP soketi
  • atlama telleri ve başlık pimleri
  • küçük somunlar ve cıvatalar

1. Adım: Genel Bakış

Buradaki fikir, ahududu pi'nin yerleşik wifi üzerinden internete bağlanması ve önceden yapılandırılmış internet radyo istasyonları listesinden birini yayınlamasıdır. Orijinal radyo düğmeleri ve kadranları (potansiyometreler), analogdan dijitale dönüştürücü görevi gören bir pikaxe çipine bağlanacaktır. Pi, kontrolleri pikax'tan sürekli olarak okur ve ses seviyesini veya istasyonu değiştirerek buna göre tepki verir. İstasyon değiştirildiğinde, radyo yeni istasyonun adını söyleyecektir. Son olarak, aktarılan ses, orijinal radyo hoparlörüne bağlı bir mono amplifikatöre aktarılır.

Ahududu pi kullanmanın en güzel yanı, devre kurulduktan sonra, pi üzerindeki birkaç kod satırı ssh ile değiştirilerek radyonun özelliklerinin kolayca değiştirilebilmesidir. Örneğin, bir bluetooth hoparlöre kolayca bağlanabilir veya çalar saat yapabilirsiniz:)

2. Adım: Radyo

Radyo
Radyo
Radyo
Radyo
Radyo
Radyo

En önemli kısım verici radyodur. Çalışması gerekmez, ancak çalışır durumda bir hoparlörü olması gerekir (yeni bir tane takmak istemiyorsanız).

Telsizimde 4 kadran ve 7 basma düğmesi var. Kadranlardan ikisi, ses seviyesini ve istasyonu değiştirmek için kullanılacaktır. Diğer iki kadran ve düğmeler hiçbir şey yapmayacak ama daha sonra kullanmak istersem yine de onları bağlayacağım.

İlk adım, radyoyu dikkatlice sökmek ve tüm dahili elektronik aksamları çıkarmaktır, hoparlör dışında bunlara ihtiyacımız olmayacak.

İstasyonları Değiştirme Radyomda, istasyonları değiştirdiğinizde, hangi frekansı dinlediğinizi belirtmek için ekranda küçük bir kırmızı işaret hareket eder. Bu özelliği gerçekten korumak istedim! İstasyon değiştirme düğmesi, değişken bir kondansatörü döndürür ve kırmızı işaretçiyi tutan bir ip parçasına sahip bir makara sistemini çalıştırır.

Bu değişken kapasitörün kapasitansını ölçmek için bir devre kurmaya çalıştım ama kapasitans o kadar küçüktü ki, şarj/deşarj zamanlaması için basit yöntem çalışmıyor. Başka yöntemler de var ama bana karmaşık geldiler ve uğraşmaya değmezler…

Yani burada yaptığım şey, bu şaftın modern bir potansiyometrenin oluğuna sığabilmesi için değişken kondansatörün altından işaret eden bir şaftı düz bir şekilde eğelemekti. Neyse ki, bu potansiyometre, içine bir delik açılarak orijinal pil kutusuna monte edilebilir. Tüm bunlardan sonra, değişken kondansatör şimdi doğrudan dijital radyomdaki istasyonu ayarlamak için kullandığım bir potansiyometreyi çalıştırıyor.

Düğmeler

Basma düğmelerinin altyapısını barındıran karmaşık bir devre kartı vardı. Lehimlenmiş bileşenleri ve telleri çıkardıktan sonra, bir düğmeye basıldığında veya bırakıldığında hangi bağlantıların yapıldığını / koptuğunu çözdüm. Bazı düğmeler birbirine bağlıydı, bu yüzden devre kartındaki birkaç bakır izi kırmak zorunda kaldım. Son olarak pikaxe gidecek bazı kabloları lehimleyerek 6 adet buton izole ederek çalıştım.

Ayrıca, hoparlörden gelen manyetik alan mikroişlemcileri bozabileceğinden, ideal olarak hoparlörden mümkün olduğunca uzakta, pi ve pikaksın oturması için rahat bir yer bulun. Pi'yi takmak için telsizin metal çerçevesine birkaç delik açtım.

3. Adım: Piksa

Piksa
Piksa
Piksa
Piksa
Piksa
Piksa

Piksa devresi yukarıda, sadece iki potansiyometre ve netlik için bir düğme gösterilmiştir. Devre, bir ADC girişine bağlı her potansiyometrenin sileceği ile oldukça basittir. Butonlar için giriş pini toprağa bağlıdır ve buton giriş ile +3.3V arasındadır. Bu devre indirme devresini içermiyor çünkü pikaximi ayrı bir tahtada programladım.

Picaxe kodu oldukça basittir. Piksa, potansiyometrelerin ADC değerlerini ve düğmelerin durumlarını okur, ardından bunları pi'nin okuyacağı dahili belleğe kaydeder.

Herhangi bir X2 pikax çipini kullanabilirsiniz. X2 olmayan parçalarda I2C bağımlı modu yoktur ve bu nedenle bu talimatlarla çalışmayacaktır.

Picaxe'i programlamak için bir linux bilgisayar kullanıyorsanız, AXE027 indirme kablosunun çalışması için aşağıdaki komutları çalıştırmanız gerekir:

sudo modprobe ftdi_sio

sudo chmod 777 /sys/bus/usb-serial/drivers/ftdi_sio/new_id sudo echo "0403 bd90" > /sys/bus/usb-serial/drivers/ftdi_sio/new_id

Potansiyometre değerlerinin düzensiz sıçraması durumunda, tencerenin zemini ile sileceği arasına 100nF'lik bir kondansatör yerleştirilebilir.

Adım 4: Ahududu Pi

Ahududu Pi
Ahududu Pi
Ahududu Pi
Ahududu Pi

İşte operasyonun beyinleri geliyor. Bazı paketlerin pi'ye yüklenmesi gerekecek

sudo apt-get güncellemesi

sudo apt-get kurulumu -y i2c-tools vlc espeak python-smbus python-pip sudo pip kurulumu python-vlc

Pi, picaxe ile I2C aracılığıyla konuşacak. I2C'yi etkinleştirmek için, /etc/modules dosyasının şu satırı içerdiğini kontrol edin.

i2c-dev

ve /boot/config.txt dosyasında

dtparam=i2c_arm=açık

Pi'yi amplifikatörle çalışacak şekilde ayarlamak için Adafruit'in kendi kılavuzunu buradan takip edin veya sadece çalıştırın

curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | bash

ve hepsini kabul et.

Python kodu oldukça basittir, bazı ilk kurulumlardan sonra hiç bitmeyen bir while döngüsü, potansiyometre değerlerindeki değişiklikleri ve düğmelere basılıp basılmadığını dinler.

n

İstasyonlar.txt dosyası, istasyon değiştirildiğinde söylenecek olan istasyon URL'lerinin ve istasyon adlarının bir listesini içerir. Aşağıdaki biçime sahiptir

st1 =

n1 = bazı radyo st2 = https://anotherstream n2 = başka bir istasyon

Bu dosya boş satır içermemelidir.

İstasyon URL'lerini bulmak için www.fmstream.org kullanıyorum.

Sadece gücü çekerek radyoyu kapatmayı düşünüyorsanız, SD kart bozulmalarını önlemek için pi'yi salt okunur olarak ayarlamak iyi bir fikirdir. read_only_setup.sh betiği bunu sizin için yapar ve bir terminalde "ro" ve "rw" yazarak salt okunur ve okunur-yazma arasında geçiş yapılmasına izin verir.

Adım 5: Hepsini Bir Araya Getirmek

Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy

Stripboard kullanarak, pika ve amplifikatörün pi'nin üzerine oturması için küçük bir şapka yaptım.

Güç kaynağı için telsizin eski konektör jaklarından birini çıkardım ve bir mikro USB kablosu lehimlediğim yeni bir DC varil jakı taktım. Tellerin polaritesini dikkatlice kontrol ettiğinizden emin olun!

Son olarak, her şeyi bağlayın, yaptığım kabloları daha iyi yönlendirmeye çalışın, kapağı kapatın ve radyonuzun keyfini çıkarın!

Önerilen: