Talaan ng mga Nilalaman:

FM Radio With RDS (Radio Text), BT Control and Charging Base: 5 Hakbang
FM Radio With RDS (Radio Text), BT Control and Charging Base: 5 Hakbang

Video: FM Radio With RDS (Radio Text), BT Control and Charging Base: 5 Hakbang

Video: FM Radio With RDS (Radio Text), BT Control and Charging Base: 5 Hakbang
Video: Build your own Crude FM Radio || FM,AM Tutorial 2024, Nobyembre
Anonim
FM Radio With RDS (Radio Text), BT Control at Charging Base
FM Radio With RDS (Radio Text), BT Control at Charging Base
FM Radio With RDS (Radio Text), BT Control at Charging Base
FM Radio With RDS (Radio Text), BT Control at Charging Base

Bonjour, Ito ang aking pangalawang "Mga Tagubilin". Tulad ng nais kong gumawa ng hindi masyadong kapaki-pakinabang na mga bagay, narito ang aking huling proyekto:

Ito ay isang radyo sa FM na may Teksto ng Radyo na may isang basehan ng singilin at na maaaring subaybayan sa pamamagitan ng Bluetooth at isang Android APP

Samakatuwid ipapakita ko sa iyo, ang bahagi ng Arduino, ang bahagi ng Teksto ng Radyo at pagkatapos ang bahagi ng imbentor ng MIT App (Ito ang tanging paraan na ako ay may sapat na kasanayan upang bumuo at Android APP)

Sa isang boltahe ng supply na 10; 8 volt na may AC supply at 9.6 na may baterya ang max na lakas ay 2x 1.5 / 1.25 watt RMS na malawak na nais

Ang RMS (root mean square) na kapangyarihan ay ang tunay na lakas na hindi tulad ng iba pang malalaking numero na ibinebenta tulad ng watt music o rurok na kapangyarihan o anumang bagay)

Sa palagay ko maaaring ibenta ang 1.5 Watt RMS bilang 8 Watts sa ilang mga tindahan !!!!!!

Una ang mga sangkap na kinakailangan:

Pangunahing Lupon:

1x Arduino Nano

1x FM radio module SI4703 mula sa Sparkfun o katumbas (5v pinalakas at 3.3V I2C na may isang 3 pol na Jack na maaaring magamit bilang isang antena)

1x HC-06 Bluetooth module (nagbabala sa bagong bersyon ng software 3.0 ay may isang kabuuan iba't ibang mga hanay ng mga utos (naglalagay ako ng ilang mga komento sa code).

1x 4channels level shifter 3.3 5 V

1x MC7805 5v DC converter

1x 2200 µF 25V capacitor

2x 1N5404 3 Amp diods

2x 2N2222 transistors

1x 1Kohm risistor

1x 47 Ohm risistor

2x 3.3 KOhm resistors (para sa I2C bus pull-up)

3x 330 Ohm resistors (para sa led's)

2x 6.8 KOhm resistors

1x 3.9 KOhm risistor

Front Panel

1x 20X4 LCD I2C bus

10x 680 Ohm resistors

1x Red LED (Wala na akong berde !!) para sa power supply

1x Yellow LED para sa mode ng baterya

1x Blue LED para sa koneksyon sa BT

4x (ON) -OFF- (ON) switch (tulad ng para sa isang electric car-window)

2x push button

1x ON / OFF switch

Iba pang mga komponenet para sa Radyo:

2x 100W 10CM 8 Ohm HP

1x 1m napapalawak na antena (sa paligid ng 75 cm ang magandang haba para sa FM sa Europa at US)

1x plug ng telepono na ginamit ko upang gawin ang mga contact para sa singilin na Base

1x 1N5404 3 Amp diod (sa contact ng baterya upang maiwasan ang usok sa kaso ng gulo sa lupa o 12V contact)

1x 2X20 watts Power Amp (Anumang stereo Amp ay magkakasya hangga't 12V) batay sa TDA2020 na binili para sa 4 Euro

1x 8XAA na coupler ng baterya (upang magkaroon ng min 9.6V)

Ilang 10mm at 4 mm na playwud para sa kahon

Batayan ng singilin:

1x 12V 3Amp Power supply

1x maliit na 3 digit / 3 wires voltmeter

3 mga contact (ginawa kasama ang plug ng telepono)

1x 1N5404 3 Amp diod (sa contact na 12V)

2 switch ng pingga (sa pag-i-on sa supply ng AC kapag ang radyo ay nasa singilin na singilin)

1x ON / OFF switch (upang mapatay ang base ng singilin kung kinakailangan)

Ilang 10mm at 4 mm na playwud para sa base

Sa kabuuan, kabilang ang playwud na ito ay hindi hihigit sa 70 €

Hakbang 1: Ang Bahagi ng Radyo ng 4703

Una, isang pagbabago:

Ang module ay dapat na gumamit ng headset cable bilang isang antena, sa aking proyekto, hindi ito kapaki-pakinabang, kaya magkakaroon muna kami ng isang maliit na pagbabago upang kumonekta at panlabas na antena

Sa modyul na ito ang 3 poles jack ground ay hindi konektado direkta sa lupa ngunit sa pamamagitan ng isang inductance (upang ihinto ang mga frequency ng FM) at isang capacitor upang ikonekta ang mga frequency ng FM sa input ng antena ng SI4703.

Kaya ang pinakamahusay na paraan ay upang ikonekta nang direkta ang antena sa ground pin ng jack at maghinang ng dalawang mga cable para sa audio ouput

Larawan
Larawan

Upang maiwasan ang anumang mga ingay sa audio (lalo na mula sa Bluetooth), inilalagay ko ang module ng FM sa isang maliit na kahon ng plastik na may kalasag na may tape na tanso na konektado sa lupa

Larawan
Larawan

Ang RDS / Radio Text protocol:

Una, nais kong pasalamatan si Nathan Seidle dahil buong inspirasyon ako ng kanyang programa na "TEST_FM" ng Hunyo 2011

At, tulad ng napagkasunduan, Masisiyahan ako na magbayad sa kanya ng serbesa, kung, isa sa mga araw na ito, nawala siya sa aking maliit na nayon sa malalim na dulo ng Brittany !!

Ginamit ko ang maraming programa niya dahil ayaw kong gamitin ang mga umiiral na aklatan na medyo malaki para sa mahirap na puwang ng memorya ng Nano at dahil din palaging mas mahusay na lumalim sa mga posibilidad ng isang bahagi sa pamamagitan ng direktang pag-dive sa ang mga rehistro

Ang pangunahing pagbabago na ginawa ko ay para sa botohan ng RDS

Sinamantala ko ang posibilidad upang mag-trigger ng isang interupt sa GPI02 pin sa pamamagitan ng pagtatakda ng RDSIEN bit at halaga ng GPIO2 sa 01

Ito ay magpapalitaw ng isang interupt sa pin 3 ng nano

Pinipigilan nito ang botohan ang rehistro ng RDS dahil ito ay magpapalitaw lamang sa programa ng Teksto ng Radyo kapag ang pangkat ng teksto ng radyo na 4 na char ay magagamit na walang mga error (hindi mode na verbose)

Upang magkaroon ng isang buong teksto sa radyo, dapat tayong magtipon ng halos 16 bloke ng 4 char's (nagrehistro sa RDSC / RDSB ng pangkat 2A o 2B). Naglagay ako ng maraming impormasyon sa programm upang maipaliwanag kung ano ang ginawa ko.

Narito ang isang paglalarawan ng rehistro ng Data para sa teksto ng Radyo (RDSSA / RDSC)

Larawan
Larawan

sa rehistro RDSSB (block 2)

Ipinapahiwatig ng Halaga 4 sa A3 / 0 (pangkat ng teksto)

Ipinapahiwatig ng B0 ang isang (64 char) o B (32 char) na teksto (sa hindi pa nakikita ang teksto ng B na ginagamit ………..)

Ang PT0 hanggang PT4 ay ang index ng 4 char's group (0 hanggang 15)

Ang PT5 ay dapat gamitin bilang tagapagpahiwatig ng teksto A / B (nangangahulugang "ito ay isang bagong teksto") ngunit hindi ito laging ginagamit tulad nito depende sa istasyon ng Radio, kaya't hindi ito magagamit para sa programang teksto sa Radio.

Ang 4 na char ng Teksto sa Radyo ay nasa RDSSC at RDSSD (block 3 at 4)

Pinapayuhan ko kayo na basahin ang napaka-kagiliw-giliw na dokumento tungkol sa RDS protocol sa SI4703 => AN243 mula sa Silicon labs

I-reset ko rin ang SKMODE bit sa rehistro ng POWERCFG (tingnan ang SI4703 datasheet) upang manatili sa saklaw ng frequency habang naghahanap ng mga channel

Ang pagbabasa ng datashhet ay makakatulong nang malaki upang maunawaan ang code at lahat ng mga pagrehistro ng paghawak

Hakbang 2: Ang Base sa Pagcha-charge

Ang Base sa Pagcha-charge
Ang Base sa Pagcha-charge
Ang Base sa Pagcha-charge
Ang Base sa Pagcha-charge
Ang Base sa Pagcha-charge
Ang Base sa Pagcha-charge

Hindi masyadong maraming mga bagay na maaaring idagdag

Mas mahusay magsalita ang mga larawan.

Nagdagdag lamang ng isang 1N5404 diod sa contact na 12 volts

1) upang maiwasan ang mga problema kung sakaling ang contact ng baterya ay hawakan ang contact na 12 volt kapag inilalagay ang radyo sa base (ngunit hindi ito nangyari)

2) upang mapababa ang antas ng boltahe hanggang 10.8 volt (mayroon ding diod sa motherboard) dahil ang MC7805 ay maaaring maging medyo mainit kapag pumupunta mula 12V hanggang 5 volt na may 1 Amp na kasalukuyang (I-screwed ang isang piraso ng bakal bilang heatsink on ang 7805)

Nagdagdag ako ng isang maliit na 3 x7 na mga segment na voltmeter upang ipahiwatig ang pag-load ng baterya

Ang aparato na ito ay may 3 wires upang mapababa ang pagkonsumo (higit sa 1 Mega Ohm sa mesurment wire) na nagbibigay-daan upang mapanatili ang radyo sa pinapatakbo na OFF na mahabang panahon nang hindi tinatanggal ang baterya

Larawan
Larawan

Ginagamit ang 2 lever switch upang patayin ang suplay ng AC kapag ang radio ay wala sa base (upang maiwasan ang pagkakaroon ng 12V sa mga contact)

Larawan
Larawan

Ang kahon ay gawa sa playwud (bago ang pagpipinta sa larawan) Pinayagan kitang isipin kung paano gumawa ng isang beautifull box dahil ang minahan ay hindi masyadong seksi !!!!!

Labis akong namangha ngunit tumatakbo nang maayos ang base ng singilin at hindi ako nagkaroon ng usok habang dumarating sa radyo dito ………….

Hakbang 3: Ang Kahon

Ang kahon
Ang kahon
Ang kahon
Ang kahon
Ang kahon
Ang kahon
Ang kahon
Ang kahon

Sa palagay ko dapat magkaroon ang sinuman na nais na gawin ang nais niyang sundin ang kanyang mga masining na kakayahan !!!!!

Kahit papaano ay ipapaliwanag ko sa ilang sandali kung paano ako makakapagtayo ng isang bagay na labis na kamukha ng isang toolbox

Ang harap at likuran ay pinutol sa 4 mm playwud na 15x45 cm

tuktok at ibaba ay 10 mm playwud 15x45 cm

Ang mga panig at ang 2 panloob na mga partisyon (2 2 mga lugar para sa HP at ang mga bahagi sa gitna ng isa) ay 10 mm na playwud 13x13 cm

Sa harap na panel gumawa ako ng 2 x10 cm na butas para sa HP at isang 14x14 square hole upang ipasok ang 15x15 2mm na organikong baso na pininturahan ko ng itim (pagdaragdag pagkatapos ng pagpipinta ng isang transparent na naka-print na sticker, ngunit hindi ito nababasa dahil sa itim kulay sa likod)

Gumawa ako ng 2 butas sa itaas:

isa para sa potentiometer ng Power Amp (upang ayusin ang antas kung kinakailangan) at gayundin, bilang output ng init

isa pa para sa antena

sa likurang panel gumawa ako ng 2 butas:

Isa para sa USB plug (direktang plug sa nano)

Isang 16mm para sa paglamig ng hangin (ang 14 mm na butas ng potensyomiter ng kuryente na Amp beeing sa itaas na output ng paglamig ng hangin)

ang hawakan ay gawa sa isang 12mm na tubong tanso na ipininta sa itim

Ang lahat ng mga bahagi ng larawan sa itaas ay matatagpuan ang lugar sa gitnang kompartimento (kalaunan kailangan kong ilagay ang mga baterya sa kaliwang kompartimento ng HP sapagkat ito ay malapit sa module ng HC06 BT sa pangunahing kompartimento)

Ayan yun

Syempre dapat mayroong isang bagay na mas seksi !!!!!

Hakbang 4: Ang Bahaging Arduino (eskematiko at Code)

Sinubukan kong maglagay ng maraming impormasyon hangga't maaari sa mga komento ng programa.

Ang ilan pang impormasyon

Ang pamamaraang Decode_TXT ay ginagamit ng parehong pamamaraan ng Bluetooth at pamamaraan ng paglipat

ang ilang mga keyword ay ginagamit ng parehong pamamaraan

v + => upang madagdagan ang dami

v- => upang babaan

f + => upang madagdagan ang dalas ng isang hakbang na 100 Khz

f- => upang mabawasan

su + => maghanap

sd - => humanap ka

prefu => taasan ang preselected na numero ng channel

prefd => pagbaba

hello => ipinadala ng Android APP sa panahon ng koneksyon sa bluetooth, ibabalik ng code ang katayuan ng radyo

bye => ipinadala ng APP nang magdiskonekta ang BT

pow => ipinadala ng radyo sa App sa mode ng power supply (sa base ng singilin)

bat => kapag nasa mode ng baterya

lb => ipinadala kapag ang antas ng baterya ay masyadong mababa (sa paligid ng 8 volt)

Ang komunikasyon sa Bluetooth ay na-secure ng isang control loop:

Sa tuwing nagpapadala ang FM radio ng isang impormasyon, nagsisimula ang isang timer na maghintay para sa "ok" na sagot ng android APP

sa kaso ng 3 mga error (nag-expire ang timer) ang link ng BT ay pinutol ng Radio. (pinuputol din nito ang link sa panig ng Android)

Sa kabila

Kapag nagpapadala ng isang utos ang App, naghihintay ito para sa sagot mula sa radyo upang magpadala ng isa pang utos.

Ang get_RT na pamamaraan ay inilunsad kapag ang flag ng RDS ay nakatakda (pagkatapos ng isang interupt sa pin 3)

narito ang code (link sa GithUB)

Ang mga iskema:

Ang pangunahing board ng FM radio (sa katunayan ang SI4703 ay hiwalay sa isang kahon na may kalasag):

Larawan
Larawan

Ang Front panel:

Larawan
Larawan

Ang batayan ng Pagsingil:

Larawan
Larawan

Ang mga link sa mga Fritzing file:

Pangunahing board ng FR RADIO

Front Panel

Batayan ng singilin

Hakbang 5: Ang Android App

Ang Android App
Ang Android App
Ang Android App
Ang Android App

Ginawa ng imbentor ng APP

narito ang mga link sa GitHub

Radio FM aia

Android APK

Gumagamit ang app ng 2 timer ng orasan:

1) para sa komunikasyon ng Bluetooth (100ms)

2) para sa flashing baterya na humantong kapag ang pag-load ay sa paligid ng 8 v (1000ms)

Para sa oras ng forst kailangan mong ipares ang module na HC06 sa iyong smartphone o tablet.

Ginagamit ko ang TinyDB para sa pag-save ng BT address ng module na HC06, ang unang koneksyon ang pindutan ng BT address ay paganahin at pipiliin mo ang HC06 sa listahan (para sa aking bahagi, pinalitan ko ng pangalan ang module na HC06 sa FM_RADIO)

Sa App hindi ko palaging ginagamit ang porsyento para sa laki ng elemento, kaya't maaaring may mga problema sa disply depende sa smartphone

Ang minahan ay isang Galaxy note 3 kaya malaking screen ……..

Kaya ginugol ko ang isang mahusay na oras sa pagtuklas ng maliit ngunit napaka mahusay na SI4703 na ito.

At kumuha ng maraming kasiyahan sa pagsusulat ng mga itinuturo na ito

Hanggang sa susunod kong proyekto

Paalam!!!

Inirerekumendang: