цифровая электроника
вычислительная техника
встраиваемые системы

 




Радиоприемник своими руками на основе Arduino и модуля TEA5767

Автор: Mike(admin) от 7-06-2022, 03:55

С помощью Arduino и целой экосистемы сопутствующих плат и модулей сегодня можно собрать различные интересные электронные устройства, которые могут быть полезны в быту. Не исключением является и радиоприемник, который можно создать на основе Arduino и модуля TEA5767.


Радиоприемник своими руками на основе Arduino и модуля TEA5767

TEA5767 представляет собой радиомодуль FM диапазона, способный принимать сигналы в частотном диапазоне от 76 до 108 МГц. Подключается он к микроконтроллеру с помощью последовательного интерфейса I2C. Далее можно видеть внешний вид данного модуля.


Радиоприемник своими руками на основе Arduino и модуля TEA5767

Для переключения частоты мы будем использовать кнопки, рабочая информация будет выводиться на ЖК-дисплей, а звук будет выводиться на два динамика, громкость на которых будет регулироваться с помощью модуля с усилителем и потенциометром. Вся схема подключения компонентов самодельного радиоприемника на основе Arduino и модуля TEA5767 приведена далее.


Радиоприемник своими руками на основе Arduino и модуля TEA5767

Собранное устройство можно разместить, например, в корпусе из фанеры с необходимыми отверстиями под внешние компоненты.


Радиоприемник своими руками на основе Arduino и модуля TEA5767

Радиоприемник своими руками на основе Arduino и модуля TEA5767

Радиоприемник своими руками на основе Arduino и модуля TEA5767

Код программы для Arduino приведен далее.



#include <EEPROM.h>
#include <Wire.h>
#include <TEA5767N.h>
#include <LiquidCrystal_I2C.h>
#define LED_PIN 3

LiquidCrystal_I2C lcd(0x27, 16, 2);

TEA5767N Radio = TEA5767N();

int P1 = 2;
int B2 = 4;
float freq = 87.60;
int address=0;

void setup () {
  lcd.init();
  lcd.backlight();
  pinMode(LED_PIN, OUTPUT);
  analogWrite(LED_PIN, 50);

  lcd.setCursor(0, 0);
  lcd.print(EEPROM.get(address,freq));
  lcd.setCursor(6, 0);
  lcd.print("MHz");
  Radio.selectFrequency(EEPROM.get(address,freq));
  pinMode(P1, INPUT);
  pinMode(B2, INPUT);
}

void loop () {

  if (digitalRead(P1)==HIGH) {
    freq+=0.1;
    EEPROM.put(address, freq);
    Radio.selectFrequency(EEPROM.get(address,freq));
       lcd.setCursor(0, 0);
       lcd.print(EEPROM.get(address,freq));
       lcd.setCursor(6, 0);
       lcd.print("MHz");     
    }
    else if(digitalRead(B2)==HIGH) {
       freq-=0.1;
    EEPROM.put(address, freq);
    Radio.selectFrequency(EEPROM.get(address,freq));
       lcd.setCursor(0, 0);
       lcd.print(EEPROM.get(address,freq));
       lcd.setCursor(6, 0);
       lcd.print("MHz");
    }
}



© digitrode.ru


Теги: Arduino, радио, TEA5767




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий