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

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

Для переключения частоты мы будем использовать кнопки, рабочая информация будет выводиться на ЖК-дисплей, а звук будет выводиться на два динамика, громкость на которых будет регулироваться с помощью модуля с усилителем и потенциометром. Вся схема подключения компонентов самодельного радиоприемника на основе 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