Indholdsfortegnelse:
- Trin 1: 4703 radiodelen
- Trin 2: Opladningsbasen
- Trin 3: Kassen
- Trin 4: Arduino -delen (skemaer og kode)
- Trin 5: Android -appen
Video: FM -radio med RDS (radiotekst), BT -kontrol og opladningsbase: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Bonjour, Dette er mit andet "Instructables". Da jeg kan lide at lave ikke særlig nyttige ting, er her mit sidste projekt:
Dette er en FM -radio med radiotekst med en opladningsbase, og som kan overvåges via Bluetooth og en Android APP
Derfor vil jeg præsentere dig, Arduino -delen, Radio Text -delen og derefter MIT App -opfinderdelen (Dette er den eneste måde, jeg er dygtig nok til at bygge og Android APP)
Med en forsyningsspænding på 10; 8 volt med vekselstrømforsyning og 9,6 med batteri er den maksimale effekt 2x 1,5/1,25 watt RMS, hvilket er bredt nok
RMS (root mean square) effekt er den virkelige effekt ikke som de andre store tal, der sælges som wattmusik eller spidseffekt eller andet)
Jeg gætter på, at 1,5 Watt RMS kan sælges som 8 Watt i nogle butikker !!!!!!
Først de nødvendige komponenter:
Hovedbestyrelse:
1x Arduino Nano
1x FM -radiomodul SI4703 fra Sparkfun eller tilsvarende (5v drevet og 3,3V I2C med et 3 -polet stik, der kan bruges som antenne)
1x HC-06 Bluetooth-modul (advarsel om den nye softwareversion 3.0 har en række forskellige kommandoer sat (jeg sætter nogle kommentarer i koden).
1x 4 -kanals niveauskifter 3,3 5 V
1x MC7805 5v DC -konverter
1x 2200 µF 25V kondensator
2x 1N5404 3 Amp dioder
2x 2N2222 transistorer
1x 1Kohm modstand
1x 47 Ohm modstand
2x 3,3 KOhm modstande (til I2C bus pull-up)
3x 330 Ohm modstande (til LED'erne)
2x 6,8 KOhm modstande
1x 3,9 KOhm modstand
Frontpanel
1x 20X4 LCD I2C bus
10x 680 Ohm modstande
1x Rød LED (jeg havde ikke mere grøn !!) til strømforsyningen
1x gul LED til batteritilstand
1x Blå LED til BT -tilslutning
4x (ON) -OFF- (ON) kontakter (som for en el-bilrude)
2x trykknapper
1x TÆND/SLUK -kontakt
Andre komponenter til radioen:
2x 100W 10CM 8 Ohm HP
1x 1m udtrækkelig antenne (ca. 75 cm er den gode længde for FM i Europa og USA)
1x telefonstik, som jeg brugte til at lave kontakterne til opladningsbasen
1x 1N5404 3 Amp diod (på batterikontakten for at undgå røg i tilfælde af rod med jorden eller 12V kontakt)
1x 2X20 watt effektforstærker (enhver stereoforstærker vil passe så længe den er 12V) baseret på TDA2020 købt for 4 Euro
1x 8XAA batterikobling (for at have min 9,6V)
Nogle 10 mm og 4 mm krydsfiner til kassen
Opladningsbase:
1x 12V 3Amp Strømforsyning
1x lille 3 cifret /3 leders voltmeter
3 kontakter (lavet med telefonstikket)
1x 1N5404 3 Amp diod (på 12V kontakten)
2 håndtagskontakter (for at tænde for vekselstrømforsyningen, når radioen er på ladestationen)
1x ON/OFF -kontakt (for at slukke for ladestationen, hvis det er nødvendigt)
Nogle 10 mm og 4 mm krydsfiner til basen
Alt i alt, inklusive krydsfiner, er det ikke mere end 70 €
Trin 1: 4703 radiodelen
Først en ændring:
Modulet formodes at bruge headset -kablet som en antenne, i mit projekt er det ikke nyttigt, så vi bliver først nødt til at foretage en lille ændring for at tilslutte og ekstern antenne
I dette modul er 3 -polet jack -jorden ikke forbundet direkte til jorden, men via en induktans (for at stoppe FM -frekvenser) og en kondensator til at forbinde FM -frekvenserne til antenneindgangen på SI4703.
Så den bedste måde er at tilslutte antennen direkte til jordstikket på stikket og lodde to kabler til lydudgangen
For at forhindre lyde i lyden (især fra Bluetooth) lagde jeg FM -modulet i en lille plastkasse afskærmet med kobberbånd tilsluttet jorden
RDS/radiotekstprotokollen:
Først vil jeg takke Nathan Seidle, da jeg blev fuldt inspireret af hans program "TEST_FM" fra juni 2011
Og som aftalt vil jeg meget gerne betale ham en øl, hvis han en af disse dage går tabt i min lille landsby i den dybe ende af Bretagne !!
Jeg brugte meget af hans program, da jeg ikke ville bruge de eksisterende biblioteker, der er lidt for store til det dårlige Nano -hukommelsesrum, og også fordi det altid er bedre at gå dybt ind i mulighederne for en komponent ved at dykke direkte i registre
Den vigtigste ændring, jeg foretog, er for RDS -afstemningen
Jeg udnyttede muligheden for at udløse et afbrydelse på GPI02 -pin ved at indstille RDSIEN -bit og GPIO2 -værdien til 01
Dette vil udløse et afbrud på pin 3 på nano'en
Dette forhindrer i at polle RDS -registret, da det kun vil udløse radiotekstprogrammet, når 4 -tegns gruppe radiotekst er tilgængelig uden fejl (ikke -verbose tilstand)
For at have en fuld radiotekst skal vi højst samle 16 blokke med 4 tegn (registrerer RDSC/RDSB i gruppe 2A eller 2B). Jeg lagde mange oplysninger i programmet for at forklare, hvad jeg gjorde.
Her er en beskrivelse af dataregistre for radiotekst (RDSSA/RDSC)
i register RDSSB (blok 2)
Værdi 4 i A3/0 angiver (tekstgruppe)
B0 angiver A (64 tegn) eller B (32 tegn) tekst (har aldrig set B -tekst i brug ………..)
PT0 til PT4 er indekset for 4 char's gruppe (0 til 15)
PT5 bør bruges som tekst A/B -indikator (hvilket betyder "dette er en ny tekst"), men det bruges ikke altid på denne måde afhængigt af radiostationen, så det kan ikke bruges til radiotekstprogrammet.
4 tegn af radioteksten er i RDSSC og RDSSD (blok 3 og 4)
Jeg råder dig til at læse det meget interessante dokument vedrørende RDS -protokol i SI4703 => AN243 fra Silicon labs
Jeg nulstillede også SKMODE -bit i POWERCFG -registeret (se SI4703 -databladet) for at blive inden for frekvensområdet, mens jeg søgte kanaler
At læse datashhet vil hjælpe meget med at forstå koden og alle registrehåndteringer
Trin 2: Opladningsbasen
Ikke særlig mange ting at tilføje
Billederne kan tale bedre.
Tilføjede lige en 1N5404 diod på 12 volt kontakten
1) for at undgå problemer, hvis batterikontakt rører ved 12 volt kontakten, når du sætter radioen på basen (men det skete aldrig)
2) for at sænke spændingsniveauet til 10,8 volt (der er også en diod på bundkortet), da MC7805 kan blive lidt varm, når den går fra 12V til 5 volt med 1 Amp -strøm (jeg skruede et stykke jern som køleplade på 7805)
Jeg tilføjede et lille voltmeter på 3 x 7 segmenter for at angive batteriets belastning
Denne enhed er med 3 ledninger for at reducere forbruget (mere end 1 Mega Ohm på målingskablet), som gør det muligt at holde radioen på den slukkede base i lang tid uden at aflade batteriet
2 håndtagskontakter bruges til at slukke for vekselstrømforsyningen, når radioen er fra basen (for at undgå at have 12V på kontakterne)
Boksen er lavet med krydsfiner (før maling på billedet) Jeg lader dig forestille dig, hvordan du laver en smuk kasse, da min ikke er særlig sexet !!!!!
Jeg var meget overrasket, men ladestationen kører godt, og jeg havde aldrig røg, mens jeg landede radioen på den ………….
Trin 3: Kassen
Jeg tror, at nogen gerne vil gøre som han vil efter hans kunstneriske kapacitet !!!!!
Under alle omstændigheder vil jeg snart forklare, hvordan jeg kunne bygge noget, der frygteligt ligner en værktøjskasse
For og bag er skåret i 4 mm krydsfiner 15x45 cm
top og bund er 10 mm krydsfiner 15x45 cm
Siderne og de 2 indvendige skillevægge (2 2 pladser til HP og komponenterne i den midterste) er 10 mm krydsfiner 13x13 cm
På frontpanelet lavede jeg 2 x 10 cm huller til HP'en og et 14x14 firkantet hul for at indsætte det 15x15 2 mm organiske glas, som jeg malede i sort (tilføjelse efter at have malet et gennemsigtigt trykt klistermærke på, men det er ikke så læsbart på grund af det sorte farve bagved)
Jeg lavede 2 huller på toppen:
en til potentiometeret på effektforstærkeren (for at justere niveauet om nødvendigt) og også som varmeeffekt
en anden til antennen
på bagpanelet lavede jeg 2 huller:
En til USB -stikket (stik direkte på nano)
Én 16 mm til luftkøling (14 mm hul på potentiometeret på effektforstærkeren er den øvre luftkølingseffekt)
håndtaget er lavet af et 12 mm kobberrør malet i sort
Alle komponenterne på billedet ovenfor finder plads i det centrale rum (senere måtte jeg lægge batterierne i det venstre HP -rum, fordi det var for tæt på HC06 BT -modulet i hovedrummet)
Det er det
Selvfølgelig må der være noget mere sexet !!!!!
Trin 4: Arduino -delen (skemaer og kode)
Jeg forsøgte at lægge så mange oplysninger som muligt i kommentarerne til programmet.
Noget mere information
Decode_TXT -proceduren bruges af både Bluetooth -procedure og switch -procedure
nogle søgeord bruges af begge procedurer
v+ => for at øge lydstyrken
v- => for at sænke
f+ => for at øge frekvensen af et trin på 100 Khz
f- => for at reducere
su+=> søg op
sd-=> søge ned
prefu => forøg det forvalgte kanalnummer
prefd => fald
hej => sendt af Android APP under bluetooth -forbindelse, koden sender status for radioen tilbage
farvel => sendt af appen, når BT afbryder forbindelsen
pow => sendt af radioen til App i strømforsyningstilstand (på ladestationen)
bat => i batteritilstand
lb => sendes når batteriniveauet er for lavt (ca. 8 volt)
Bluetooth -kommunikation er sikret med en kontrol loop:
Hver gang FM -radioen sender en information, startes en timer og venter på det "ok" svar fra Android APP
i tilfælde af 3 fejl (timeren er udløbet) afbrydes BT -linket af radioen. (dette skærer også linket på Android side)
På den anden side
Når App sender en kommando, venter den på svaret fra radioen for at sende en anden kommando.
Get_RT -proceduren startes, når RDS -flag er indstillet (efter et afbrud på pin 3)
her er koden (link til GITHUB)
Skemaerne:
FM -radioens hovedkort (faktisk er SI4703 adskilt i en afskærmet kasse):
Frontpanelet:
Opladningsbasen:
Linkene til Fritzing -filerne:
FR RADIO hovedkort
Frontpanel
Opladningsbase
Trin 5: Android -appen
Lavet med APP opfinder
her er linkene til GitHub
Radio FM aia
Android APK
Appen bruger 2 ur -timere:
1) til bluetooth -kommunikation (100 ms)
2) til blinkende batteri, når belastningen er omkring 8 v (1000 ms)
For første gang skal du parre HC06 -modulet med din smartphone eller tablet.
Jeg bruger TinyDB til at gemme BT -adressen på HC06 -modulet, den første forbindelse, BT -adresse -knappen aktiveres, og du bliver nødt til at vælge HC06 på listen (for mit vedkommende omdøbte jeg HC06 -modulet til FM_RADIO)
I appen brugte jeg ikke altid procentdelen til elementets størrelse, så der kan være så store problemer afhængigt af smartphonen
Min er en Galaxy note 3, så ret stor skærm ……..
Så jeg brugte god tid på at opdage denne lille, men meget effektive SI4703.
Og havde stor glæde af at skrive denne instruktør
Op til mit næste projekt
På gensyn!!!
Anbefalede:
Alle båndmodtagere med SI4732 / SI4735 (FM / RDS, AM og SSB) med Arduino: 3 trin
Alle båndmodtagere med SI4732 / SI4735 (FM / RDS, AM og SSB) Med Arduino: Det er et all band -modtagerprojekt. Det bruger Si4734 Arduino -biblioteket. Dette bibliotek har mere end 20 eksempler. Du kan lytte til FM med RDS, lokal AM (MW) station, SW og amatørradiostationer (SSB). Al dokumentation her
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores
Sådan bruges Si4703 FM -radiokortet med RDS - Arduino -vejledning: 5 trin (med billeder)
Sådan bruges Si4703 FM -radiokort med RDS - Arduino -vejledning: Dette er et evalueringskort til Silicon Laboratories Si4703 FM -tunerchip. Udover at være en simpel FM -radio, er Si4703 også i stand til at registrere og behandle både Radio Data Service (RDS) og Radio Broadcast Data Service (RBDS) oplysninger. T
Logitech MX-Revolution opladningsbase Accentbelysning: 6 trin
Logitech MX-Revolution Charging Base Accent Lighting: Denne vejledning forklarer dig, hvordan du nemt tilføjer accentbelysning til din Logitech MX Revolution-ladestation. Nødvendige emner: Bor-Brug en boremaskine med mindst 1000 o / min. En langsommere boremaskine giver dig ujævn slibning/polering af bor-jeg brugte en 1/8