Stap 5: conclusie
Merk op dat ik eigenlijk een Raad van Freetronics USB-Droid, als gebruikt dat was wat ik had bij de hand in plaats van een Uno, maar een Uno zal prima werken.Aan de rechterkant van de breakout board (boven in de bovenstaande afbeelding) ik een 3.5mm aansluiting aangesloten op één kanaal en GND en stak een lengte van de draad in de ANT-aansluiting om te fungeren als een antenne.
De schets is zeer eenvoudig, alle van de echte actie is in de functie setFrequency().
In de 'loop' is de analoge lezen uit de pot omgezet in het frequentiebereik en vervolgens afgerond tot 1 decimaal, gemakkelijker om af te stemmen.
De output van de module vereist versterking. Een iPod dock met aux-in zal werken prima en ik was verbaasd over de kwaliteit van het geluid, gezien de prijs.
Voor een gelijkaardige, maar meer geavanceerde project hebben een kijkje op: http://www.electronicsblog.net/arduino-fm-receiver-with-tea5767/ ik vond dit zeer nuttig bij het maken van dit project.
Hier is de schets. Opmerking dat u moet Arduino 1.0
#include < Wire.h >
unsigned char frequencyH = 0;
unsigned char frequencyL = 0;
unsigned int frequencyB;
dubbele frequentie = 0;
VOID Setup
{
Wire.begin();
frequentie = 93.0; beginnend frequentie
setFrequency();
Serial.begin(9600);
}
void loop
{
int lezing = analogRead(0);
frequentie = kaart ((float) lezen, 0.0, 1024.0, 87,5 108.0);
frequentie = ((dubbele) lezing * (108.0-87,5)) / 1024.0 + 87,5;
frequentie = ((int)(frequency * 10)) / 10.0;
setFrequency();
Serial.println(Frequency);
}
VOID setFrequency()
{
frequencyB = 4 * (frequentie * 1000000 + 225000) / 32768;
frequencyH = frequencyB >> 8;
frequencyL = frequencyB & 0XFF;
delay(100);
Wire.beginTransmission(0x60);
Wire.write(frequencyH);
Wire.write(frequencyL);
Wire.write(0xB0);
Wire.write(0x10);
Wire.write((byte)0x00);
Wire.endTransmission();
delay(100);
}