| Ваш IP: 34.204.191.145 | Online(25) - гости: 17, боты: 8 | Загрузка сервера: 0.96 ::::::::::::

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();}
}

Комментарии

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

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

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

  • Автомат-выключатель освещения

    Автомат-выключатель освещения предназначен для отключения света в дневное время суток, его светочувствительным прибором служит фоторезистор R1 который включен на входе порогового уст-ва собранного на элементах DD1.1 DD1.3. При нормальной освещенности сопротивление фоторезистора  мало, поэтому на выходе DD1.3 будет напряжение высокого уровня и генератор импульсов собранный на элементах DD1.2 DD1.4 не …Подробнее...
  • Узел задержки включения

    Узел задержки включения

    Узел задержки включения активирует реле через установленное время. Время регулируется от 0 до 20 секунд при указанных в схеме элементах. Мощность подключаемого уст-ва ограничена током коммутации выбранного Вами реле. При помощи резистора R1 происходит установка задержки времени включения реле. Увеличивая емкость конденсатора С1, Вы увеличите максимальное время задержки включения. Источник — http://www.aaroncake.net/circuits/relaytim.aspПодробнее...
  • Преобразователь напряжения на NCP1450A (1,9…5В/1А)

    Преобразователь напряжения на NCP1450A (1,9…5В/1А)

    NCP1450A — повышающий DC−DC импульсный преобразователь (180кГц), используется для питания портативной радиоэлектронной аппаратуры, зарядки аккумуляторов. ИМС NCP1450A используется совместно с выходным биполярным или полевым транзистором. Диапазон входных напряжений от 0.6 до 5.5В. Преобразователь обладает высоким КПД до 88% и большой точностью выходного напряжения (±2,5%). Преобразователь имеет пять стандартных выходных напряжений: 1.9В, 2.7В, 3В, …Подробнее...
  • Трехполосная малогабаритная акустическая система

    Основные технические характеристики АС Номинальная (паспортная) мощность. . . . . . . . . . . . . . . .  . . . . . 15 (35) Вт Номинальное электрическое сопротивление . . . . . . . . . . . . . . . . . …Подробнее...
  • Новогодние мигалки (на четыре гирлянды с эффектом наката волны)

    Устройство дает эффект последовательного зажигания всех 4-х гирлянд, в одном направлении, а затем последовательное гашение в обратном направлении. В основе схемы лежит микросхема D5, она содержит четыре RS-триггера, которые управляются двумя счетчиками с десятичными выходами (D3D4). Счетчики включены последовательно. Например: Сначала D3 считает от 0 до 5, затем досчитав до …Подробнее...