С помощью RDA5807M можно не только слушать FM радиостанции, но и добыть кое-какую информацию о качестве приема и самой радиостанции.
Данная информация содержится в аппетитном "Cишном структе":
Для тестирования воспользуемся программой и схемой из прошлой статьи
и попробуем получать эту информацию с помощью отправки символа 'i'.
В скетч потребуется добавить несколько строк кода.
Запрос информации можно сделать отправив в монитор порта символ i
Разберем вывод:
Функция radio.getFrequency(); возвращает текущую частоту на которую настроен модуль RDA5807M. Оператор radio.getRadioInfo(&info); обновляет данные в структуре.
- RSSI:20 - уровень сигнала (0....64);
- RDS_YES - Канал RDS активен, (доступен прием текстовых сообщений от радиостанции);
- TUNED_YES - модуль настроен на радиостанцию;
- MODE_MONO:NO - модуль работает в стерео-режиме (возможность принимать стереосигнал - устанавливается программно, её можно отключить с помощью команды radio.setMono(true);
- STEREO_available модуль воспроизводит звук в стерео (уровень сигнала достаточен/станция передает стерео-сигнал).
Подключим к модулю телескопическую антенну и еще раз запросим информацию:
Значение RSSI увеличилось с 20 до 34. Можно ли так тестировать самодельные FM антенны!? Не знаю - пишите в комментариях.
Одна из следующих статей будет посвящена разбору Radio Data System (англ. Radio Data System, RDS) предназначенному для передачи информационных сообщений по каналам ЧМ-радиовещания в диапазоне УКВ. Разберем, что умеет модуль, как это выудить оттуда и насколько это вообще нужно в практических целях.
Полный код примера доступен тут:
Оглавление канала тут:
Всем удачи.