Talaan ng mga Nilalaman:
- Hakbang 1: Ang Bahagi ng Radyo ng 4703
- Hakbang 2: Ang Base sa Pagcha-charge
- Hakbang 3: Ang Kahon
- Hakbang 4: Ang Bahaging Arduino (eskematiko at Code)
- Hakbang 5: Ang Android App
Video: FM Radio With RDS (Radio Text), BT Control and Charging Base: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
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
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
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)
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
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
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)
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
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):
Ang Front panel:
Ang batayan ng Pagsingil:
Ang mga link sa mga Fritzing file:
Pangunahing board ng FR RADIO
Front Panel
Batayan ng singilin
Hakbang 5: 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:
UChip - Simple Sketch to Remote Control Motors And / or Servos Via 2.4GHz Radio Tx-Rx !: 3 Hakbang
UChip - Simple Sketch to Remote Control Motors And / or Servos Via 2.4GHz Radio Tx-Rx !: I really like the RC world. Ang paggamit ng isang laruang RC ay magbibigay sa iyo ng pakiramdam na ikaw ay may kontrol sa isang bagay na pambihira, sa kabila ng pagiging isang maliit na bangka, kotse o drone! Gayunpaman, hindi madaling ipasadya ang iyong mga laruan at gawin silang nais mo
Bolt - DIY Wireless Charging Night Clock (6 Hakbang): 6 Hakbang (na may Mga Larawan)
Bolt - DIY Wireless Charging Night Clock (6 Hakbang): Ang mga inductive chargings (kilala rin bilang wireless charge o cordless charge) ay isang uri ng wireless power transfer. Gumagamit ito ng electromagnetic induction upang magbigay ng elektrisidad sa mga portable device. Ang pinaka-karaniwang application ay ang Qi wireless singilin st
Arduino Base Pick and Place Robot: 8 Hakbang
Arduino Base Pick and Place Robot: Gumawa ako ng napakurang (mas mababa sa 1000 dolyar) na pang-industriya na braso ng robot upang paganahin ang mga mag-aaral na mag-hack ng mas malaking scale na robot at upang paganahin ang maliliit na lokal na produksyon na gumamit ng mga robot sa kanilang mga proseso nang hindi sinisira ang bangko. Napakadaling itayo at gawin ang
Paano Magamit ang Si4703 FM Radio Board Na May RDS - Arduino Tutorial: 5 Hakbang (na may Mga Larawan)
Paano Magamit ang Si4703 FM Radio Board Na May RDS - Arduino Tutorial: Ito ay isang board ng pagsusuri para sa Silicon Laboratories Si4703 FM tuner chip. Higit pa sa isang simpleng FM radio, ang Si4703 ay may kakayahang makita at maproseso ang parehong impormasyon sa Data Radio (RDS) at impormasyon sa Radio Broadcast Data Service (RBDS). T
Logitech MX-Revolution Charging Base Accent Lighting: 6 Mga Hakbang
Logitech MX-Revolution Charging Base Accent Lighting: Ipagpapaliwanag sa iyo ng tutorial na ito kung paano madaling magdagdag ng pag-iilaw ng accent sa iyong dock na pagsingil ng Logitech MX Revolution. Kailangan ng mga item: Drill-Gumamit ng isang drill na may hindi bababa sa 1000 rpms. Ang isang mas mabagal na drill ay magbibigay sa iyo ng hindi pantay na sanding / buffing Drill bits-ginamit ko ang 1 / 8th