[Перевод] Беспроводной телефон из консервных банок

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


image

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

548afdfa286b78ce3d1caa8533cb19af.png

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

7c781cb8c47124d75bf60edb250cf62d.png

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

Инструменты и материалы


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

a58b7730bc5165f04e095528c7a6a9a5.jpg

aaf78c37c613993c8ef799691a305573.jpg

Инструменты:

  • Дрель.
  • Ножницы по металлу.
  • Пистолет для термоклея.
  • Круглогубцы.
  • Молоток с круглым бойком.


Материалы (всё в двух экземплярах):

Готовим банки


Перед подключением электроники нужно подготовить банки. Просверлим в них по два отверстия — одно для антенны, второе для кнопки.

d9ae3cc24c4bfc556ac5937d9ad54dbb.jpg

Я начал с отверстия для антенны. Для начала я засунул антенную плату внутрь банки, чтобы измерить, на каком расстоянии от стенки должно находиться отверстие. Затем я разметил место под отверстие при помощи стираемого маркера, потому что хотел удалить его следы после работы. Затем метчиком я наметил место под будущее отверстие. Это поможет сверлить на следующем шаге.

Размер отверстия будет зависеть от используемой вами антенны. Я просто подобрал сверло по размеру, сравнивая его с размером резьбы, куда накручивается антенна.

У меня получилось 5,5 мм.

ОК, надеваем защитные очки!


Подобрав диаметр и разметив отверстие, просверлите его. Лучше делать это на высокой скорости, но сильно не давить. Жесть тонкая и имеет тенденцию к образованию заусенцев — осторожнее с острым металлом. Для зачистки края используйте ножницы по металлу и круглогубцы.

После этого можно приступать к отверстию для кнопки. С ним всё немного по-другому.

Я работаю с тем, что есть, поэтому решил попробовать снова сделать отверстие при помощи дрели и круглогубцев. Но гораздо удобнее было бы делать это при помощи сверла Форстнера. Вот, как я это сделал.

Сначала я открутил с кнопки пластиковую гайку. Потом я поместил гайку на то место, где мне нужно было сделать отверстие, и отметил её внутренний диаметр. Потом я просверлил пять отверстий и использовал ножницы для удаления материала и приведения отверстия к круглому виду.

После этого я при помощи молотка и круглогубцев забил края внутрь и загнул их — см. фото. Рекомендую использовать молоток с круглым бойком. Я использовал обычный, поскольку другого нет.

1a988959798f3638f7341198c1b13a82.png

c3937109d0787150c4837ba3a46a47dd.png

02def7739126b2f470d90514dc97765f.png

fd9959be3bba1cbae2c4af75d9e2324f.png

Теперь можно вкрутить антенну и кнопку. Остерегайтесь острых краёв металла!

Время термоклея


8e9446844023a748bbf392702bd0c347.jpg

Пора вклеивать все компоненты. Сначала включите клеевой пистолет и дайте разогреться. Потом используйте клей, чтобы приклеить антенную плату к банке. Также советую покрыть клеем металлическую часть антенны, торчащую наружу, чтобы её не закоротило с банкой.

7b2955147b7d7e713989b3bb46a785bc.jpg

Рекомендую использовать как можно больше клея, чтобы ничто не коротило на банку. Если вы услышите треск или писк во время теста, вероятно, что-то контачит с банкой.

Приклейте Arduino Uno к донышку банки, а потом подсоедините батарейки. Это самая сложная часть — рекомендую нанести клей на края, а потом разместить так, чтобы антенна смотрела вверх, а батарейки были в противоположной части банки. Батарейки будут естественным центром тяжести.

5fd9288052dd6e2aaef3b684f7d374ba.jpg

Динамик я приклеил с одной стороны держателя батареек, а микрофон — с другой. Причины — эстетические соображения и желание аккуратно уложить провода.

Подключаем электронику


8aa99486a04d61a6054acf91f57456ab.jpg

Когда всё прочно приклеено, пора подключать провода. Соедините проводами компоненты по схеме. Ниже привожу список подключаемых контактов.

Антенная плата:

  • 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.


b127ba68a6efe58f1942cef35adf48e0.jpg

Закачиваем код


Благодаря библиотеке 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 при этом должен потухнуть светодиод.

Если всё так, то программа работает и всё подсоединено правильно.

Испытания банок


6c39b8461223a37653662b4f83e49bb1.jpg

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

Если звук проходит, то у вас всё получилось! Если у вас проблемы с помехами или вы слышите жужжание, проверьте на наличие проблем с заземлением. Могу порекомендовать обмотать антенну изоляционной лентой.

После этого испытайте дальность работы — если на пути сигнала ничего нет, он должен проходить на расстояние порядка километра!

Заключение


2d149c40dd20f3bac5fbdc76b1a2108b.jpg

4f65ab128796a6bc5e616d8957a37036.jpg

Поздравляю, вы добрались до конца проекта! Отличная работа!

© Habrahabr.ru