İçindekiler:

RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo: 5 Adım
RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo: 5 Adım

Video: RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo: 5 Adım

Video: RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo: 5 Adım
Video: Grow Hack - Temel Ağ Bilgisi 2024, Kasım
Anonim
RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo
RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo
RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo
RDS (Radyo Metni), BT Kontrol ve Şarj Tabanlı FM Radyo

bonjour, Bu benim ikinci "Öğretim Tablom". Pek kullanışlı olmayan şeyler yapmayı sevdiğim için, işte son projem:

Bu, Bluetooth ve Android APP aracılığıyla izlenebilen, şarj tabanına sahip Radyo Metinli bir FM radyo

Bu nedenle size Arduino bölümünü, Radyo Metni bölümünü ve ardından MIT Uygulaması mucit bölümünü sunacağım (Bu, Android APP oluşturmak için yeterince yetenekli olmamın tek yolu)

AC beslemeli 10;8 volt ve pilli 9.6 besleme voltajı ile maksimum güç 2x 1.5/1.25 watt RMS'dir ve bu oldukça yeterlidir.

RMS (kök ortalama kare) gücü, watt müzik veya tepe gücü veya başka bir şey gibi satılan diğer büyük sayılar gibi olmayan gerçek güçtür)

Sanırım 1.5 Watt RMS bazı mağazalarda 8 Watt olarak satılabiliyor!!!!!!

İlk önce gerekli bileşenler:

Ana Yönetim Kurulu:

1x Arduino Nano

Sparkfun veya eşdeğerinden 1x FM radyo modülü SI4703 (anten olarak kullanılabilen 3 kutuplu Jack ile 5v güç ve 3.3V I2C)

1x HC-06 Bluetooth modülü (yeni yazılım sürümü 3.0'ın tamamen farklı komut setine sahip olduğuna dair uyarı (koda bazı yorumlar koydum).

1x 4 kanallı seviye değiştirici 3.3 5 V

1x MC7805 5v DC dönüştürücü

1x 2200 µF 25V kapasitör

2x 1N5404 3 Amp diyotlar

2 adet 2N2222 transistör

1x 1Kohm direnç

1x 47 Ohm direnç

2x 3.3 KOhm direnç (I2C bus pull-up için)

3x 330 Ohm dirençler (led'ler için)

2x 6.8 KOhm dirençler

1x 3.9 KOhm direnç

Ön panel

1x 20X4 LCD I2C veri yolu

10x 680 Ohm dirençler

Güç kaynağı için 1x Kırmızı LED (artık yeşilim yoktu!!)

Pil modu için 1x Sarı LED

BT bağlantısı için 1x Mavi LED

4x (AÇIK)-KAPALI-(AÇIK) anahtarları (elektrikli araba camı gibi)

2x basmalı düğmeler

1x AÇIK/KAPALI anahtarı

Radyo için diğer bileşenler:

2x 100W 10CM 8 Ohm HP

1x 1m uzatılabilir anten (Avrupa ve ABD'de FM için yaklaşık 75 cm iyi uzunluktur)

Şarj Tabanı için kontakları yapmak için kullandığım 1x telefon fişi

1x 1N5404 3 Amp diyot (toprağa karışması durumunda duman çıkmaması için akü kontağından veya 12V kontaktan)

4 Euro karşılığında satın alınan TDA2020 tabanlı 1x 2X20 watt Güç Amplifikatörü (12V olduğu sürece herhangi bir stereo Amplifikatör sığacaktır)

1x 8XAA pil kuplörü (minimum 9.6V'ye sahip olmak için)

Kutu için bazı 10 mm ve 4 mm kontrplak

Şarj tabanı:

1x 12V 3Amp Güç kaynağı

1x küçük 3 haneli/3 telli voltmetre

3 kontak (telefon fişi ile yapılmıştır)

1x 1N5404 3 Amp diyot (12V kontakta)

2 kollu anahtar (telsiz şarj istasyonundayken AC kaynağını açmak için)

1x ON/OFF anahtarı (gerekirse şarj tabanını kapatmak için)

Taban için bazı 10 mm ve 4 mm kontrplak

Kontrplak dahil toplam 70€'dan fazla değil

1. Adım: 4703 Radyo Bölümü

İlk olarak, bir değişiklik:

Modülün kulaklık kablosunu anten olarak kullanması gerekiyor, benim projemde kullanışlı değil, bu yüzden harici anteni bağlamak için önce küçük bir değişiklik yapmamız gerekecek.

Bu modülde 3 kutuplu jak topraklaması doğrudan toprağa değil, bir endüktans (FM frekanslarını durdurmak için) ve FM frekanslarını SI4703'ün anten girişine bağlamak için bir kapasitör aracılığıyla bağlanır.

Bu yüzden en iyi yol, anteni doğrudan jakın topraklama pimine bağlamak ve ses çıkışı için iki kablo lehimlemektir.

resim
resim

Seste herhangi bir gürültüyü önlemek için (özellikle Bluetooth'tan), FM modülünü toprağa bağlı bakır bantla korumalı küçük bir plastik kutuya koydum.

resim
resim

RDS/Radyo Metni protokolü:

İlk olarak, Haziran 2011'deki "TEST_FM" programından tamamen ilham aldığım için Nathan Seidle'a teşekkür etmek istiyorum.

Ve kararlaştırıldığı gibi, eğer bu günlerden birinde, Brittany'nin derin ucundaki küçük köyümde kaybolursa, ona bir bira vermekten çok mutlu olacağım!

Zayıf Nano bellek alanı için biraz büyük olan mevcut kütüphaneleri kullanmak istemediğimden ve ayrıca doğrudan içine dalarak bir bileşenin olasılıklarında derinlere inmek her zaman daha iyi olduğu için onun programının çoğunu kullandım. kayıtlar

Yaptığım ana değişiklik RDS yoklaması için

RDSIEN bitini ve GPIO2 değerini 01 olarak ayarlayarak GPI02 pininde bir kesintiyi tetikleme olasılığından yararlandım.

Bu, nano'nun 3. pininde bir kesintiyi tetikleyecektir.

Bu, yalnızca 4 karakterlik radyo metni grubu hatasız olarak mevcut olduğunda (ayrıntılı olmayan mod) Radyo Metni programını tetikleyeceğinden, RDS kaydının sorgulanmasını önler.

Tam bir radyo metnine sahip olmak için, 4 karakterlik en fazla 16 blok (2A veya 2B grubu RDSC/RDSB kayıtları) toplamalıyız. Yaptığım şeyi açıklamak için programa çok fazla bilgi koydum.

Radyo metni (RDSSA/RDSC) için Veri kayıtlarının bir açıklaması aşağıdadır.

resim
resim

RDSSB kaydında (blok 2)

A3/0'daki 4 değeri şunu gösterir (metin grubu)

B0, A (64 karakter) veya B(32 karakter) metnini gösterir (B metnini kullanımda hiç görmedim………..)

PT0 ila PT4, 4 karakter grubunun (0 ila 15) indeksidir

PT5, metin A/B göstergesi olarak kullanılmalıdır ("bu yeni bir metindir" anlamına gelir), ancak Radyo istasyonuna bağlı olarak her zaman bu şekilde kullanılmaz, bu nedenle Radyo metin programı için kullanılamaz.

Radyo Metninin 4 karakteri RDSSC ve RDSSD'dedir (blok 3 ve 4)

Silicon laboratuvarlarından SI4703 =>AN243'teki RDS protokolü ile ilgili çok ilginç belgeyi okumanızı tavsiye ederim.

Kanal ararken frekans aralığında kalmak için POWERCFG kaydındaki SKMODE bitini de sıfırlarım (bkz. SI4703 veri sayfası)

Datashhet'i okumak, kodu ve tüm kayıt işlemlerini anlamak için çok yardımcı olacaktır.

Adım 2: Şarj Tabanı

Şarj Tabanı
Şarj Tabanı
Şarj Tabanı
Şarj Tabanı
Şarj Tabanı
Şarj Tabanı

Eklenecek pek bir şey yok

Resimler daha iyi konuşabilir.

12 volt kontağa 1N5404 diyot eklendi

1) telsizi tabana koyarken pil kontağının 12 volt kontağa dokunması durumunda sorun yaşamamak için (ama hiç olmadı)

2) Voltaj seviyesini 10,8 volta düşürmek (anakart üzerinde diyot da var) çünkü MC7805 1 Amp akımla 12V'dan 5 volta geçerken biraz ısınabilir (soğutucu olarak bir parça demir vidaladım) 7805)

Pil yükünü belirtmek için küçük bir 3x7 segment voltmetre ekledim

Bu cihaz, tüketimi azaltmak için (ölçüm kablosunda 1 Mega Ohm'dan fazla) telsizin pili boşaltmadan uzun süre kapalı durumda kalmasını sağlayan 3 kabloludur.

resim
resim

Telsiz tabanda değilken AC beslemesini KAPATMAK için 2 kol anahtarı kullanılır (kontaklarda 12V olmasını önlemek için)

resim
resim

Kutu kontrplaktan yapılmış (resmi boyamadan önce) Benimki çok seksi olmadığı için nasıl güzel bir kutu yapılacağını hayal etmenize izin veriyorum!!!!!

Çok şaşırdım ama şarj tabanı iyi çalışıyor ve radyoyu üzerine koyarken hiç sigara içmedim………….

Adım 3: Kutu

Kutu
Kutu
Kutu
Kutu
Kutu
Kutu
Kutu
Kutu

Sanırım herkes sanatsal kapasitesini takip ederek istediğini yapmak ister!!!!!

Her neyse, bir alet kutusuna çok benzeyen bir şeyi nasıl inşa edebileceğimi kısaca açıklayacağım.

Ön ve arka 4 mm kontrplak 15x45 cm kesimlidir.

üst ve alt 10 mm kontrplak 15x45 cm

Yanlar ve 2 iç bölme (HP için 2 yer ve ortadaki bileşenler) 10 mm kontrplak 13x13 cm

Ön panelde HP için 2x10 cm delik ve siyaha boyadığım 15x15 2mm organik camı yerleştirmek için 14x14 kare delik açtım (üzerine şeffaf baskılı sticker boyadıktan sonra ekledim ama siyah olduğu için pek okunmuyor arkadaki renk)

Üstte 2 delik açtım:

biri Güç Amplifikatörü potansiyometresi için (gerekirse seviyeyi ayarlamak için) ve ayrıca ısı çıkışı olarak

anten için başka

arka panelde 2 delik açtım:

USB fişi için bir tane (doğrudan nano'ya takın)

Hava soğutma için bir adet 16 mm (üst hava soğutma çıkışı olan güç Amperinin potansiyometresinin 14 mm deliği)

sap siyah boyalı 12 mm bakır borudan yapılmıştır

Yukarıdaki resimdeki tüm bileşenler orta bölmede yer buluyor (daha sonra ana bölmedeki HC06 BT modülüne çok yakın olduğu için pilleri sol HP bölmesine koymak zorunda kaldım)

Bu kadar

Tabii ki daha seksi bir şey olmalı!!!!!

Adım 4: Arduino Parçası (şemalar ve Kod)

Programın yorumlarına mümkün olduğunca çok bilgi koymaya çalıştım.

Biraz daha bilgi

Decode_TXT prosedürü, hem Bluetooth prosedürü hem de geçiş prosedürü tarafından kullanılır

bazı anahtar kelimeler her iki prosedür tarafından da kullanılıyor

v+ => sesi artırmak için

v- => düşürmek için

f+ => 100 Khz'lik bir adımın frekansını artırmak için

f- => azaltmak

su+=> ara

sd-=> aşağı ara

prefu=> önceden seçilmiş kanal numarasını artır

prefd=> azalt

merhaba =>Bluetooth bağlantısı sırasında Android APP tarafından gönderilen kod, radyonun durumunu geri gönderir

güle güle => BT bağlantısı kesildiğinde APP tarafından gönderilir

pow => güç kaynağı modunda (şarj tabanında) telsiz tarafından Uygulamaya gönderilir

bat => pil modundayken

lb => pil seviyesi çok düşük olduğunda gönderilir (yaklaşık 8 volt)

Bluetooth iletişimi bir kontrol döngüsü ile güvence altına alınır:

FM radyo her bilgi gönderdiğinde, android APP tarafından "tamam" yanıtını bekleyen bir zamanlayıcı başlatılır

3 hata durumunda (zamanlayıcının süresinin dolması) BT bağlantısı Telsiz tarafından kesilir. (bu aynı zamanda Android tarafındaki bağlantıyı da keser)

Diğer tarafta

Uygulama bir komut gönderdiğinde, başka bir komut göndermek için telsizden gelen cevabı bekler.

Get_RT prosedürü, RDS bayrağı ayarlandığında (pin 3'te bir kesintiden sonra) başlatılır.

işte kod (GITHUB'a bağlantı)

şemalar:

FM radyo ana kartı (aslında SI4703, korumalı bir kutuda ayrıdır):

resim
resim

Ön panel:

resim
resim

Şarj tabanı:

resim
resim

Fritzing dosyalarına bağlantılar:

FR RADYO ana kartı

Ön panel

Şarj tabanı

Adım 5: Android Uygulaması

Android Uygulaması
Android Uygulaması
Android Uygulaması
Android Uygulaması

APP mucidi ile yapılmıştır

işte GitHub'a bağlantılar

Radyo FM aia

Android APK'sı

Uygulama 2 saat zamanlayıcı kullanır:

1) bluetooth iletişimi için (100ms)

2) yük yaklaşık 8 v (1000ms) olduğunda pil ledinin yanıp sönmesi için

İlk kez HC06 modülünü akıllı telefonunuz veya tabletinizle eşleştirmeniz gerekecektir.

HC06 modülünün BT adresini kaydetmek için TinyDB kullanıyorum, ilk bağlantıda BT adresi düğmesi etkinleştirilecek ve listeden HC06'yı seçmeniz gerekecek (kendi adıma, HC06 modülünü FM_RADIO'da yeniden adlandırdım)

Uygulamada, öğenin boyutu için her zaman yüzdeyi kullanmadım, bu nedenle akıllı telefona bağlı olarak çok görüntü sorunları olabilir.

Benimki bir Galaxy note 3 yani oldukça büyük ekran……..

Bu yüzden bu küçük ama çok verimli SI4703'ü keşfetmek için iyi zaman harcadım.

Ve bu talimatları yazmaktan çok zevk aldım

Bir sonraki projeme kadar

Au revoir!!!

Önerilen: