Модуль FM-радиопередатчика – Arduino FM transmitter v2.0 предназначен для передачи звука в FM диапазоне от 70 до 108 МГц и позволяет построить на его основе собственную маленькую радиостанцию.
Модуль FM передатчика построен на базе микросхемы KT0803L. Для подключения источника звука предназначен разъем MiniJack 3.5 мм. Антенной может служить любой провод длинной около 75 см (припаивается к контакту ANT).
Напряжение питания: 3...5В. Модуль управляется по шине I2C.
Характеристики:
Модуль управляется по шине I2C.
Модуль FM передатчика построен на базе микросхемы KT0803L
Разъем MiniJack 3.5 мм предназначен для подключения источника звук
Антенной может служить любой провод длинной около 75см (припаивается к контакту ANT)
Напряжение питания: 3...5 В
Рассмотрим создание FM-передатчика с установкой частоты FM с платы Arduino. Для выбора частотного диапазона будем использовать потенциометр, подключенный к аналоговому входу Arduino. Значение частоты передачи будем выводить на дисплей Nokia 5110.
Схема соединений.
При создании скетча будем использовать Arduino-библиотеку FMTX.
Содержимое скетча:
// подключение библиотек
#include "U8glib.h"
#include
// создание экземпляра объекта
U8GLIB_PCD8544 u8g(3, 4, 5, 6, 7);
int channel=0;
// значение частоты по умолчанию
float fm_freq = 90;
int reading=0;
int last_reading=0;
int Current_reading=0;
int mapping_reading=0;
void setup(void) {
pinMode(A0,INPUT);
Serial.begin(9600);
// инициализация
fmtx_init(fm_freq, EUROPE);
Clear();
}
void loop(){
reading=analogRead(A0);
mapping_reading=map(reading,0,1023,87,108);
mapping_reading=constrain(mapping_reading,87,108);
if( mapping_reading!= Current_reading){
Clear();
Analog_pin_read();
u8g.firstPage();
do {
number(channel);
}
while(u8g.nextPage() );
delay(100);
}
}
// используемые функции
// Отслеживаем положение потенциометра
// и меняем частоту
void Analog_pin_read(){
channel=mapping_reading;
Current_reading=channel;
fmtx_set_freq(channel);
}
void set_screen(int i) {
u8g.setColorIndex(i); // pixel on !
for (int x_axis=0;x_axis<84;x_axis++) {
for (int y_axis=0;y_axis<44;y_axis++) {
u8g.drawPixel(x_axis,y_axis);
}
}
}
void Clear(void) {
u8g.setFont(u8g_font_04b_03);
u8g.setFontRefHeightExtendedText();
u8g.setDefaultForegroundColor();
u8g.setFontPosTop();
}
void intro(void) {
u8g.setColorIndex(1);
u8g.drawFrame(0,0,83,47);
u8g.setFont(u8g_font_osr18);
u8g.drawStr( 5, 25, "FM Tx ");
u8g.setFont(u8g_font_tpss);
u8g.drawStr( 5, 40, " System");
}
void intro2(void) {
u8g.setColorIndex(1);
u8g.drawFrame(0,0,83,47);
u8g.setFont(u8g_font_04b_03);
u8g.drawStr( 2, 7, "Build Your FM station! ");
u8g.drawStr( 2, 15, "Change the Freq");
u8g.drawStr( 2, 26, "From Poten");
u8g.drawStr( 2, 38, "www.dessy.ru");
}
// пишем значение частоты на экране
void number(int value) {
u8g.setColorIndex(1);
u8g.drawFrame(0,0,83,47);
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 5, 15, "Frequency ");
u8g.setFont(u8g_font_osr18);
u8g.setPrintPos(10,45);
u8g.println(value,DEC);
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 45, 38, "MHz ");
}
После загрузки скетча на плату Arduino c помощью потенциометра устанавливаем желаемую частоту, которая отображается на экране дисплея Nokia 5110, и начинаем трансляцию.
Устанавливая на FM-приемнике данную частоту можно слушать нашу трансляцию.
Скачать библиотеку FMTX.zip
Скачать библиотеку U8glib.zip