Добавить в корзинуПозвонить
Найти в Дзене
Заметки кота

Приемник FPV со сканером. RX7500 + ESP32

Данная статья посвящена обзору проекта устройства, предназначенного для сканирования радиочастотного диапазона 7.2 ГГц (6000–7500 МГц) и визуализации уровня сигнала. В основе проекта лежит микроконтроллер ESP32 и специализированный модуль приемника RX7500. Устройство представляет собой портативный анализатор спектра с графическим дисплеем. Оно предназначено для поиска активных радиоканалов, измерения уровня сигнала (RSSI). Проект эволюционировал от использования модуля RX5808 к RX7500, потребовав изменения логики управления по интерфейсу SPI. В качестве пользовательского интерфейса используется OLED-дисплей для отображения графика и энкодер с кнопками для навигации и изменения настроек. Дисплей OLED (SSD1306, I2C): Модуль приемника RX7500 (SPI интерфейс): Ротационный энкодер: Вспомогательные кнопки управления: Важной особенностью кода является реализация программного SPI для работы с RX7500. 1. Протокол связи (Software SPI):
Вместо стандартного аппаратного SPI используется программна
Оглавление

Данная статья посвящена обзору проекта устройства, предназначенного для сканирования радиочастотного диапазона 7.2 ГГц (6000–7500 МГц) и визуализации уровня сигнала. В основе проекта лежит микроконтроллер ESP32 и специализированный модуль приемника RX7500.

Общее описание проекта

Устройство представляет собой портативный анализатор спектра с графическим дисплеем. Оно предназначено для поиска активных радиоканалов, измерения уровня сигнала (RSSI). Проект эволюционировал от использования модуля RX5808 к RX7500, потребовав изменения логики управления по интерфейсу SPI.

В качестве пользовательского интерфейса используется OLED-дисплей для отображения графика и энкодер с кнопками для навигации и изменения настроек.

-2

Основные функции

  1. Сканирование спектра: Автоматический перебор частот в заданном диапазоне (6000–7500 МГц) с построением графика сигнала в реальном времени.
  2. Поиск лучшего сигнала: По завершении сканирования устройство автоматически настраивается на частоту с самым высоким уровнем RSSI.
  3. Ручная настройка: Пользователь может вращать энкодер для точного выбора частоты.
  4. Изменение шага сканирования: С помощью дополнительных кнопок можно менять шаг (скорость/разрешение) сканирования от 1 до 10 МГц.
  5. Визуализация: Отображение графика спектра, текущей частоты, уровня RSSI и режима работы на дисплее 128x64.
  6. Калибровка: Программная компенсация смещения частоты (FREQ_OFFSET) для повышения точности настройки.

Аппаратная схема подключения

Дисплей OLED (SSD1306, I2C):

  • SDA — GPIO 21
  • SCL — GPIO 22
  • VCC/GND — питание 3.3В/земля

Модуль приемника RX7500 (SPI интерфейс):

  • DATA — GPIO 23
  • CLK (Clock) — GPIO 18
  • CS (Chip Select) — GPIO 5
  • RSSI (аналоговый вход) — GPIO 34
  • VCC/GND — питание 3.3В/земля

Ротационный энкодер:

  • Pin A — GPIO 25
  • Pin B — GPIO 26
  • Кнопка (Button) — GPIO 27
  • VCC/GND — питание и земля (подтяжка реализована программно или внешними резисторами)

Вспомогательные кнопки управления:

  • Кнопка "Confirm" (уменьшение шага) — GPIO 32
  • Кнопка "Back" (увеличение шага) — GPIO 33
-3

Программная логика

Важной особенностью кода является реализация программного SPI для работы с RX7500.

1. Протокол связи (Software SPI):
Вместо стандартного аппаратного SPI используется программная реализация через функции
IF_SPI_SendByte, IF_SPI_Start, IF_SPI_Stop. Это обусловлено спецификой модуля RX7500, чувствительной к таймингам (задержка 3 мкс после переключения линий CLK/DATA), так как максимальная тактовая частота модуля составляет около 550 кГц.

2. Логика сканирования:
В режиме сканирования цикл
doScanStep последовательно перебирает частоты от FREQ_START до FREQ_END. На каждом шаге:

  • На приемник отправляется команда установки частоты.
  • Производится считывание аналогового сигнала с пина RSSI (усреднение 10 замеров).
  • Значение сохраняется в массив rssiValues.
  • Данные отображаются на дисплее в виде ломаной линии.

3. Обработка прерываний:
Энкодер опрашивается через прерывание (
IRAM_ATTR readEncoderISR), что обеспечивает быструю реакцию на вращение без задержек основного цикла loop. Кнопки энкодера и вспомогательные кнопки обрабатываются для управления режимами работы (запуск/остановка сканирования, изменение шага).

4. Работа с графиком:
Библиотека U8g2 используется для отрисовки. Массив значений RSSI нормализуется (масштабируется) под высоту экрана, и рисуются линии, соединяющие точки измерений.

-4

Потенциал и развитие

Код предоставляет надежную базу, но проект имеет потенциал для расширения:

  1. Сохранение настроек: Добавить сохранение найденных частот или калибровочных коэффициентов в энергонезависимую память (EEPROM/Flash) ESP32.
  2. Оптимизация UI: Добавить индикатор заряда батареи, таймер полета или реализовать более сложные меню.
  3. База частот: Внедрить предустановленные таблицы частот (Raceband, IMPS, Fatshark) для быстрого переключения между ними, а не только непрерывного сканирования.

Исходный код

RX7500_ESP32_scanner.ino

Купить

VRX RX7500 7.2G -95 дБм (1шт) купить в Москве по низкой цене с доставкой | Хобби и отдых | Авито