Новый подход к старой игрушке — беспроводной телефон из консервных банок берёт прошлогоднюю технологию и впихивает её в современность!

Буквально вчера я вёл серьёзный телефонный разговор, как вдруг мой бананофон перестал работать! Я очень расстроился. Ну, всё — я последний раз пропускаю звонок из-за этого дурацкого телефона! (Оглядываясь назад, стоит признать, что я в тот момент был, возможно, слишком сильно зол).

Пришло время обновлений. И вот он – новый беспроводной телефон из консервной банки! Новый, улучшенный псевдотелефон, подходящий для всех моих коммуникационных нужд!


Кроме шуток, проект реально рабочий. И вот, как я его сделал.
Инструменты и материалы
Для проекта вам потребуется довольно много электронных компонентов и парочка инструментов.


Инструменты:
- Дрель.
- Ножницы по металлу.
- Пистолет для термоклея.
- Круглогубцы.
- Молоток с круглым бойком.
Материалы (всё в двух экземплярах):
- DFduino Uno R3
- Gravity IO Expansion Shield (не обязательно)
- Аналоговый датчик звука (микрофон)
- 386AMP Audio Amplifier (динамик)
- Отсек для батареек 6AA Battery Holder с круглым разъёмом DC Barrel Jack (и 6x батареек AA)
- NRF24L01+PA+LNA с антенной.
- Нажимная кнопка.
- Алюминиевая банка из-под кофе.
- Соединительные провода.
Готовим банки
Перед подключением электроники нужно подготовить банки. Просверлим в них по два отверстия – одно для антенны, второе для кнопки.

Я начал с отверстия для антенны. Для начала я засунул антенную плату внутрь банки, чтобы измерить, на каком расстоянии от стенки должно находиться отверстие. Затем я разметил место под отверстие при помощи стираемого маркера, потому что хотел удалить его следы после работы. Затем метчиком я наметил место под будущее отверстие. Это поможет сверлить на следующем шаге.
Размер отверстия будет зависеть от используемой вами антенны. Я просто подобрал сверло по размеру, сравнивая его с размером резьбы, куда накручивается антенна.
У меня получилось 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 <RF24.h>
#include <SPI.h>
#include <RF24Audio.h>
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 при этом должен потухнуть светодиод.
Если всё так, то программа работает и всё подсоединено правильно.
Испытания банок

Для проверки нужно включить обе банки. Зажмите кнопку на одной из банок и скажите что-нибудь в микрофон. Слышите ли вы звук из другой банки? Попробуйте проделать это с другой банкой.
Если звук проходит, то у вас всё получилось! Если у вас проблемы с помехами или вы слышите жужжание, проверьте на наличие проблем с заземлением. Могу порекомендовать обмотать антенну изоляционной лентой.
После этого испытайте дальность работы – если на пути сигнала ничего нет, он должен проходить на расстояние порядка километра!
Заключение


Поздравляю, вы добрались до конца проекта! Отличная работа!
McDuk
А можно взять прямоугольную кнопку и не корячиться с выпиливанием круглой дырки. 4 движения дремелем. И от монтажа на соплях внутри железной банки мне больно смотреть. Можно же припаять любое крепление. Склеить inner case из картона. Или завернуть электрическую часть в пупырчатую пленку и скотч и зафиксировать строительной пеной.
yvm
del
McDuk
Либо делаем телефон из клея и спичек, либо всё же достаточно дорогую (2 дешевых GSM телефона обойдутся дешевле) электронную поделку. Тут бы в масть пошла имитация консервной банки, напечатанная на 3Д принтере ;)
Musimas
Но дырки не печатать, а все равно сверлить :D