Содержание

Беспроводные наушники

В погоней за уменьшением количества проводов многие производители переходят на wireless-технологии. Заряжать телефон и слушать музыку, не подключаясь к устройству с помощью кабелей, стало привычным делом. Вот и мы научимся передавать звук по радио и прокачаем старые наушники nrf-модулями.

Что это?

Для передачи звука используeм пару радиомодулей nRF24L01+. Передатчик основан на Arduino Uno, а приемник — для компактности — сделан на Breadboard c Arduino Nano и аккумулятором.

Видеообзор

Что нам понадобится?

  1. Разъём аудиовыход
  2. Разъём аудиовход
  3. Конденсаторы электролитические 47 мкФ
  4. Конденсаторы Электролитические 220 мкФ

Как собрать?

Для питания nRF24L01 нужно использовать отдельный источник на 3,3 В, т.к. встроенного в Ардуино регулятора, для этих целей будет не достаточно. Соберем его на тех же Breadboard-ах, что и основные схемы.

Сборка передатчика

Соберем передатчик на Breadboard-е по схеме ниже.

Сборка приемника

Приемник тоже соберем на Breadboard-е но дополнительно оборудуем его павербанком для мобильности.

Прошивка

Для работы устройства необходимо будет скачать и установить библиотеки RF24 и RF24V.

Прошейте передатчик кодом ниже.

Transmitter.ino
// подключим необходимые библиотеки
#include <RF24.h>
#include <SPI.h>
#include <RF24V.h>
 
// создаем объект передатчика и указываем пины подключения
RF24 radio(7,8);
RF24V Sound(radio,0);
 
void setup()
{
// инициализируем работу передатчика
radio.begin();
// устанавливаем канал связи
radio.setChannel(0x4b);
// выбираем скорость передачи
radio.setDataRate(RF24_250KBPS);
// инициализируем передачу звука
Sound.begin();
// запускаем передачу звука
Sound.transfer();
}
 
void loop()
{
}

В приемник загрузите этот код.

Receiver.ino
// подключим необходимые библиотеки
#include <RF24.h>
#include <SPI.h>
#include <RF24V.h>
 
// создаем объект приемника и указываем пины подключения
RF24 radio(7,8);
RF24V Sound(radio,0);
 
void setup()
{
// инициализируем работу приёмника
radio.begin();
// устанавливаем канал связи
radio.setChannel(0x4b);
// выбираем скорость приёма
radio.setDataRate(RF24_250KBPS);
// инициализируем приём звука
Sound.begin();
// запускаем приём звука
Sound.reader();
}
 
void loop()
{
}

Что дальше?

Чтобы сделать размеры устройства еще меньше, соберите регулятор на Troyka Perfboard или и вовсе распаяйте всё устройство на Proto Shield.