FM модуль RDA5807M
- Войдите на сайт для отправки комментариев
Сб, 09/01/2016 - 20:39
Здравствуйте, форумчане)
Помогите, пожалуйста, разобраться с данным модулем. В интернете нашёл (http://www.5v.ru/start/em5807m-arduino-nano-30.htm) одну инструкцию, но непонятно, как кнопки добавить, как информацию на дисплей вывести, в общем нужна подробная инструкция, или подскажите, где можно подробно прочитать про него.
![[IMG]](http://www.5v.ru/img-module/em5807m.jpg)
Так по Вашей же ссылке готовый скетч лежит! Загружаем пробуем (он даже компилируется, я попробовал) и погнали, погнали.. И datasheet тамже. В нем ответы на остальные Ваши вопросы.
Спасибо кстати за ссылку, мне такой модуль месяца три как приехал, может теперь попробую. Лежит пока, покупал его совершенно безцельно. А Вы зачем его брали?
Да, кстати. Я вот этот модуль хотел попробовать приспособить для приема АИС сигнала (162 МГц). Увы, модуль тянет только до 133 примерно. Дальше надо менять элементы в ГУНе ФАПЧа. И колдовать с кварцем и его настройками. Но уж больно элементы ГУНа маленькие. Забросил эту ветвь. А вещалки он ловит, но мне не очень понравилось.
А подскажите какой динамик и как правильно подключить его к пинам 2,3. Может есть схема раписновки через джек 3,5?
Здравствуйте я собирал акустику и решил туда прикрутьть радио и за одно с микроконтролерами поупрожняться ))
А динамики к этомцу модулю как подключали??? Через усилител TDA?
А динамики к этомцу модулю как подключали??? Через усилител TDA?
Пока еше некак я его на макетной плате расположил потклучил к наушникам я пока разбираюсь с интерфейсом и ардуино я новичок в этом деле и решил начать с радио кокрас есть куда прикрутить.
Вот нашол исчерпывайший мануал правда на английском http://www.mathertel.de/Arduino/RadioLibrary.aspx
Вот схема покоторой наушники цеплял
За мануал спасибо. Сам искал, но толкого пока не нашел. Ну вот такой разве что http://studio-diy.3dn.ru/news/rda5807m/2014-11-15-27
http://full-chip.net/arduino-proekty/97-cifrovoy-fm-priemnik-na-arduino-...
Гуглить не пробывали, инфы море, схем подключения и конструкций навалом.
http://www.aliexpress.com/item/PAM8403-5V-Digital-Small-Power-Audio-Amplifier-Board-Support-USB-Power-Supply/2016370122.html
вОТ ТАКОЙ УНЧ. Можно поставить.
http://full-chip.net/arduino-proekty/97-cifrovoy-fm-priemnik-na-arduino-...
Гуглить не пробывали, инфы море, схем подключения и конструкций навалом.
Неругайся пробывал гуглить но спросить у живых людей всегда лучше неправдоли)
Всем откликнувшимся большой спасибо.
А вот такой уже с усилителем, дисплеем и кнопками http://www.ebay.com/itm/271826963768?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
А вот такой уже с усилителем, дисплеем и кнопками http://www.ebay.com/itm/271826963768?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Согласен с вами надо было такой покупать для новичка самое оно воткнул и работает)
Добрался я сегодня и до этого чуда. Покупал здесь - http://ru.aliexpress.com/item/FM-Stereo-Radio-Module-RDA5807M-Wireless-Module-Profor-For-Arduino-RRD-102V2-0/32452351790.html
Завелся на таком коде.
#define RDA5807_adrr 0x60 #define RDA5807_SDA A1 #define RDA5807_SCL A0 #define ARDUINO_PORT(a) ((a<8)?PORTD:(a<14?PORTB:PORTC)) #define ARDUINO_PIN(a) ((a<8)?PIND:(a<14?PINB:PINC)) #define ARDUINO_DDR(a) ((a<8)?DDRD:(a<14?DDRB:DDRC)) #define ARDUINO_PIN_NUM(a) ((a<8)?a:(a<14?(a-8):(a-14))) #define SDA_OUT_HAL(sda) void SDA_OUT (void){bitSet(ARDUINO_DDR(sda), ARDUINO_PIN_NUM(sda));} #define SDA_IN_HAL(sda) void SDA_IN (void){bitClear(ARDUINO_DDR(sda), ARDUINO_PIN_NUM(sda));} #define SDA_HIGHT_HAL(sda) void SDA_HIGHT(void){bitSet(ARDUINO_PORT(sda), ARDUINO_PIN_NUM(sda));} #define SDA_LOW_HAL(sda) void SDA_LOW (void){bitClear(ARDUINO_PORT(sda), ARDUINO_PIN_NUM(sda));} #define SCL_HIGHT_HAL(scl) void SCL_HIGHT(void){bitSet(ARDUINO_PORT(scl), ARDUINO_PIN_NUM(scl));asm volatile ("nop");} #define SCL_LOW_HAL(scl) void SCL_LOW (void){bitClear(ARDUINO_PORT(scl), ARDUINO_PIN_NUM(scl));asm volatile ("nop");asm volatile ("nop");} #define SCL_OUT_HAL(scl) void SCL_OUT (void){bitSet(ARDUINO_DDR(scl), ARDUINO_PIN_NUM(scl));} #define WITE_HIGHT_SDA_HAL(sda) void WITE_HIGHT_SDA (void){loop_until_bit_is_clear(ARDUINO_PIN(sda), ARDUINO_PIN_NUM(sda));} #define _i2c(scl,sda) \ SDA_OUT_HAL(sda) \ SDA_IN_HAL(sda) \ SDA_HIGHT_HAL(sda) \ SDA_LOW_HAL(sda) \ SCL_HIGHT_HAL(scl) \ SCL_LOW_HAL(scl) \ SCL_OUT_HAL(scl) \ WITE_HIGHT_SDA_HAL(sda) _i2c(RDA5807_SCL, RDA5807_SDA); void _i2cWriteByte(byte v) { SDA_OUT(); for (byte i=8;i;i--) { if (v & 0x80) SDA_HIGHT(); else SDA_LOW();SCL_HIGHT(); v <<=1; SCL_LOW(); } SDA_IN();SDA_HIGHT(); SCL_HIGHT(); WITE_HIGHT_SDA(); SCL_LOW(); } enum { OPERATION_SEND_START, OPERATION_SEND_STOP, OPERATION_SEND_ACK, OPERATION_INIT } I2C_OPERATION; void _i2cBusOperation(byte OperationID) { switch (OperationID) { case OPERATION_SEND_START: SDA_OUT(); SDA_HIGHT();SCL_HIGHT();SDA_LOW();SCL_LOW(); _i2cWriteByte(RDA5807_adrr<<1);break; case OPERATION_SEND_STOP: SDA_OUT(); SDA_LOW(); SCL_HIGHT(); SDA_HIGHT(); SDA_IN(); break; case OPERATION_SEND_ACK: SDA_OUT(); SCL_LOW(); SDA_LOW(); SCL_HIGHT(); SCL_LOW(); SDA_IN(); break; case OPERATION_INIT: SCL_OUT();break; } } double f_ini=95.6; void setFrequency(double fmhz) // Функция загрузки частоты настройки в модуль EM5807M. { int frequencyB = 4 * (fmhz * 1000000 + 225000) / 32768; char frequencyH = frequencyB >> 8; // Старший байт. char frequencyL = frequencyB & 0XFF; // Накладываем маску 0xFF на младший байт. _i2cBusOperation(OPERATION_SEND_START); _i2cWriteByte(frequencyH); _i2cWriteByte(frequencyL); _i2cWriteByte(0xB8); _i2cWriteByte(0x10); _i2cWriteByte(0x00); _i2cBusOperation(OPERATION_SEND_STOP); } // the setup routine runs once when you press reset: void setup() { SCL_OUT(); setFrequency(f_ini); pinMode(13, OUTPUT); } byte vol=0; void loop() { digitalWrite(13,HIGH); vol++; delay(300); digitalWrite(13,LOW); delay(2000); f_ini=f_ini+0.1; setFrequency(f_ini); }Ни одного описания соответствующего этому коду не попалось ))) Чип на плате помечен как RDA5807M. Как ему громкость регулировать?
Годный. Хочу к нему ещё усилок D класса на 15Вт прицепить.
Как динамики к нему подключили - напрямую или по схеме выше??? Можно фотку/схему - спасибо.
Как динамики к нему подключили - напрямую или по схеме выше??? Можно фотку/схему - спасибо.
А нету схемки никакой. SDA и SCL на А1 и А0, землю и 3,3В от ардуины, на выход наушники от мобилки. Динамик можно напрямую, но 32Ома. Обычные 4/8 Ом через усилок, пока еще не пробовал.
Я собрал радио на этом модуле. Усилитель прицепил на TDA7056. Тут добавил печатку УНЧ. Скетч взял отсюда.
Заработало сразу) Осталось только корпус подобрать. Кстати качество приема модуля среднее.
с динамиком напрямую рискуем спалить микруху, при на 12 Ом она начинает аццки греться.
А чип RDA5807 или RDA5807M?
Как у автора топика RDA5807M, RDA5807 видимо отличается количеством ног и размером.
Думаю и регистры разные, по даташитам без М та что с М у меня заработала только частично.
Доброго времени суток,возникла проблема при компилировании проектов с вот этой библиотекой https://github.com/mathertel/Radio
На работе машина на Linux Mint посставил версию 1.8.3. при компиляции примеров из библиотеки ,начинает ругаться вот такой фразой "No such file or directory #include <arduino.h>"
Подскажите как победить.
Да, кстати. Я вот этот модуль хотел попробовать приспособить для приема АИС сигнала (162 МГц). Увы, модуль тянет только до 133 примерно. Дальше надо менять элементы в ГУНе ФАПЧа. И колдовать с кварцем и его настройками. Но уж больно элементы ГУНа маленькие. Забросил эту ветвь. А вещалки он ловит, но мне не очень понравилось.
Этот модуль думал использовать для приема спутников NOAA ,плюс конвертер который переносит со 137 мгц на Фм диапазон.Но так в задумках и осталось
Написал библиотеку под этот модуль. Тестовый скеч прикрепляю (в библиотеке он есть)
https://drive.google.com/file/d/1UC76ne0fgzVc9WwlQz_wA7zIapd_Tx6e/view?usp=sharing
#include "RDA5807M.h" RDA5807M radio;// создаем объект radio void setup() { Serial.begin(115200); radio.begin(); radio.setFrequency(1070);//Задаем частоту 107,0 // После этой строки радио начнет играть. Остальные настройки не обязательны radio.antena(2);// 0 -отключена 1 - земля, 2 - вход FMIN 3 - оба источника radio.bass(true);// Усиление баса radio.setStereo(false); // включаем моно режим. По умолчанию стерео radio.setVolume(15);//0..15 radio.mute(true); radio.mute(false); radio.powerOFF(true); radio.powerOFF(false); // тоже что и radio.begin(); radio.noisReduction(31); // от 0 до 31 шумодав } void loop() { //byte i = radio.getRSSI(); radio.nextStation();// Автоматический поиск вперед //radio.prevStation();// Автоматический поиск назад delay(1000);// Задержка для ожидания стереосигнала чтоб отобразить в сериал Serial.println("Frequency = " + String((float)radio.getFrequency () / 10, 1) + " : RSSI = " + String (radio.getRSSI()) + " : Stereo = " + String(radio.getStereo()) + ";"); delay(30000); }Это переделанная стандартная библиотека?
Нет, просто сделана на основании даташита.
А какие максимальные вверх и вниз частоты можно выжать из модуля?
50 - 108 МГц FM
То есть выше 108 мгц прием не возможен?
У этого модуля невозможен. А чем вас rtl-sdr не устраивает?
То есть выше 108 мгц прием не возможен?
Недокументированно, он до 115 перестраивается. Но не выше.
То есть выше 108 мгц прием не возможен?
Недокументированно, он до 115 перестраивается. Но не выше.
The RDA5807M series support frequency range is from 50MHz to 115MHz. (SINGLE-CHIP BROADCAST FM RADIO TUNER Rev.1.1–July.2011)