Интернет- радио на микроконтроллере Esp 8266 - Своими руками
Своими руками

Интернет- радио на микроконтроллере Esp 8266

>

Это небольшой проект по изготовлению интернет-радио. Радиопроект на базе микроконтроллера esp8266 с OLED-экраном и поворотным регулятором для выбора канала.
Инструменты и материалы:-Микроконтроллер ESP 8266;-Экран ssd1306 128×64;-Поворотный энкодер с переключателем;
-Lm386;
-Динамик;-Монтажная плата;-Провода;
-Резистор 10К;
-Резистор 220R – 2 шт;-Резистор 10R;
-Конденсатор 0,01 мкФ;
-Конденсатор 0,05 мкФ;-Конденсатор 10 мкФ – 2 шт;-Конденсатор 220 мкф – 2 шт;-Зеленый светодиод;-Красный светодиод;
Шаг первый: об устройстве
Радиокод основан на этом проекте.
В коде запрограммирован выбор 10 станций, но это значение можно изменить.
В памяти сохраняется последняя станция и после выключения и включения устройства, снова включится последняя станция.
Выбор станции можно изменить поворотом энкодера. Подтверждение выбора происходит нажатием на него.
Если по какой-то причине поток станции плохой и радио не может подключиться к этой конкретной станции, нужно
нажать и удерживать кнопку в течении 3 секунд. Это действие остановит автоматическое подключение к Wi-Fi и откроет меню выбора станции. Дальше стандартная процедура, поворот энкодера для выбора станции и нажатие на него для подтверждения.
Мастер также добавил 2 светодиода для индикации. Красный светодиод для индикации питания и зеленый светодиод, который загорается, когда радиостанция подключена к станции.
Шаг второй: схема
На фото представлены схемы подключения компонентов интернет-радио:
-Дисплей ssd1306 с платой esp8266
-Схема подключения энкодера
-Схема усилителя Lm368
-Схема потенциометр

Полная схема подключения находится в pdf-файле.
Esp8266 Lo Fi internet Radio Schematic .pdf
Интернет- радио на микроконтроллере Esp 8266Интернет- радио на микроконтроллере Esp 8266Интернет- радио на микроконтроллере Esp 8266Интернет- радио на микроконтроллере Esp 8266Шаг третий: монтаж
Для построения схемы нужно выполнить следующие шаги:
Помещаем гнездовой разъем на контакты платы esp8266 и припаяйте его к монтажной плате.
Далее подключение следующее:

Подключение экрана
Контакт SCL экрана подключается к контакту D1 esp8266
Контакт SDA экрана подключается к контакту D2 esp8266
Контакт VCC экрана подключается к контакту 3,3 В esp8266
Контакт GND экрана подключается к контакту GND esp8266

Подключение энкодера
Контакт A (CLK) энкодера подключается к контакту D5 esp8266
Контакт B (DT) энкодера подключается к контакту D6 esp8266
Контакт SW энкодера подключается к контакту D7 esp8266
Контакт C (GND) и контакт SW GND энкодера, подключается к контакту GND esp8266
Контакт 3,3 В микросхемы esp8266 подключается к контакту A энкодера через резистор 10 кОм.
Контакт 3,3 В микросхемы esp8266 подключается к контакту B энкодера через резистор 10 кОм.

Подключение lm386
Контакт 1 lm386 подключается к контакту 8 lm386 через конденсатор 10 мкФ
Контакт 2 lm386 подключается к контакту OUTPUT потенциометра 10K
Вывод VCC потенциометра, подключается к выводу RX на esp8266
Контакт GND потенциометра, подключается к контакту GND esp8266
Контакт 3 и контакт 4 lm386 подключаются к контакту GND микросхемы esp8266
Контакт 7 lm386 подключается к GND через конденсатор 10 мкФ.
Контакт 6 lm386 подключается к контакту VIN esp8266
Контакт 6 lm386 подключается к GND через конденсатор 0,01 мкФ
Контакт 6 lm386 подключается к GND через конденсатор 220 мкФ
Контакт 5 lm386 подключается к + (плюсу) динамика через конденсатор 220 мкФ
Контакт 5 lm386 подключается к GND через конденсатор 0,05 мкФ и резистор 10R последовательно.

Светодиоды
Контакт D3 esp8266 подключается к GND через зеленый светодиод и резистор 220R последовательно.
Контакт D4 esp8266 подключается к GND через красный светодиод и резистор 220R последовательно.
Интернет- радио на микроконтроллере Esp 8266Интернет- радио на микроконтроллере Esp 8266Интернет- радио на микроконтроллере Esp 8266Шаг четвертый: программное обеспечение
Перед компиляцией кода в программном обеспечении arduino нужно установить все необходимые библиотеки.
ESP8266AudioEsp rotaryAdafruit SSD1306
Если Arduino IDE для Esp8266 не настроено, нужно выполнить следующие действия:
1. Откройте Arduino IDE, перейдите в Инструменты → Плата → NodeMCU 1.0.
2. Зайдите в инструменты → измените частоту процессора на 160 МГц.
3. Скомпилируйте код.
Интернет- радио на микроконтроллере Esp 8266 Показать / Скрыть текст#include <Arduino.h>
#ifdef ESP32
#include <WiFi.h>
#else
#include <ESP8266WiFi.h>
#endif
#include "AudioFileSourceICYStream.h"
#include "AudioFileSourceBuffer.h"
#include "AudioGeneratorMP3.h"
#include "AudioOutputI2SNoDAC.h"
#include <EEPROM.h>

#include "Button2.h" // https://github.com/LennartHennigs/Button2
#include "ESPRotary.h"

#define ROTARY_PIN1 D5
#define ROTARY_PIN2 D6
#define BUTTON_PIN D7

#define CLICKS_PER_STEP 4 // this number depends on your rotary encoder
#define MIN_POS 0
#define MAX_POS 9
Перед установкой кода в Esp8266 необходимо установить пользовательские данные точки доступа Wi-Fi в коде.

Меняем “YOUR WIFI NAME” на название пользовательской точки доступа Wi-Fi:
Интернет- радио на микроконтроллере Esp 8266 Показать / Скрыть текст#define STASSID "YOUR WIFI NAME"
Меняем “PASSWORD” на данные пользовательского пароля:
Интернет- радио на микроконтроллере Esp 8266 Показать / Скрыть текст#define STAPSK "PASSWORD"
Можно обновить адреса и названия станций, заменив их своими.
При замене url не забываем заменять также имя из списка имен, которое представляет эту станцию.
Так, например, когда если меняем “http://www.golden-apple.com:680/;”, в другом URL также нужно заменить “Golden Apple” на новое название станции.
Интернет- радио на микроконтроллере Esp 8266 Показать / Скрыть текст//URL'S
const char *URL[] = {"http://a1rj.streams.com.br:7801/sm",
"http://jazz.streamr.ru/jazz-64.mp3",
"http://www.golden-apple.com:680/;",
"http://stm14.mfmedios.info:8048/;",
"http://cast2.servcast.net:3020/;",
"http://live02.rfi.fr/rfimonde-64.mp3",
"http://live.wbcb1490.com:88/broadwavehigh.mp3",
"http://14543.live.streamtheworld.com:3690/XHFO_FM_SC",
"http://14523.live.streamtheworld.com:3690/KNBAFM_SC",
"http://sa.mp3.icecast.magma.edge-access.net:7200/sc_rad31",
"http://stream.lt8.com.ar:8080/delsiglo995.mp3"
};
//URL'S Names
const char *ChName[] = {"ALJ",
"Jazz RU",
"Golden Apple",
"Mfmedios",
"Servcast",
"RFI – Monde",
"WBCB UK",
"XHFO FM",
"KNBA FM",
"Radio Nacional"
}Шаг пятый: корпус и тестирование
В качестве корпуса можно выбрать любой подходящий ящик, емкость или корпус от другого устройства. Мастер использует что-то типа обувной коробки, слегка задекорировав ее.
Интернет- радио на микроконтроллере Esp 8266После настройки Wi-Fi и ввода кода в esp8266 экран включится, и радио подключится к станции.
Все станции, которые присутствую в списке URL-адресов, имеют скорость 64 кбит / с.
У esp8266 очень маленькое буферное пространство, поэтому, он не может передавать потоки со скоростью выше 96 кбит / с. Скорость также зависит от пропускной способности и трафика в Интернете и сервера, который передает поток. У некоторых из них меньше скорость, а у некоторых выше.

Внутренний ЦАП esp8266 – это 10-битный ЦАП, поэтому особо хорошего звучания от него добиться трудно. С другой стороны, этот 10-битный звук, по словам мастера, очаровывает при прослушивании старых песен.

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.