Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

Onderdelen en benodigdheden

Arduino Micro × 1
TEA5767 Module × 1
Arduino LCD Scherm (Nokia 5110) × 1
Draaipotentiometer (10k ohm) × 1
LM386 Audio Versterker × 1
3W Luidspreker × 1
Breadboard (standaard) × 1
Audio kabel × 1
Draadjes (standaard) × 1
FM Zender (voor testen) × 1

Apps en online diensten

Arduino IoT Cloud

Over dit project

Inleiding

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

Beste vrienden, welkom terug! In deze tutorial bouwen we een eenvoudige FM-radio ontvanger op een breadboard.

Bekijk de bijgevoegde video om even te luisteren. Zoals je ziet werkt de radio prima en hoor je muziek. Ik zend enkele veilige YouTube-tracks met deze goedkope FM-zender op deze frequentie. Ik gebruik het Nokia 5110 LCD-display om de geselecteerde frequentie, signaalsterkte en een stereo-pictogram (bij stereo-ontvangst) weer te geven. De hersenen van het project zijn de kleine en goedkope Arduino Nano. We regelen het volume met deze potentiometer en de radiofrequentie met een andere potentiometer.

Het is een fascinerend project en redelijk eenvoudig te bouwen. Laten we zien hoe.

Stap 1: Alle onderdelen verzamelen

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

  • Arduino Nano
  • FM Radio Module (TEA5767)
  • Nokia 5110 LCD
  • 10K Potentiometer (2x: één voor frequentie, één voor volume)
  • Audio Versterker (LM386)
  • 3W Luidspreker
  • Groot Breadboard
  • Audio Kabel
  • Draadjes
  • 3-in-1 draden
  • FM Zender (voor testen)
  • Powerbank

Totale kosten van het project: rond de $15.

Stap 2: Nokia 5110 LCD

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

De Nokia 5110 is mijn favoriete display voor Arduino-projecten. Het is een basisch grafisch LCD-scherm, oorspronkelijk bedoeld voor mobiele telefoons. Het gebruikt de PCD8544-controller, een lage-verbruik CMOS LCD-controller/driver. Daardoor heeft het een indrukwekkend laag stroomverbruik: slechts 0.4mA wanneer aan (achterlicht uit), en minder dan 0.06mA in slaapmodus! Dat is een van de redenen waarom ik deze display favoriet is. De PCD8544 communiceert via een seriële businterface, wat het makkelijk maakt om met Arduino te gebruiken. Je hoeft slechts 8 draden aan te sluiten. Ik heb een gedetailleerde tutorial over hoe je de Nokia 5110 met Arduino gebruikt. De video is bij deze tutorial gevoegd. De display kost ongeveer $4.

Stap 3: TEA5767 FM Radio Module

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

Het project is gebouwd rond deze FM-radio module. De module gebruikt de TEA5767 radiochip. De chip gebruikt de I2C-interface, wat het makkelijk maakt om met Arduino te werken. Op de module zit ook een audioversterker, maar dit is een hooftelefoonversterker, dus je kunt geen luidspreker direct aan de uitgang hangen omdat het audiosignaal te zwak is. We moeten het eerst versterken. Er is ook geen manier om het volume softwarematig te regelen, daarom gebruiken we later een potentiometer. Op de module zitten twee hooftelefoonjacks: één voor de antenne, één voor de standaard hooftelefoonuitgang. Er zit een kleine antenne bij, maar je kunt er ook zelf een maken.

Stap 4: Onderdelen aansluiten

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

Bouw de schakeling volgens dit schema:

  1. Plaats alle onderdelen op het breadboard. Verbind de ground-pin van elk onderdeel met de ground-rail en de Vcc-pin met de positieve rail, behalve de potentiometer voor volume.
  2. Sluit de radiomodule aan: SLC-pin → Arduino Nano analoge pin 5 (A5), SDA-pin → analoge pin 4 (A4).
  3. Verbind de mittenspits van de frequentie-potentiometer met analoge pin 0 (A0). Hiermee selecteren we de frequentie.
  4. Voor volume: gebruik een audiokabel. Stop één uiteinde in de audio-uitgang van de module. Snij het andere uiteinde af om 4 draden te vinden. De module geeft stereo uit, maar we gebruiken één kanaal. Verbind twee draden: één is GND, de ander is het audiosignaal dat versterkt moet worden. Het audiosignaal gaat naar de ingang van de volume-potentiometer. De mittenspits is het uitgekomen audiosignaal.
  5. Versterk het audiosignaal met de LM386-module. Audiosignaal → invoerpin, ground van audiokabel → ground-pin. Voeding aan de module: positieve rail en negatieve rail. Sluit een kleine luidspreker aan op de uitgang. Met de kleine potentiometer op de LM386-module regel je de versterking.
  6. Sluit de Nokia 5110 display aan (zie mijn gedetailleerde video of volg het schema):

Aansluiting Nokia 5110 LCD Display

  • RST → Digitale pin 12
  • CE → Digitale pin 11
  • DC → Digitale pin 10
  • DIN → Digitale pin 9
  • CLK → Digitale pin 8
  • VCC → Arduino 3.3V
  • LIGHT → Arduino GND (achterlicht aan)
  • GND → Arduino GND

Optioneel: sluit een 330μF condensator aan op het breadboard om ruis op het audiosignaal te verminderen.

Als we nu het project voeden, zien we een startsplash van 3 seconden en daarna horen we geluid uit de luidspreker. De geluidskwaliteit is niet optimaal met deze luidspreker en versterker. Als ik een commerciële luidspreker met ingebouwde versterker gebruik, is de kwaliteit perfect. Dus het uitgangssignaal van de module is prima, maar de versterker en luidspreker die ik gebruikte minderen de kwaliteit. Ik moet betere kwaliteit zoeken. Nu de hardware klaar is, kijken we naar de software.

Stap 5: Code van het project

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

We gebruiken twee bibliotheken: de Nokia5110 grafische bibliotheek en een bibliotheek voor de TEA5767 FM-chip.

De code werkt als volgt. Eerst initialiseren we de radiomodule en het display, en tonen we een splash-scherm gedurende drie seconden. Ik ontwierp deze splash in Photoshop. Bekijk de videotutorial als je wilt weten hoe je je eigen graphics naar de Nokia 5110 uploadt.

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

In de loop-functie lezen we de waarde van de frequentie-potentiometer elke paar milliseconden. We mappen de analoge waarde naar een frequentiewaarde. Omdat we een analoge waarde lezen, is deze niet constant; het wiggelt iets omhoog/omlaag zelfs als we de potentiometer niet draaien.


frequencyInt = map(val, 2, 1014, 8700, 10700); // Analogwaarde naar frequentie van 87.0 MHz tot 107.00 MHz
float frequency = frequencyInt / 100.0f;

Om een stabiele frequentie te krijgen, stemmen we de radio alleen af op een andere frequentie als deze aanzienlijk is veranderd. Als er een significante verschuiving is, stemmen we de module af op die frequentie, lezen we de signaalsterkte, printen we deze op het scherm, tonen we het stereo-pictogram indien nodig, en printen we de geselecteerde frequentie.


if (frequency - previousFrequency >= 0.1f || previousFrequency - frequency >= 0.1f) {
  lcd.clrScr();
  radio.selectFrequency(frequency);
  printSignalStrength();
  printStereo();
  printFrequency(frequency);
  previousFrequency = frequency;
}

Dit is de kern van de code: simpel maar effectief. Je vindt de volledige code bij deze stap. Omdat dit een project in ontwikkeling is, vind je de nieuwste versie op de projectpagina: https://educ8s.tv/arduino-fm-radio-project

Stap 6: Conclusie

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

In ongeveer een half uur kunnen we een FM-radio op een breadboard bouwen. Hoe cool is dat!

De geluidskwaliteit is nog niet geweldig. Ik ga er verder aan werken om het in alle opzichten te verbeteren. Ik wil dit omzetten in een complete radio met een retro 3D-geprint behuizing. Eerst ga ik verschillende audioversterkers en luidsprekers proberen voor betere geluidskwaliteit. Ik ga het ook van het breadboard halen en een permanente versie maken op een experimenteerprint. Ik zal een behuizing ontwerpen zodat het eruitziet als een radio. Natuurlijk heeft de code ook veel verbeteringen nodig. Een functie die ik wil toevoegen is fijn-afstemming voor nog betere geluidskwaliteit.

Het project verbruikt ongeveer 50mA wanneer het display-achterlicht uitstaat. We kunnen dit met software- en hardware-trucs nog verder verlagen, zodat het project op batterij kan draaien. Ik denk dat het resultaat indrukwekkend zal zijn. Ik kan niet wachten tot dit project af is op mijn bureau. Deze video was slechts het begin.

Ik hoor graag jullie mening over dit project. Vind je het interessant? Welke verbeteringen voorstel je? Heb je trucs uit ervaring die dit project kunnen verbeteren?

Plaats je reacties in de commentaren en vergeet niet de video te liken en te delen met vrienden als je het interessant vindt! Hartelijk dank!

Code

Code fragment #1

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

Code fragment #3


if(frequency - previousFrequency >= 0.1f || previousFrequency - frequency >= 0.1f) { 
  lcd.clrScr(); 
  radio.selectFrequency(frequency); 
  printSignalStrength(); 
  printStereo(); 
  printFrequency(frequency); 
  previousFrequency = frequency; 
}

Schema

Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module

Productieproces

  1. Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
  2. Bouw een Wi‑Fi Internetradio met Raspberry Pi en Arduino: Stream Wereldwijde Zenders
  3. Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
  4. Find Me: Slimme Item Locator met Arduino en Bluetooth
  5. Bouw een Functionele, Arduino-aangedreven 3D-geprinte Robotarm – Stap-voor-Stap Handleiding
  6. DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
  7. Bouw een compacte FM-radio met Arduino Nano en RDA5807M
  8. NeoPixel Matrix Pong op Arduino Nano: Bouw je eigen neon Pong-spel
  9. Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
  10. Arduino 101: Bouw een teller met DHT11 sensor & LCD display
  11. Bouw een Arduino RGB Kleur Mixer – Stap-voor-stap Handleiding