Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Bună ziua, Acesta este al doilea meu "Instructables". Deoarece îmi place să fac lucruri nu foarte utile, iată ultimul meu proiect:
Acesta este un radio FM cu Radio Text cu o bază de încărcare și care poate fi monitorizat prin Bluetooth și o aplicație Android
Prin urmare, vă voi prezenta partea Arduino, partea Radio Text și apoi partea inventatoare a aplicației MIT (Acesta este singurul mod în care sunt suficient de priceput să construiesc și Android APP)
Cu o tensiune de alimentare de 10; 8 volți cu alimentare CA și 9,6 cu baterie, puterea maximă este de 2x 1,5 / 1,25 wați RMS, care este suficient de largă
Puterea RMS (rădăcină medie pătrată) este puterea reală, nu ca celelalte numere mari care sunt vândute ca muzica watt sau puterea de vârf sau orice altceva)
Cred că 1,5 Watt RMS poate fi vândut ca 8 Watt în unele magazine !!!!!!
Mai întâi componentele necesare:
Consiliul principal:
1x Arduino Nano
1x modul radio FM SI4703 de la Sparkfun sau echivalent (alimentat de 5v și I2C de 3,3V cu un jack cu 3 poli care poate fi folosit ca antenă)
1x modul Bluetooth HC-06 (avertizând noua versiune de software 3.0 au seturi de comenzi total diferite (am pus câteva comentarii în cod).
1x schimbător de nivel cu 4 canale 3.3 5 V
1x convertor de curent continuu MC7805 5v
1x condensator 2200 µF 25V
2x 1N5404 diode de 3 Amp
2x tranzistoare 2N2222
1x rezistor de 1 Kohm
1x rezistor de 47 Ohm
2 rezistențe de 3,3 KOhm (pentru extragerea autobuzului I2C)
3x rezistențe de 330 Ohm (pentru led)
2x rezistențe 6,8 KOhm
1x rezistor de 3,9 KOhm
Panoul frontal
1x 20X4 LCD I2C autobuz
Rezistoare 10x 680 Ohm
1x LED roșu (nu mai aveam verde !!) pentru sursa de alimentare
1x LED galben pentru modul baterie
1x LED albastru pentru conexiunea BT
4x (ON) -OFF- (ON) comutatoare (ca pentru o fereastră electrică pentru mașină)
2 butoane
1x comutator ON / OFF
Alte componente pentru radio:
2x 100W 10CM 8 Ohm HP
1x antenă extensibilă de 1m (aproximativ 75 cm este lungimea bună pentru FM în Europa și SUA)
1 x mufă de telefon pe care am folosit-o pentru a face contactele pentru baza de încărcare
1x 1N5404 diodă de 3 Amp (pe contactul bateriei pentru a evita fumul în caz de mizerie cu solul sau contactul de 12V)
1x Amplificator de putere de 2X20 wați (orice amplificator stereo se va potrivi atât timp cât este 12V) pe baza TDA2020 cumpărat cu 4 euro
1 x cuplaj baterie 8XAA (pentru a avea minimum 9,6 V)
Unele placaje de 10 mm și 4 mm pentru cutie
Baza de încărcare:
1x 12V 3Amp Sursa de alimentare
1x voltmetru mic de 3 cifre / 3 fire
3 contacte (realizate cu mufa telefonului)
1x 1N5404 diodă de 3 Amperi (pe contactul de 12V)
2 comutatoare cu pârghie (pentru a porni alimentarea cu curent alternativ când radioul este pe baza de încărcare)
1x comutator ON / OFF (pentru a opri baza de încărcare, dacă este necesar)
Câteva placaje de 10 mm și 4 mm pentru bază
În total, inclusiv placaj, nu depășește 70 €
Pasul 1: Partea radio 4703
În primul rând, o modificare:
Modulul ar trebui să utilizeze cablul căștii ca antenă, în proiectul meu, nu este util, așa că va trebui mai întâi să facem o mică modificare pentru a ne conecta și a antenei externe
În acest modul, masa de 3 poli nu este conectată direct la masă, ci printr-o inductanță (pentru a opri frecvențele FM) și un condensator pentru a conecta frecvențele FM la intrarea antenei SI4703.
Deci, cel mai bun mod este să conectați direct antena la pinul de la sol al mufei și să lipiți două cabluri pentru ieșirea audio
Pentru a preveni zgomotele din sunet (în special din Bluetooth), am pus modulul FM într-o cutie mică din plastic ecranată cu bandă de cupru conectată la sol
Protocolul RDS / Radio Text:
Mai întâi, vreau să îi mulțumesc lui Nathan Seidle, deoarece am fost pe deplin inspirat de programul său „TEST_FM” din iunie 2011
Și, după cum am convenit, voi fi foarte fericit să-i plătesc o bere, dacă, într-una din aceste zile, el se pierde în micul meu sat din capătul adânc al Bretaniei !!
Am folosit o mulțime de programe pentru că nu am vrut să folosesc bibliotecile existente, care sunt puțin prea mari pentru spațiul de memorie Nano sărac și, de asemenea, pentru că este întotdeauna mai bine să aprofundezi posibilitățile unei componente, scufundându-te direct în registrele
Principala modificare pe care am făcut-o este pentru sondajul RDS
Am profitat de posibilitatea de a declanșa o interupt pe pinul GPI02 prin setarea bitului RDSIEN și a valorii GPIO2 la 01
Acest lucru va declanșa o interupție pe pinul 3 al nano-ului
Acest lucru împiedică interogarea registrului RDS, deoarece va declanșa programul Radio Text numai atunci când grupul de 4 caractere al textului radio este disponibil fără erori (modul non-detaliat)
Pentru a avea un text radio complet, trebuie să adunăm cel mult 16 blocuri de 4 caractere (înregistrează RDSC / RDSB din grupul 2A sau 2B). Am pus o mulțime de informații în program pentru a explica ce am făcut.
Iată o descriere a registrelor de date pentru textul radio (RDSSA / RDSC)
in registru RDSSB (bloc 2)
Valoarea 4 din A3 / 0 indică (grup de text)
B0 indică textul A (64 de caractere) sau B (32 de caractere) (în care nu am văzut niciodată textul B în uz ………..)
PT0 la PT4 este indicele grupului de 4 caractere (0 la 15)
PT5 ar trebui folosit ca indicator de text A / B (adică „acesta este un text nou”), dar nu este întotdeauna folosit în funcție de postul de radio, deci nu este utilizabil pentru programul de text Radio.
4 caractere ale textului radio sunt în RDSSC și RDSSD (blocurile 3 și 4)
Vă sfătuiesc să citiți documentul foarte interesant privind protocolul RDS în SI4703 => AN243 din laboratoarele Silicon
De asemenea, am resetat bitul SKMODE în registrul POWERCFG (vezi fișa tehnică SI4703) pentru a rămâne în intervalul de frecvență în timp ce căutam canale
Citirea datei va ajuta foarte mult să înțelegeți codul și toate gestionările registrelor
Pasul 2: baza de încărcare
Nu prea multe lucruri de adăugat
Pozele pot vorbi mai bine.
Tocmai am adăugat o diodă 1N5404 la contactul de 12 volți
1) pentru a evita probleme în cazul în care contactul bateriei atinge contactul de 12 volți când puneți radioul pe bază (dar nu s-a întâmplat niciodată)
2) pentru a scădea nivelul de tensiune la 10,8 volți (există și o diodă pe placa de bază) deoarece MC7805 poate deveni puțin fierbinte când mergeți de la 12V la 5 volți cu curent de 1 Amp (am înșurubat o bucată de fier ca radiator pe 7805)
Am adăugat un voltmetru mic de 3 x7 segmente pentru a indica încărcarea bateriei
Acest dispozitiv are 3 fire pentru a reduce consumul (mai mult de 1 Mega Ohm pe firul de măsurare), ceea ce permite menținerea radioului pe baza OPRIT alimentată mult timp fără a descărca bateria
2 comutatoare cu pârghie sunt utilizate pentru a opri alimentarea cu curent alternativ atunci când radioul este oprit de la bază (pentru a evita 12V la contacte)
Cutia este realizată cu placaj (înainte de a picta pe imagine) vă las să vă imaginați cum să faceți o cutie frumoasă, deoarece a mea nu este foarte sexy !!!!!
Am fost foarte uimit, dar baza de încărcare funcționează bine și nu am fumat niciodată în timp ce aterizam radioul pe ea ……..
Pasul 3: Cutia
Cred că oricui ar trebui să facă cum vrea el urmărindu-și capacitățile artistice !!!!!
Oricum voi explica în scurt timp cum aș putea construi ceva care arată teribil ca o cutie de instrumente
Fața și spatele sunt tăiate în placaj de 4 mm 15x45 cm
partea superioară și inferioară sunt placaj de 10 mm 15x45 cm
Laturile și cele 2 partiții interioare (2 2 locuri pentru HP și componentele din mijloc) sunt placaj de 10 mm 13x13 cm
Pe panoul frontal am făcut 2 găuri de 10 x 10 cm pentru HP și o gaură pătrată de 14 x 14 pentru a introduce sticla organică de 15 x 15 2 mm pe care am vopsit-o în negru (adăugând după ce am vopsit un autocolant transparent imprimat, dar nu este atât de lizibil din cauza culorii negre culoare in spate)
Am făcut 2 găuri pe partea de sus:
una pentru potențiometrul amplificatorului de putere (pentru a regla nivelul, dacă este necesar) și, de asemenea, ca putere termică
alta pentru antena
pe panoul din spate am făcut 2 găuri:
Unul pentru mufa USB (conectare directă la nano)
Un 16 mm pentru răcirea cu aer (orificiul de 14 mm al potențiometrului amplificatorului de putere la ieșirea superioară de răcire a aerului)
mânerul este realizat dintr-un tub de cupru de 12 mm vopsit în negru
Toate componentele imaginii de mai sus își găsesc loc în compartimentul central (mai târziu a trebuit să pun bateriile în compartimentul HP din stânga deoarece era prea aproape de modulul HC06 BT din compartimentul principal)
Asta e
Sigur că trebuie să fie ceva mai sexy !!!!!
Pasul 4: partea Arduino (schemă și cod)
Am încercat să pun cât mai multe informații în comentariile programului.
Mai multe informații
Procedura Decode_TXT este utilizată atât de procedura Bluetooth, cât și de procedura de comutare
unele cuvinte cheie sunt utilizate de ambele proceduri
v + => pentru a mări volumul
v- => a coborî
f + => pentru a crește frecvența unui pas de 100 Khz
f- => a scădea
su + => căutați
sd - => caută
prefu => crește numărul canalului preselectat
prefd => scădere
salut => trimis de aplicația Android în timpul conexiunii bluetooth, codul trimite înapoi starea radioului
pa = = trimis de APP când BT se deconectează
pow => trimis de radio către aplicație în modul de alimentare cu energie (pe baza de încărcare)
bat => când este în modul baterie
lb => trimis când nivelul bateriei este prea scăzut (aproximativ 8 volți)
Comunicarea Bluetooth este asigurată de o buclă de control:
De fiecare dată când radioul FM trimite o informație, se pornește un cronometru care așteaptă răspunsul „ok” de către aplicația Android
în cazul a 3 erori (temporizatorul a expirat), legătura BT este tăiată de radio. (aceasta taie și linkul de pe partea Android)
Pe de altă parte
Când aplicația trimite o comandă, așteaptă răspunsul de la radio pentru a trimite o altă comandă.
Procedura get_RT este lansată când este setat semnalizatorul RDS (după o interupt pe pinul 3)
aici este codul (link către GITHUB)
Schema:
Placa principală radio FM (de fapt SI4703 este separată într-o cutie ecranată):
Panoul frontal:
Baza de încărcare:
Linkurile către fișierele Fritzing:
Placa principală FR RADIO
Panoul frontal
Baza de încărcare
Pasul 5: aplicația Android
Realizat cu inventatorul APP
aici sunt linkurile către GitHub
Radio FM aia
APK Android
Aplicația folosește 2 temporizatoare de ceas:
1) pentru comunicarea bluetooth (100 ms)
2) pentru ledul bateriei intermitent atunci când sarcina este în jur de 8 v (1000 ms)
Pentru prima dată va trebui să împerecheați modulul HC06 cu smartphone-ul sau tableta.
Folosesc TinyDB pentru salvarea adresei BT a modulului HC06, prima conexiune butonul de adresă BT va fi activat și va trebui să alegeți HC06 din listă (la rândul meu, am redenumit modulul HC06 în FM_RADIO)
În aplicație nu am folosit întotdeauna procentul pentru dimensiunea elementului, deci ar putea exista atât de multe probleme în funcție de smartphone
Al meu este un Galaxy Note 3, deci un ecran destul de mare ……..
Așa că am petrecut un timp bun descoperind acest mic, dar foarte eficient SI4703.
Și mi-a făcut multă plăcere scriind acest instructable
Până la următorul meu proiect
La revedere!!!