Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Bonjour, Dies ist mein zweites "Instructables". Da ich nicht sehr nützliche Dinge mache, ist hier mein letztes Projekt:
Dies ist ein UKW-Radio mit Radiotext mit Ladestation, das über Bluetooth und eine Android-APP überwacht werden kann
Deshalb werde ich Ihnen den Arduino-Teil, den Radiotext-Teil und dann den MIT-App-Erfinder-Teil vorstellen (Nur so bin ich geschickt genug, um eine Android-App zu bauen)
Bei einer Versorgungsspannung von 10,8 Volt mit AC-Versorgung und 9,6 Volt mit Batterie beträgt die maximale Leistung 2x 1,5/1,25 Watt RMS, was weit genug ist
RMS (root mean square) Leistung ist die tatsächliche Leistung, nicht wie die anderen großen Zahlen, die wie Wattmusik oder Spitzenleistung oder irgendetwas anderes verkauft werden)
Ich schätze, 1,5 Watt RMS können in einigen Geschäften als 8 Watt verkauft werden!!!!!!
Zuerst die benötigten Komponenten:
Hauptplatine:
1x Arduino Nano
1x FM-Radiomodul SI4703 von Sparkfun oder gleichwertig (5V mit Strom versorgt und 3,3V I2C mit einer 3-poligen Buchse, die als Antenne verwendet werden kann)
1x HC-06 Bluetooth-Modul (Achtung, die neue Softwareversion 3.0 hat einen ganz anderen Befehlssatz (ich habe einige Kommentare in den Code eingefügt).
1x 4Kanal Levelshifter 3,3 5 V
1x MC7805 5V DC-Wandler
1x 2200 µF 25V Kondensator
2x 1N5404 3 Ampere Dioden
2x 2N2222 Transistoren
1x 1Kohm Widerstand
1x 47 Ohm Widerstand
2x 3,3 KOhm Widerstände (für I2C Bus Pull-Up)
3x 330 Ohm Widerstände (für die LEDs)
2x 6,8 KOhm Widerstände
1x 3,9 KOhm Widerstand
Frontblende
1x 20X4 LCD I2C-Bus
10x 680 Ohm Widerstände
1x Rote LED (hatte kein Grün mehr!!) für die Stromversorgung
1x Gelbe LED für den Akkumodus
1x blaue LED für die BT-Verbindung
4x (ON)-OFF-(ON) Schalter (wie bei einem Elektroauto-Fenster)
2x Druckknöpfe
1x EIN/AUS-Schalter
Andere Komponenten für das Radio:
2x 100W 10CM 8 Ohm HP
1x 1m ausziehbare Antenne (ca. 75 cm ist die gute Länge für UKW in Europa und den USA)
1x Telefonstecker, mit dem ich die Kontakte für die Ladestation hergestellt habe
1x 1N5404 3 Ampere Diode (am Batteriekontakt zur Vermeidung von Rauchentwicklung bei Verwechslung mit Masse oder 12V Kontakt)
1x 2X20 Watt Endstufe (jeder Stereoverstärker passt, solange es 12V ist) basierend auf TDA2020 für 4 Euro gekauft
1x 8XAA Batteriekoppler (mindestens 9,6V)
Etwas 10 mm und 4 mm Sperrholz für die Box
Ladestation:
1x 12V 3A Netzteil
1x kleines 3-stelliges/3-Draht-Voltmeter
3 Kontakte (aus dem Telefonstecker hergestellt)
1x 1N5404 3 Ampere Diode (am 12V Kontakt)
2 Hebelschalter (um das Netzteil einzuschalten, wenn das Radio auf der Ladestation steht)
1x EIN/AUS-Schalter (um die Ladestation bei Bedarf auszuschalten)
Etwas 10 mm und 4 mm Sperrholz für den Sockel
Insgesamt, inklusive Sperrholz, sind es nicht mehr als 70€
Schritt 1: Das 4703 Radioteil
Zuerst eine Modifikation:
Das Modul soll das Headsetkabel als Antenne verwenden, in meinem Projekt ist es nicht sinnvoll, daher müssen wir zuerst eine kleine Modifikation vornehmen, um eine externe Antenne anzuschließen
Bei diesem Modul ist die 3-polige Klinkenmasse nicht direkt mit Masse verbunden, sondern über eine Induktivität (zum Stoppen der FM-Frequenzen) und einen Kondensator zum Anschluss der FM-Frequenzen an den Antenneneingang des SI4703.
Also am besten direkt die Antenne mit dem Massepin der Buchse verbinden und zwei Kabel für den Audioausgang anlöten
Um Geräusche im Audio (insbesondere von Bluetooth) zu vermeiden, habe ich das FM-Modul in eine kleine Plastikbox gesteckt, die mit Kupferband abgeschirmt ist und mit Masse verbunden ist
Das RDS/Radiotext-Protokoll:
Zuerst möchte ich Nathan Seidle danken, da ich von seinem Programm "TEST_FM" vom Juni 2011 voll begeistert war
Und wie vereinbart zahle ich ihm sehr gerne ein Bier, wenn er sich eines Tages in meinem kleinen Dorf im tiefen Ende der Bretagne verirrt!!
Ich habe viel von seinem Programm verwendet, da ich die vorhandenen Bibliotheken, die für den schlechten Nano-Speicherplatz etwas zu groß sind, nicht verwenden wollte und auch weil es immer besser ist, tief in die Möglichkeiten einer Komponente einzutauchen, indem man direkt eintaucht die Register
Die wichtigste Änderung, die ich vorgenommen habe, betrifft die RDS-Abfrage
Ich habe die Möglichkeit genutzt, einen Interrupt am GPI02-Pin auszulösen, indem ich das RDSIEN-Bit und den GPIO2-Wert auf 01. gesetzt habe
Dies löst eine Unterbrechung an Pin 3 des Nano aus
Dies verhindert das Abfragen des RDS-Registers, da es das Radiotext-Programm nur dann auslöst, wenn die Radiotextgruppe der 4 Zeichen fehlerfrei verfügbar ist (nicht ausführlicher Modus).
Um einen vollständigen Radiotext zu haben, müssen wir höchstens 16 Blöcke mit 4 Zeichen (Register RDSC/RDSB der Gruppe 2A oder 2B) sammeln. Ich habe viele Informationen in das Programm eingefügt, um zu erklären, was ich getan habe.
Hier ist eine Beschreibung der Datenregister für Radiotext (RDSSA/RDSC)
im Register RDSSB (Block 2)
Wert 4 in A3/0 gibt an (Textgruppe)
B0 steht für A (64 Zeichen) oder B (32 Zeichen) Text (in noch nie B-Text in Gebrauch gesehen………..)
PT0 bis PT4 ist der Index der 4 Zeichengruppe (0 bis 15)
PT5 sollte als Text-A/B-Anzeige verwendet werden (bedeutet "Dies ist ein neuer Text"), wird jedoch je nach Radiosender nicht immer so verwendet und kann daher nicht für das Radiotextprogramm verwendet werden.
4 Zeichen des Radiotextes sind in RDSSC und RDSSD (Block 3 und 4)
Ich empfehle Ihnen, das sehr interessante Dokument zum RDS-Protokoll in SI4703 =>AN243 von Silicon Labs zu lesen
Ich habe auch das SKMODE-Bit im POWERCFG-Register zurückgesetzt (siehe SI4703-Datenblatt), um bei der Suche nach Kanälen im Frequenzbereich zu bleiben
Das Lesen von Datashhet wird sehr helfen, den Code und alle Registerbehandlungen zu verstehen
Schritt 2: Die Ladestation
Nicht viel hinzuzufügen
Die Bilder können besser sprechen.
Ich habe gerade eine 1N5404-Diode am 12-Volt-Kontakt hinzugefügt
1) um Probleme zu vermeiden, falls der Batteriekontakt den 12-Volt-Kontakt berührt, wenn Sie das Radio auf die Basis stellen (aber es ist nie passiert)
2) den Spannungspegel auf 10,8 Volt zu senken (es gibt auch eine Diode auf dem Motherboard), da der MC7805 etwas heiß werden kann, wenn er von 12V auf 5 Volt mit 1 Ampere Strom umschaltet (ich habe ein Stück Eisen als Kühlkörper angeschraubt die 7805)
Ich habe ein kleines Voltmeter mit 3 x 7 Segmenten hinzugefügt, um die Batterieladung anzuzeigen
Dieses Gerät ist mit 3 Drähten ausgestattet, um den Verbrauch zu senken (mehr als 1 Mega Ohm auf dem Messkabel), wodurch das Radio lange Zeit auf der ausgeschalteten Basis gehalten werden kann, ohne die Batterie zu entladen
2 Hebelschalter werden verwendet, um die Wechselstromversorgung auszuschalten, wenn das Funkgerät nicht an der Basisstation ist (um zu vermeiden, dass 12 V an den Kontakten anliegen)
Die Box ist aus Sperrholz (vor dem Bemalen des Bildes) Ich lasse Sie sich vorstellen, wie man eine schöne Box macht, da meine nicht sehr sexy ist!!!!!
Ich war sehr erstaunt, aber die Ladestation läuft gut und ich habe nie geraucht, als das Radio darauf gelandet ist………….
Schritt 3: Die Box
Ich denke, jeder sollte nach seinen künstlerischen Fähigkeiten tun und lassen, was er will!!!!!
Wie auch immer, ich werde kurz erklären, wie ich etwas bauen könnte, das schrecklich aussieht wie ein Werkzeugkasten
Vorder- und Rückseite sind aus 4 mm Sperrholz 15x45 cm. geschnitten
oben und unten sind 10 mm Sperrholz 15x45 cm
Seiten und die 2 Innenwände (2 2 Plätze für HP und die Komponenten in der Mitte) sind 10 mm Sperrholz 13x13 cm
Auf der Frontplatte habe ich 2 x 10 cm Löcher für die HP und ein 14 x 14 quadratisches Loch zum Einsetzen des 15 x 15 2 mm organischen Glases gemacht, das ich schwarz lackiert habe (nach dem Lackieren einen transparenten gedruckten Aufkleber hinzufügen, der jedoch aufgrund des Schwarz nicht so lesbar ist Farbe hinten)
Ich habe oben 2 Löcher gemacht:
eine für das Potentiometer der Endstufe (um den Pegel bei Bedarf anzupassen) und auch als Heizleistung
noch einer für die Antenne
Auf der Rückseite habe ich 2 Löcher gemacht:
Einer für den USB-Stecker (direkt am Nano anstecken)
Ein 16mm für Luftkühlung (das 14 mm Loch des Potentiometers der Endstufe ist der obere Luftkühlungsausgang)
der Griff besteht aus einem 12mm Kupferrohr schwarz lackiert
Alle Komponenten des obigen Bildes finden im mittleren Fach Platz (später musste ich die Batterien in das linke HP-Fach legen, da es zu nahe am HC06 BT-Modul im Hauptfach war)
Das ist es
Natürlich muss es etwas sexyeres geben!!!!
Schritt 4: Der Arduino-Teil (Schaltpläne und Code)
Ich habe versucht, so viele Informationen wie möglich in die Kommentare des Programms zu geben.
Noch ein paar Informationen
Die Decode_TXT-Prozedur wird sowohl von der Bluetooth-Prozedur als auch von der Switch-Prozedur verwendet
einige Schlüsselwörter werden von beiden Verfahren verwendet
v+ => um die Lautstärke zu erhöhen
v- => senken
f+ => um die Frequenz eines Schrittes von 100 Khz. zu erhöhen
f- =>verringern
su+=> nach oben suchen
sd-=> nach unten suchen
prefu=> Erhöhen der vorgewählten Kanalnummer
prefd=> abnehmen
hallo =>von der Android APP während der Bluetooth-Verbindung gesendet, der Code sendet den Status des Radios zurück
Tschüss => von der APP gesendet, wenn BT die Verbindung trennt
pow => vom Funkgerät an die App im Stromversorgungsmodus (auf der Ladestation) gesendet
bat => im Batteriemodus
lb => gesendet, wenn der Batteriestand zu niedrig ist (ca. 8 Volt)
Die Bluetooth-Kommunikation wird durch einen Regelkreis abgesichert:
Jedes Mal, wenn das FM-Radio eine Information sendet, wird ein Timer gestartet, der auf die "OK"-Antwort der Android-APP wartet
Bei 3 Fehlern (Timer abgelaufen) wird die BT-Verbindung vom Funkgerät unterbrochen. (dies schneidet auch den Link auf der Android-Seite)
Auf der anderen Seite
Wenn die App einen Befehl sendet, wartet sie auf die Antwort vom Funkgerät, um einen weiteren Befehl zu senden.
Die Prozedur get_RT wird gestartet, wenn das RDS-Flag gesetzt ist (nach einem Interrupt an Pin 3)
hier ist der Code (Link zu GITHUB)
Die Schaltpläne:
Die Hauptplatine des UKW-Radios (tatsächlich befindet sich der SI4703 in einer abgeschirmten Box):
Die Frontplatte:
Die Ladestation:
Die Links zu den Fritzing-Dateien:
FR RADIO-Hauptplatine
Frontblende
Ladestation
Schritt 5: Die Android-App
Hergestellt mit APP-Erfinder
hier sind die Links zu GitHub
Radio FM aia
Android-APK
Die App verwendet 2 Timer:
1) für die Bluetooth-Kommunikation (100ms)
2) zum Blinken der Batterie-LED bei einer Last von etwa 8 V (1000 ms)
Zum ersten Mal müssen Sie das HC06-Modul mit Ihrem Smartphone oder Tablet koppeln.
Ich verwende TinyDB zum Speichern der BT-Adresse des HC06-Moduls, bei der ersten Verbindung wird der BT-Adress-Button aktiviert und Sie müssen den HC06 in der Liste auswählen (ich habe meinerseits das HC06-Modul in FM_RADIO umbenannt)
In der App habe ich nicht immer den Prozentwert für die Größe des Elements verwendet, daher kann es je nach Smartphone zu Anzeigeproblemen kommen
Meins ist ein Galaxy Note 3, also ziemlich großer Bildschirm……..
Also habe ich eine gute Zeit damit verbracht, diesen kleinen, aber sehr effizienten SI4703 zu entdecken.
Und es hat viel Spaß gemacht, diese instructables zu schreiben
Bis zu meinem nächsten Projekt
Auf Wiedersehen!!!