[Перевод] Беспроводной телефон из консервных банок
Новый подход к старой игрушке — беспроводной телефон из консервных банок берёт прошлогоднюю технологию и впихивает её в современность!
Буквально вчера я вёл серьёзный телефонный разговор, как вдруг мой бананофон перестал работать! Я очень расстроился. Ну, всё — я последний раз пропускаю звонок из-за этого дурацкого телефона! (Оглядываясь назад, стоит признать, что я в тот момент был, возможно, слишком сильно зол).
Пришло время обновлений. И вот он — новый беспроводной телефон из консервной банки! Новый, улучшенный псевдотелефон, подходящий для всех моих коммуникационных нужд!
Кроме шуток, проект реально рабочий. И вот, как я его сделал.
Инструменты и материалы
Для проекта вам потребуется довольно много электронных компонентов и парочка инструментов.
Инструменты:
- Дрель.
- Ножницы по металлу.
- Пистолет для термоклея.
- Круглогубцы.
- Молоток с круглым бойком.
Материалы (всё в двух экземплярах):
Готовим банки
Перед подключением электроники нужно подготовить банки. Просверлим в них по два отверстия — одно для антенны, второе для кнопки.
Я начал с отверстия для антенны. Для начала я засунул антенную плату внутрь банки, чтобы измерить, на каком расстоянии от стенки должно находиться отверстие. Затем я разметил место под отверстие при помощи стираемого маркера, потому что хотел удалить его следы после работы. Затем метчиком я наметил место под будущее отверстие. Это поможет сверлить на следующем шаге.
Размер отверстия будет зависеть от используемой вами антенны. Я просто подобрал сверло по размеру, сравнивая его с размером резьбы, куда накручивается антенна.
У меня получилось 5,5 мм.
ОК, надеваем защитные очки!
Подобрав диаметр и разметив отверстие, просверлите его. Лучше делать это на высокой скорости, но сильно не давить. Жесть тонкая и имеет тенденцию к образованию заусенцев — осторожнее с острым металлом. Для зачистки края используйте ножницы по металлу и круглогубцы.
После этого можно приступать к отверстию для кнопки. С ним всё немного по-другому.
Я работаю с тем, что есть, поэтому решил попробовать снова сделать отверстие при помощи дрели и круглогубцев. Но гораздо удобнее было бы делать это при помощи сверла Форстнера. Вот, как я это сделал.
Сначала я открутил с кнопки пластиковую гайку. Потом я поместил гайку на то место, где мне нужно было сделать отверстие, и отметил её внутренний диаметр. Потом я просверлил пять отверстий и использовал ножницы для удаления материала и приведения отверстия к круглому виду.
После этого я при помощи молотка и круглогубцев забил края внутрь и загнул их — см. фото. Рекомендую использовать молоток с круглым бойком. Я использовал обычный, поскольку другого нет.
Теперь можно вкрутить антенну и кнопку. Остерегайтесь острых краёв металла!
Время термоклея
Пора вклеивать все компоненты. Сначала включите клеевой пистолет и дайте разогреться. Потом используйте клей, чтобы приклеить антенную плату к банке. Также советую покрыть клеем металлическую часть антенны, торчащую наружу, чтобы её не закоротило с банкой.
Рекомендую использовать как можно больше клея, чтобы ничто не коротило на банку. Если вы услышите треск или писк во время теста, вероятно, что-то контачит с банкой.
Приклейте Arduino Uno к донышку банки, а потом подсоедините батарейки. Это самая сложная часть — рекомендую нанести клей на края, а потом разместить так, чтобы антенна смотрела вверх, а батарейки были в противоположной части банки. Батарейки будут естественным центром тяжести.
Динамик я приклеил с одной стороны держателя батареек, а микрофон — с другой. Причины — эстетические соображения и желание аккуратно уложить провода.
Подключаем электронику
Когда всё прочно приклеено, пора подключать провода. Соедините проводами компоненты по схеме. Ниже привожу список подключаемых контактов.
Антенная плата:
- MI → MISO
- MO → MOSI
- SCK → SCK
- CE → Pin 7
- CSE → Pin 8
- GND → GND
- 5V → 5V
Комментарий: NRF24L01 — отличная штука, только уж очень чувствительна к питанию. Подключайте её только к 3,3 В — если не используете дополнительную плату, как я. К 5 В подключайте только с дополнительной платой, иначе спалите антенну.
Аналоговый звуковой датчик:
- Gravity Pins → A0
Аудио усилитель:
- + (вход динамика) → 9 или 10 (левый или правый канал)
- — (вход динамика) → GND
- Gravity pins → D0
Переключатель:
- NO → A1
- COM → GND
Краткое пояснение работы схемы.
Мы используем библиотеку RF24Audio, поэтому микрофон, динамик, выключатель и антенну нужно подключать строго определённым образом:
- Сигнальный контакт микрофона всегда идёт на контакт A0.
- Переключатель (приём/передача) — на А1.
- Аудио усилитель включается куда угодно, главное, чтобы у него было питание. Кабель для передачи аудио нужно подключать к контактами 9 и 10.
- Контакты антенны CE и CSE подключаются только к контактам 7 и 8.
Закачиваем код
Благодаря библиотеке RF24Audio программа получается крайне простой. Буквально 10 строк кода. Взгляните:
//Include Libraries
#include
#include
#include
RF24 radio(7,8); // Радио использует контакты 7 (CE), 8 (CS).
RF24Audio rfAudio(radio,1); // Аудио использует радио, номер радио назначить 0.
void setup() { rfAudio.begin(); // Инициализировать библиотеку.
}
Чтобы закачать код, нужно установить Arduino IDE, скачать данный код и открыть его. Убедитесь, что в меню «инструменты» программатор установлен на AVR ISP, а плата — на Arduino UNO. Убедитесь, что вы выбрали правильный COM-порт.
Теперь соедините Arduino и компьютер USB-кабелем, и нажмите кнопку «загрузить» слева вверху. Код должен загрузиться и вы должны услышать негромкое жужжание.
Попробуйте нажать кнопку и прислушаться, изменилась ли высота жужжащего звука. Наверху платы IO Expansion HAT при этом должен потухнуть светодиод.
Если всё так, то программа работает и всё подсоединено правильно.
Испытания банок
Для проверки нужно включить обе банки. Зажмите кнопку на одной из банок и скажите что-нибудь в микрофон. Слышите ли вы звук из другой банки? Попробуйте проделать это с другой банкой.
Если звук проходит, то у вас всё получилось! Если у вас проблемы с помехами или вы слышите жужжание, проверьте на наличие проблем с заземлением. Могу порекомендовать обмотать антенну изоляционной лентой.
После этого испытайте дальность работы — если на пути сигнала ничего нет, он должен проходить на расстояние порядка километра!
Заключение
Поздравляю, вы добрались до конца проекта! Отличная работа!