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

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

Что это?

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

Видеообзор

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

Как собрать?

Для питания 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.