| Ваш IP: 3.226.251.205 | Online(19) - гости: 7, боты: 12 | Загрузка сервера: 0.41 ::::::::::::

FM приемник на TEA5767 (Arduino)

ИМС TEA5767 производимая компанией NXP применяется для конструирования низковольтных FM-радио тюнеров. В составеTEA5767 имеются внутренние цепи выделения промежуточной частоты и демодуляции принимаемого сигнала, что позволяет обходиться минимальным набором внешних компонентов.

Технические параметры TEA5767:

  • Напряжение питания от 2,5 до  5 В
  • Потребляемый ток при Uпит = 5 В 12,8 мА
  • Чувствительность 2 мкВ
  • Отношение сигнал/шум  54 дБ
  • Разделение между стереоканалами 24 дБ
  • Коэффициент гармоник 0,4 %
  • Диапазон принимаемых частот от 76 МГц до 108 МГц
  • Шины управления: I2C или 3-х проводная
  • Функция автоматической настройки на принимаемые радиостанции
  • Автоматическое стереодекодирование принятого сигнала

Радио модуль TEA5767 управляется всего двумя кнопками «+» и «-«, которые используются для поиска необходимой станции. Через 10 секунд после не активности кнопок, частота выбранного канала сохраняется в энергонезависимой памяти.

Библиотека — TEA5767.zip

#include <TEA5767.h>
#include <Wire.h>
#include <LiquidCrystal.h>
#include <EEPROM.h>
 
TEA5767 Radio;
LiquidCrystal lcd(7, 6, 2, 3, 4, 5);
 
  unsigned long last_pressed,time;
  unsigned char buf[5];
  int stereo,signal_level,search_mode = 0,search_direction,i,f_h,f_l,f,w;
  double current_freq;
  float f_new = (EEPROM.read(0)*256 +  EEPROM.read(1));
  byte a1[8]={0b00000,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000,0b11111};
  byte a2[8]={0b00000,0b00000,0b00000,0b00000,0b00000,0b00000,0b11111,0b11111};
  byte a3[8]={0b00000,0b00000,0b00000,0b00000,0b00000,0b11111,0b11111,0b11111};
  byte a4[8]={0b00000,0b00000,0b00000,0b00000,0b11111,0b11111,0b11111,0b11111};
  byte a5[8]={0b00000,0b00000,0b00000,0b11111,0b11111,0b11111,0b11111,0b11111};
  byte a6[8]={0b00000,0b00000,0b11111,0b11111,0b11111,0b11111,0b11111,0b11111};
  byte a7[8]={0b00000,0b11111,0b11111,0b11111,0b11111,0b11111,0b11111,0b11111};
  byte a8[8]={0b11111,0b11111,0b11111,0b11111,0b11111,0b11111,0b11111,0b11111};
 
void setup() { Serial.begin(9600); 
  Wire.begin();
  Radio.init();
  Radio.set_frequency(f_new/10); 
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.clear();
  pinMode(12,INPUT);
  pinMode(11,INPUT);
  lcd.createChar(0,a1);lcd.createChar(1,a2);lcd.createChar(2,a3);lcd.createChar(3,a4);lcd.createChar(4,a5);lcd.createChar(5,a6);lcd.createChar(6,a7);lcd.createChar(7,a8);
}
 
void loop() {
  if (Radio.read_status(buf) == 1) {
    current_freq =  floor (Radio.frequency_available (buf) / 100000 + .5) / 10;
    stereo = Radio.stereo(buf);
    signal_level = Radio.signal_level(buf);
    lcd.setCursor(0,0);
    lcd.print("FM "); lcd.print(current_freq);lcd.print(" MHz ");
    lcd.setCursor(0,1);
    if (stereo) lcd.print("STEREO "); else lcd.print("MONO  ");
    for(i=0;i<8;i++){if(signal_level>=8+i){lcd.setCursor(8+i,1);lcd.write((uint8_t)i);}}
}
 
  if (search_mode==1){if(Radio.process_search(buf, search_direction)==1){search_mode = 0;}}
 
  if (digitalRead(11)==HIGH) { 
    search_mode = 1;time=millis();w=1;
    search_direction = TEA5767_SEARCH_DIR_UP;
    Radio.search_up(buf);
    delay(200);
  }
 
  if (digitalRead(12)==HIGH) {
    search_mode = 1;time=millis();w=1;
    search_direction = TEA5767_SEARCH_DIR_DOWN;
    Radio.search_down(buf);
    delay(200);
  } 
  f = current_freq*10;
  f_h = highByte(f);f_l = lowByte(f);
  if(millis()-time>10000&&w==1){w=0; EEPROM.update(0,f_h);EEPROM.update(1,f_l);}
  delay(50);if(search_mode==1){lcd.clear();}
}

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Триодный двухтактный усилитель мощностью 8 Вт

    Триодный двухтактный усилитель мощностью 8 Вт

    Предложенный усилитель прост в изготовлении и не содержит дефицитных деталей. Главным достоинством данного усилителя является низкий уровень нелинейных искажений даже без введения ООС, так же очень малое выходное сопротивление от 2 до 10 Ом. Усилитель имеет три каскада усиления — предварительный каскад на половине двойного триода 6Н2П, фазоинвертор на основе …Подробнее...
  • LM3915 — 10-и разрядный индикатор уровня

    LM3915 — 10-и разрядный индикатор уровня

    На рисунке показана схема простого десятиразрядного индикатора уровней. Основа схемы ИМС LM3915, напряжение питания от 5 до 20В, при напряжении питания 5В стабилизатор 7805 из схемы можно исключить. Устройство подключается непосредственно к линейному выходу.Подробнее...
  • Входной делитель для частотомера

    Входной делитель для частотомера

    Данная приставка позволяет расширить диапазон частотомера до 100-300МГц при верхнем пределе частотомера в 10-30МГц, то есть приставка представляет собой ВЧ делитель частоты на 10. Входное сопротивление приставки 75 Ом, чувствительность по входу 0,5В. VD1 VD2 совместно с R1 представляют собой ограничитель входного напряжения. Далее следует ВЧ дифференциальный усилитель на D1.1, …Подробнее...
  • Экономичный LED фонарик

    При изготовлении малогабаритного фонарика главным является его экономичность. При применении светодиода с током потребления 24мВт 4-х щелочных батареек типа АА хватит до одного месяца непрерывной работы. Фонарик основан на таймере 7555 который работает в автоколебательном режиме (не использовать 555). Белый светодиод 400 mcd имеет малый ток потребления и яркое направленное …Подробнее...
  • Входной предварительный усилитель с регулировкой тембра, громкости и баланса на NE5532

    Входной предварительный усилитель с регулировкой тембра, громкости и баланса на NE5532

    На рисунке показана схема предварительного усилителя с трех полосным регулятором тембра, баланса и громкости. Усилитель построен по простой схеме и содержит одну ИМС типа NE5532. Напряжения питания схемы 12 В, ток потребления не более 80мA. Источник: www.eleccircuit.com/pre-tone-control-stereo-bass-mid-range-treble-by-ic-ne5532+изображение печатной платыПодробнее...