FM transmitter

Autor: Ioana Nedelcu
E-mail: ioana.nedelcu@stud.acs.upb.ro

Introducere

Proiectul presupune crearea unui dispozitiv portabil de transmisie FM care primeste input audio prin mufa jack (de ex de la telefon/tableta) si transmite semnalul audio pe o frecventa radio aleasa de utilizator. Frecventa curenta va fi afisata pe un ecran LCD, iar alegerea sa se va face cu ajutorul unor potentiometre.

Scopul sistemului este deci acela de a permite unui utilizator sa asculte muzica dorita pe o frecventa radio libera. Acest lucru este util de exemplu pentru o masina care nu dispune de sistem auxiliar audio sau conexiune bluetooth, acesta fiind si motivul pentru care am ales sa realizez aceasta implementare.

Descriere generală

La porinirea dispozitivului, pe ecran se va afisa un mesaj de WELCOME, timp in care se realizeaza initializarea modulului FM pe frecventa default (90 MHz). Dupa aproximativ 5 secunde, mesajul anterior dispare, iar pe LCD utilizatorul va putea vedea frecventa curenta. Pentru modificarea acesteia se vor folosi cele doua potentiometre de 50k, unul pentru partea intreaga (cu valori cuprinse intre 87 si 108 MHz) si celalat pentru partea zecimala (intre 0 si 10). Daca dispozitivul primeste input audio, acesta va putea fi auzit pe un aparat de radio extern (cum esre cel de la masina) aflat in imediata apropiere, pe frecventa setata (si afisata pe ecran). Pentru a mari raza de broadcast am lipit modulului FM si o mica antena. Cel de-al treilea potentiometru are rolul de a fixa luminozitatea ecranului LCD, functionalitate foarte utila daca se conduce pe timp de noapte.

Schema bloc:

Hardware Design

Listă de piese

Denumire piesă
Arduino UNO
Breadboard
Modul FM V 2.0
Ecran Nokia 5110 85×48
Potentiometre
Rezistente
Fire mama-tata, tata-tata
Schema Electrică:

Scurta galerie:

Software Design

Mediul de dezvoltare folosit a fost Arduino IDE .

Biblioteci folosite in implementare:

  • PCD8544.h (pentru folosirea ecranului LCD Nokia 5110 - interfata SPI)
  • FMTX.h (pentru folosirea modulului FM - interfata I2C)

Detalii de implementare:

Principalele variabile utilizate:

  • lcd - obiectul LCD Nokia 5110 folosit pe parcursul programului
  • channel - canalul curent afisat pe LCD si transmis modulului FM
  • pot_read - valoarea analogica data de primul potentiometru (partea intreaga a frecventei)
  • freq_max, freq_min - limitele frecventei
  • mapping_reading - maparea valorii data de potentiometru in limitele frecventei
  • current_reading - valoarea curenta a frecventei (pentru a verifica daca s-a produs vreo schimbare)

In functia de setup se seteaza pinii A0 si A1 (la care sunt conectati cele doua potentiometre) pe modul INPUT si se porneste lcd-ul. Se afiseaza apoi pe acesta un mesaj de Welcome care va disparea dupa 5 secunde, timp in care se realizeaza si initializarea modulului FM pe frecventa default (90 MHz), respectiv Europa. In functia loop se citesc folosind analogRead valorile celor doua potentiometre si se realizeaza conversia acestora in limitele frecventei folosind functiile map si constrain. Daca valorile nou citite difera de vechile valori curente, se calculeaza noua frecventa, care se trimite ca parametru functiei fmtx_set_freq, urmand sa se faca astfel update la nivelul modulului FM. De asemenea, noile valori vor fi afisate si pe ecranul LCD, conform functiei auxiliare lcd_freq.

Rezultate Obţinute

Rezultatele obtinute se pot vedea in videoclipul de prezentare de mai jos.

Concluzii

Desi proiectul in sine nu are un grad asa de mare de complexitate, consider ca a fost foarte util pentru a aprofunda si a aplica practic notiunile invatate de-a lungul acestui semestru la PM. Astfel, am avut ocazia sa folosesc comunicatia cu interfetele SPI (pentru ecranul LCD Nokia 5510), respectiv I2C (pentru modulul FM). De asemenea, am invatat cum se foloseste o statie de lipit si mi-am reconfirmat cat este de greu sa faci debugging la nivel de hardware, spre deosebire de software. Varianta finala a proiectului reflecta ceea ce mi-am propus sa realizez inca de la inceput si are de asemenea aplicabilitate practica, putand fi adaugat cu succes in vehiculele care nu dispun de functii de redare a semnalului audio extern, si nu numai. Din acest motiv, am ales sa lucrez si la partea estetica a proiectului, realizand astfel o experienta de utilizare cat mai realista a sistemului creat.

Download

Bibliografie/Resurse

pm/prj2021/amocanu/fm_transmitter.txt · Last modified: 2021/06/02 20:53 by ioana.nedelcu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0