Arduino TEA5767 FM-Radioempfänger - Gunook

Arduino TEA5767 FM-Radioempfänger - Gunook

Inhaltsverzeichnis:

Anonim

Liebe Freunde, willkommen zurück! In diesem Tutorial werden wir eine einfache bauen FM-Radioempfänger auf einem Steckbrett.

Bitte schauen Sie sich das angehängte Video an, um es sich einige Sekunden lang anzuhören. Wie Sie sehen, funktioniert das Radio einwandfrei und wir können etwas Musik hören. Ich sende einige YouTube-Safe-Tracks mit diesem billigen FM-Sender bei dieser Frequenz. Ich verwende das Nokia 5110 LCD-Display, um die ausgewählte Frequenz, die Signalstärke und ein Stereosymbol anzuzeigen, wenn Stereoton empfangen wird. Das Gehirn des Projekts ist der kleine und kostengünstige Arduino Nano. Wir können die Lautstärke des Lautsprechers mit diesem Potentiometer regeln und die Radiofrequenz mit diesem Potentiometer ändern.

Es ist ein faszinierendes Projekt und relativ einfach zu bauen. Mal sehen, wie man es baut.

Zubehör:

Schritt 1: Holen Sie sich alle Teile

Die Teile, die zum Erstellen dieses Projekts benötigt werden, sind die folgenden:

  • Arduino Nano ▶
  • FM-Radio-Modul ▶
  • Nokia 5110 LCD ▶
  • 10K-Potentiometer ▶
  • Audioverstärker ▶
  • 3-W-Lautsprecher ▶
  • Großes Steckbrett ▶
  • Audiokabel ▶
  • Überbrückungsdrähte ▶
  • 3 in 1 Drähte ▶
  • FM Transmitter ▶
  • Power Bank ▶

Die Gesamtkosten des Projekts belaufen sich auf rund 15 USD.

Schritt 2: Nokia 5110 LCD

Das Nokia 5110 ist mein Lieblingsdisplay für meine Arduino-Projekte.

Das Nokia 5110 ist ein grundlegender Grafik-LCD-Bildschirm, der ursprünglich als Handybildschirm gedacht war. Es wird der PCD8544-Controller verwendet, bei dem es sich um einen CMOS-LCD-Controller / -Treiber mit geringem Stromverbrauch handelt. Dadurch hat das Display einen beeindruckenden Stromverbrauch.

Es verbraucht nur 0,4 mA, wenn es eingeschaltet ist, aber die Hintergrundbeleuchtung ist deaktiviert. Es verbraucht weniger als 0,06 mA im Schlafmodus! Das ist einer der Gründe, die dieses Display zu meinem Favoriten machen. Die PCD8544 ist über eine serielle Busschnittstelle mit Mikrocontrollern verbunden. Das macht den Bildschirm mit Arduino sehr einfach zu bedienen. Sie müssen nur 8 Drähte anschließen. Ich habe ein detailliertes Tutorial zur Verwendung des Nokia 5110 LCD mit Arduino vorbereitet.

Ich habe dieses Video in diesem Instructable angehängt. Es enthält nützliche Informationen zum Display. Ich empfehle Ihnen daher, es sorgfältig anzuschauen. Die Kosten für das Display betragen ca. 4 US-Dollar.

Sie können es hier herunterladen ▶

Schritt 3: TEA5767 FM-Radiomodul

Das Projekt basiert auf diesem FM-Radiomodul.

Das Modul verwendet die TEA5767 Funkchip, dieses hier. Der Chip verwendet die I2C-Schnittstelle, sodass die Verwendung mit Arduino unkompliziert ist. Auf dem Modul finden wir auch einen Audioverstärker. Da es sich leider um einen Kopfhörerverstärker handelt, können wir keinen Lautsprecher direkt an den Ausgang des Moduls anschließen, da das Audiosignal sehr schwach ist. Wir müssen es zuerst verstärken. Es gibt auch keine Möglichkeit, die Lautstärke, die aus dem Modul kommt, mit Software zu steuern. Daher werden wir später ein Potentiometer verwenden. Auf dem Modul befinden sich zwei Kopfhöreranschlüsse, einer für die Antenne und der andere für den Standardkopfhörerausgang. Das Modul wird mit einer kleinen Antenne geliefert. Auf Wunsch können Sie jedoch auch eine eigene Antenne bauen.

Sie können es hier herunterladen ▶

Schritt 4: Anschließen der Teile

Bauen wir nun die Schaltung nach diesem Schema auf.

Lassen Sie uns zunächst alle Teile auf das Steckbrett legen. Wir verbinden den Erdungsstift jedes Teils mit der Erdungsschiene des Steckbretts und den Vcc-Stift jedes Teils mit der positiven Schiene des Steckbretts, mit Ausnahme des Potentiometers, das die Lautstärke regelt. Jetzt schließen wir das Funkmodul an. Der SLC-Pin geht an den analogen Pin 5 des Arduino Nano und der SDA-Pin an den analogen Pin 4. Jetzt verbinden wir den mittleren Pin des Potentiometers mit dem analogen Pin 0. Mit diesem Potentiometer wählen wir die Frequenz aus.

Jetzt müssen wir das Lautstärkepotentiometer anschließen, um die Lautstärke regeln zu können. Ich habe ein Audiokabel verwendet. Ich habe ein Ende des Kabels an den Audioausgang des Moduls angeschlossen. Als nächstes schneide ich das andere Ende, um 4 Drähte im Kabel zu finden. Das Modul gibt Stereoton aus, aber wir werden diesmal nur einen Audiokanal verwenden. Also verbinde ich nur zwei der Drähte. Einer von ihnen ist GND, und der andere ist das Audiosignal, das verstärkt werden muss. Das Audiosignal wird zum Eingangspin des Lautstärkepotentiometers geführt. Der mittlere Pin des Potentiometers ist das Audiosignal, das ausgegeben wird.

Um das Audiosignal zu verstärken, verwende ich dieses Modul, das den LM386-Verstärkerchip verwendet. Das Audiosignal geht an diesen Pin, der Erdungspin vom Audiokabel geht an diesen Pin. Jetzt müssen wir nur noch das Modul mit Strom versorgen.Also verbinden wir diesen Stift mit der positiven Schiene des Steckbretts und diesen Stift mit der negativen Schiene des Steckbretts. Jetzt müssen wir nur noch einen kleinen Lautsprecher an den Ausgang des Moduls anschließen. Mit diesem kleinen Potentiometer können wir die Verstärkung des Signals steuern. Jetzt müssen wir nur noch das Nokia 5110 Display anschließen. Sehen Sie sich mein detailliertes Video zur Verwendung des Nokia 5110 Displays an, um zu sehen, wie es angeschlossen wird, oder folgen Sie dem Schema.

Anschließen des Nokia 5110 LCD-Displays

RST geht an Digital Pin 12 des Arduino

CE geht an Digital Pin 11 des Arduino

DC geht an Digital Pin 10 des Arduino

DIN geht an Digital Pin 9 des Arduino

CLK geht an Digital Pin 8 des Arduino

VCC geht an Arduino 3.3V

LICHT geht an Arduino GND (Hintergrundbeleuchtung an)

GND geht an Arduino GND

Der letzte Schritt, der optional ist, besteht darin, einen Kondensator mit 330 μF an das Steckbrett anzuschließen, um das Rauschen des Audiosignals zu reduzieren.

Wenn wir jetzt das Projekt einschalten, können wir sehen, dass für 3 Sekunden ein Begrüßungsbildschirm angezeigt wird, und danach können wir den Ton aus dem Lautsprecher hören. Die Klangqualität ist mit diesem Lautsprecher und diesem Audioverstärker nicht optimal. Wenn ich einen anderen handelsüblichen Lautsprecher mit einem eingebetteten Verstärker verwende, ist die Klangqualität perfekt. Hör zu. Das Ausgangssignal des Moduls ist also perfekt, aber der Verstärker und der Lautsprecher, die ich verwendet habe, verringern die Klangqualität, sodass ich nach qualitativ besseren suchen muss. Nachdem wir die Hardware erstellt haben, werfen wir einen Blick auf die Softwareseite des Projekts.

Schritt 5: Code des Projekts

In diesem Projekt verwenden wir zwei Bibliotheken. Ich verwende die Nokia5110-Grafikbibliothek und eine Bibliothek für den TEA5767-FM-Chip.

Der Code funktioniert so. Zuerst initialisieren wir das Funkmodul und das Display und zeigen drei Sekunden lang einen Begrüßungsbildschirm an. Ich habe diesen Begrüßungsbildschirm in Photoshop entworfen. Sehen Sie sich das angehängte Video-Tutorial an, um zu erfahren, wie Sie Ihre Grafiken auf ein Nokia 5110-Display hochladen können.

void setup ()

{radio.setMonoReception (); radio.setStereoNoiseCancellingOn (); initScreen (); showSplashScreen (); Serial.begin (9600); }

Als nächstes lesen wir in der Schleifenfunktion den Wert vom Potentiometer, das alle paar Millisekunden die Frequenz regelt. Wir erhalten den Analogwert vom Potentiometer und ordnen ihn einem Frequenzwert zu. Da wir einen analogen Wert lesen, ist dieser Wert nicht konstant; es geht leicht nach oben oder unten, auch wenn wir das Potentiometer nicht drehen.

frequencyInt = map (val, 2, 1014, 8700, 10700); // Analogwert zur Frequenz von 87,0 MHz bis 107,00 MHz Gleitfrequenz = FrequenzInt / 100,0f;

Um eine stabile Frequenz zu erreichen, stellen wir das Radio nur dann auf eine andere Frequenz ein, wenn sich die Frequenz erheblich geändert hat. Wenn es also zu einer signifikanten Frequenzverschiebung kommt, stellen wir das Funkmodul auf diese Frequenz ein, erhalten die Signalstärke und drucken sie auf dem Bildschirm, drucken bei Bedarf das Stereosymbol und schließlich die ausgewählte Frequenz.

if (Frequenz - vorherige Frequenz> = 0.1f || vorherige Frequenz - Frequenz> = 0.1f)

{lcd.clrScr (); radio.selectFrequency (Frequenz); printSignalStrength (); printStereo (); printFrequency (Frequenz); vorherigeFrequenz = Frequenz; }

So funktioniert der Code, er ist einfach, funktioniert aber in Ordnung. Wie immer finden Sie den Code des Projekts, der diesem Schritt angehängt ist.

Da es sich um ein in Entwicklung befindliches Projekt handelt, finden Sie die neueste Version des Codes auf der Projektwebseite hier:

Schritt 6: Letzte Gedanken

Wie Sie in ungefähr einer halben Stunde sehen können, können wir ein FM-Radio auf einem Steckbrett bauen. Wie cool ist das!

Die Klangqualität, die wir aus diesem Projekt herausholen, ist noch nicht großartig. Ich werde mehr an diesem Projekt arbeiten, um es in jedem Bereich zu verbessern. Ich möchte dieses Projekt in ein komplettes Radio mit einem 3D-gedruckten Gehäuse verwandeln. Zunächst werde ich verschiedene Audioverstärker und Lautsprecher ausprobieren, um eine gute Audioqualität aus diesem Projekt herauszuholen. Ich werde es auch vom Steckbrett entfernen und eine permanente Version davon auf einem Prototyping-Board erstellen. Ich werde auch ein Gehäuse für dieses Projekt entwerfen, damit es wie ein Radio aussieht. Natürlich muss auch der Code des Projekts verbessert und verbessert werden. Eine Funktion, die ich hinzufügen möchte, ist eine Feinabstimmung, die die Klangqualität noch weiter verbessert.

Das Projekt benötigt ca. 50 mA Strom, wenn die Hintergrundbeleuchtung des Displays deaktiviert ist. Wir können die aktuellen Software- und Hardwaretricks weiter reduzieren, damit dieses Projekt batteriebetrieben werden kann. Ich denke, das Ergebnis wird beeindruckend sein. Ich kann es kaum erwarten, dieses Projekt auf meinem Schreibtisch zu sehen. Dieses Video war nur der Anfang.

Ich würde gerne Ihre Meinung zu diesem Projekt erfahren. Finden Sie dieses Projekt interessant? Welche Art von Verbesserungen schlagen Sie vor? Haben Sie irgendwelche Tricks aus Ihrer Erfahrung, die dieses Projekt verbessern können?

Bitte poste deine Kommentare im Kommentarbereich unten und vergiss nicht, das Video zu mögen und teile es mit deinen Freunden, wenn du es interessant findest! Vielen Dank!