Интернет радио на ардуино

Для этого нам понадобится:

TEA5767: http://ali.ski/5kmDOO

Скетч: https://yadi.sk/d/mpoiVteF33wMEz
Библиотека: https://yadi.sk/d/XtjemqVy33wMbj
Даташит:https://yadi.sk/i/K7Uh7nW133wMjf

В данном примере рассмотрим реализацию FM радио на ардуино с помощью специального датчика TEA5767.

Данный датчик подключается к Arduino по шине i2c.

Сам даташит датчика выложен по ссылке приведенной выше, можете скачать и ознакомиться с возможностями данного датчика.

Схема подключения всех компонентов приведена в начале статьи.

После подключения всех компонентов по схеме необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.

#include <TEA5767.h> // from https://github.com/andykarpov/TEA5767 #include <Wire.h> #include <Button.h> // from http://arduino-info.wikispaces.com/HAL-LibrariesUpdates #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); // adress is 0x20 for LCD16x2 // adapted sketch by niq_ro from http://nicuflorica.blogspot.ro // version 2.0 TEA5767 Radio; double old_frequency; double frequency; int search_mode = 0; int search_direction; unsigned long last_pressed; Button btn_forward(11, PULLUP); Button btn_backward(12, PULLUP); void setup() { Wire.begin(); Radio.init(); Radio.set_frequency(101.2); Serial.begin(9600); lcd.init(); lcd.backlight(); //backlight is now ON lcd.begin(16,2); lcd.clear(); } void loop() { unsigned char buf; int stereo; int signal_level; double current_freq; unsigned long current_millis = millis(); 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 «); lcd.print(signal_level); lcd.print(«/15 «); } if (search_mode == 1) { if (Radio.process_search (buf, search_direction) == 1) { search_mode = 0; } } if (btn_forward.isPressed()) { last_pressed = current_millis; search_mode = 1; search_direction = TEA5767_SEARCH_DIR_UP; Radio.search_up(buf); delay(500); } if (btn_backward.isPressed()) { last_pressed = current_millis; search_mode = 1; search_direction = TEA5767_SEARCH_DIR_DOWN; Radio.search_down(buf); delay(500); } delay(100); }

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *