Оглавление:

Доктор Кто Тардис Дверной звонок: 14 шагов (с изображениями)
Доктор Кто Тардис Дверной звонок: 14 шагов (с изображениями)

Видео: Доктор Кто Тардис Дверной звонок: 14 шагов (с изображениями)

Видео: Доктор Кто Тардис Дверной звонок: 14 шагов (с изображениями)
Видео: ВРЕМЯ РАЗРЫВАЕТСЯ. Доктор Кто: 5 сезон - ВЕСЬ СЮЖЕТ 2024, Июль
Anonim
Доктор Кто Тардис дверной звонок
Доктор Кто Тардис дверной звонок

Это проект, который я придумал для создания дверного звонка Тардис. Это беспроводной дверной звонок, который при нажатии воспроизводит звук из шоу. Я записал и использовал аудио из сериала Мэтта Смита, потому что это подарок моей сводной сестре, и это ее любимый доктор. Я сделал следующее видео на YouTube о готовом продукте.

www.youtube.com/watch?v=3cZw3BYwqdc

Шаг 1. Заказ деталей корпуса

Заказ деталей кейса
Заказ деталей кейса
Заказ деталей кейса
Заказ деталей кейса
Заказ деталей кейса
Заказ деталей кейса

Первое, что нужно сделать, это корпус. Это деревянный Тардис, внутри которого будет сидеть электроника. Вы можете найти это на Etsy. Есть магазин под названием Lazer Models, в котором продаются деревянные модели, вырезанные лазером. Вам понадобится столярный клей и немного времени, чтобы собрать все на свои места и склеить.

*** Когда вы заканчиваете сборку модели, не приклеивайте и не используйте верхние части там, где в шоу идет верхний свет. Сюда пойдет светодиод, который загорится позже. Тебе нужна эта дыра, ****

Шаг 2: просверлите отверстие для светодиода

Просверлите отверстие для светодиода
Просверлите отверстие для светодиода
Просверлите отверстие для светодиода
Просверлите отверстие для светодиода

В верхней части ТАРДИС должно быть небольшое отверстие, в котором мы оставили детали. Используйте дрель, чтобы просверлить отверстие, которое проходит через это отверстие в центр Тардис. В середине есть прочная деревянная деталь, используемая для устойчивости. Просверленное отверстие должно пройти через эту деталь так, чтобы нижний скрытый отсек и верхний соединились. Это позволит двум маленьким проводам пройти из нижнего отсека вверх через верх, где будет размещен светодиод.

Шаг 3: Покраска

Рисование
Рисование

Это было для меня самым сложным. Краску, которую я использовал, я получил в хобби-холле. Официальную краску Тардис трудно найти, а детали на деревянной ТАРДИС маленькие, поэтому вам понадобятся кисти с тонкими кончиками. Я купил краску и кисти в холле для хобби. Вам понадобится синий цвет для внешней стороны и черный для верхней части, где находятся белые буквы, а также белый цвет. Я нарисовал только надписи на лицевой стороне, так как они очень маленькие и их трудно не испортить. Мне приходилось несколько раз возвращаться к ошибкам с черным или синим. После нанесения краски вам понадобится банка полиуретана. Я нанесла три слоя краски, чтобы получить желаемое. Затем нанесли 3 слоя полиуретана, чтобы запечатать и придать ТАРДИС блеск. Это помогает с деформированием, а также придает красивый блеск.

Шаг 4: просверлите боковые отверстия

Просверлить боковые отверстия
Просверлить боковые отверстия
Просверлить боковые отверстия
Просверлить боковые отверстия

Теперь вам нужно будет просверлить и вырезать несколько отверстий в боковой части корпуса ТАРДИС. Вам понадобится отверстие, достаточно большое для кнопки питания кальмара. Вам также понадобится отверстие для шнура питания и USB-кабеля, который будет подключаться к звуковой плате. Я просверлил первоначальное отверстие, а затем с помощью точного ножа сгладил отверстия, достаточно большие и круглые.

Шаг 5: Raspberry Pi

Raspberry Pi's
Raspberry Pi's
Raspberry Pi's
Raspberry Pi's
Raspberry Pi's
Raspberry Pi's

Теперь вам нужно будет настроить Raspberry Pi. Для этого я купил Raspberry pi 3, шнур питания, радиатор для Raspberry Pi, карту micro sd 32 ГБ, соединительные кабели между гнездом и гнездом, резистор 10 Ом, две кнопки для кальмара, преобразователь питания с 10 В на 5 В, перемычку. кабели и комплект для изготовления соединительного кабеля, звуковая плата USB и, если она у вас есть, беспроводная клавиатура с USB-ключом упрощают эту задачу. Вам также понадобится вторая Raspberry Pi и sd-карта. Это должен быть ноль Raspberry Pi и распиновка gpio для впайки.

*** SD-карта не должна быть 32 ГБ, достаточно 8 ГБ ***

Вам нужно будет загрузить образ на SD-карту, чтобы использовать его в Raspberry Pi. Затем вы можете использовать любую бесплатную программу для записи образа на SD-карту. Я использую Win32DiskImager.. Это довольно простой процесс. Вы просто вставляете SD-карту, которой будет назначена буква диска. Затем перейдите к загруженному изображению и запишите его на диск, затем выберите SD-карту. Я использую изображение Raspian на этом сайте. Поиск Raspian в Google и запись изображения на SD-карту даст вам все, что вам нужно.

Как только образ будет записан на SD-карту, подключите его к порту Raspberry Pi 3 и подключите шнур питания для первой загрузки. Изображение Raspian открывается в среде рабочего стола пикселей. Есть изображение черного квадрата, это терминал, в котором мы будем работать над нашими скриптами, чтобы это работало. щелкните это изображение, чтобы открыть терминал.

*** Здесь важно отметить, что я получил аудиофайлы, записав шоу на свой телефон, затем загрузив видео на YouTube и используя сайт yt2mp3 для преобразования их в mp3. Затем загрузите их в Raspberry Pi и поместите в каталог / home / pi. вы можете сделать это с помощью значка папки и перетаскивания файлов из папки загрузок.

Я прикрепил изображение платы GPIO, на котором указано, какие контакты и что делают. Для простоты рекомендую использовать булавки, которые я сделал. Контакт 3 - моя кнопка питания. Контакт 14 - это мой светодиод, а контакт 18 - программный. К этому ничего не прикреплено, потому что это делается по беспроводной сети. В домашнем каталоге / pi также есть образ моих MP3.

Шаг 6: сценарий Power Shell

Скрипт Power Shell
Скрипт Power Shell
Скрипт Power Shell
Скрипт Power Shell

Это работает так: есть два сценария оболочки. Сценарии запускают загрузку и запускают сценарии python. Скрипты python запускаются и ожидают ввода либо от нажатия кнопки, либо от колебаний напряжения на контакте. Сценарии оболочки довольно просты, это первый из них. который будет запускать скрипт python после его создания.

#! / bin / bash

#Кнопка питания

CD /

cd / home / pi

sudo python3 power.py

CD /

Этот сценарий запустит power.sh - имя сценария python, который мы также будем создавать. Мы создаем этот сценарий из терминала, набирая cd / home / pi и затем вводя. Затем нам нужно создать каталог для наших скриптов, поэтому введите sudo mkdir bin и введите. Это создаст папку bin, которую мы можем использовать для наших скриптов. Затем введите cd / home / pi / bin, затем введите. Затем введите sudo nano power.sh и введите. Это откроет пустой документ, в котором будет напечатан приведенный выше сценарий. Чтобы сохранить, нажмите cntrl и x, затем он спросит, хотите ли вы сохранить, нажмите y для да, затем он подтвердит местоположение и нажмите Enter. Это создает сценарий, но нам нужно, чтобы он был исполняемым. Итак, нажмите cd / home / pi enter. Затем sudo chmod + x /home/pi/bin/power.sh, затем введите. Это сделает скрипт питания, который мы только что создали, исполняемым для всех пользователей. Теперь нам нужно, чтобы этот скрипт запускался при перезагрузке. Это означает, что он будет автоматически запускаться при запуске, который запустит наш другой скрипт, который мы создадим. Введите cd / home / pi и введите. Затем введите sudo crontab -e и введите. Он спросит вас, какой редактор использовать, выберите nano, который, как мне кажется, равен 2, затем введите. В этом документе уже есть записи. Просто прокрутите вниз и введите @reboot sh /home/pi/bin/power.sh, затем сохраните с помощью cntrl и x, подтвердите с помощью y, затем введите. Теперь сценарий оболочки запустится при перезагрузке.

Шаг 7: скрипт Power Python

Скрипт Power Python
Скрипт Power Python

Теперь, когда сценарий оболочки готов к запуску сценария python, нам нужно создать сценарий python. На терминале введите cd / home / pi, затем введите. Сценариям python не нужен собственный каталог, их можно сохранить в этом основном каталоге вместе с mp3. Введите sudo nano power.py и введите. Это снова откроет пустой текстовый редактор. Скрипты в python очень зависят от интервала, поэтому, если вы получаете какие-либо синтаксические ошибки, это интервал.

импортировать RPi. GPIO как GPIO

время импорта

подпроцесс импорта

GPIO.setmode (GPIO. BCM)

GPIO.setup (3, GPIO. IN, pull_up_down = GPIO. PUD_UP)

oldButtonState = 1

в то время как True:

buttonState1 = GPIO.input (3)

если buttonState1! = oldButtonState1 и buttonState1 == False:

subprocess.call ("sudo shutdown -h now", shell = True, stdout = subprocess. PIPE, stderr = subprocess. PIPE)

oldButtonState1 = buttonState1

time.sleep (.1)

Затем сохраните с помощью cntrl и x, затем подтвердите с помощью Y, затем введите. Теперь что произойдет, так это то, что сценарий оболочки будет запускаться при запуске и запускать этот сценарий python, который будет ожидать нажатия кнопки на контакте 3, чтобы выключить raspberry pi в спящем режиме и запустить его. Теперь выключите raspberry pi с терминала с помощью sudo shutdown -h now и введите. Как только пи выключится и зеленый свет погаснет, отключите его. Теперь подключите переключатель squid к контакту 3. Счетчик контактов начинается с младших цифр на конце, где находится SD-карта. Контакт 3 и земля являются контактами 5 и 6 при обратном отсчете с этого конца. Обратный отсчет 2, затем 4, затем 6. Эти два контакта - контакт 3 и заземление. Вставьте переключатель кальмара в эти контакты. Они скользят прямо. Какой на какой штифт идет, значения не имеет. Как только переключатель включен, снова подключите пи, и он запустится. Поскольку наш скрипт запускается при запуске, нажмите кнопку для тестирования, и он должен выключиться в спящий режим. Затем нажмите еще раз, и он снова запустится. Некоторые кнопки могут быть ослаблены, если это не работает, проверьте соединение на контактах, а также некоторые кнопки ослаблены, и их нужно нажать и удерживать секунду, чтобы соединение было заподлицо. Вы можете проверить это несколько раз.

Шаг 8: светодиодные перемычки

Светодиодные перемычки
Светодиодные перемычки
Светодиодные перемычки
Светодиодные перемычки
Светодиодные перемычки
Светодиодные перемычки

Теперь мы можем запустить этот кабель, но он еще не подключен. У маленького светодиода, который вы купили, выходят два алюминиевых контакта. Чем длиннее, тем лучше. Подключите резистор 10 Ом к плюсу. Затем возьмите купленные соединительные кабели и подключите один к плюсу, а другой - к минусу. Затем пропустите кабели через отверстие в верхней части ящика Тардис, через среднее отверстие и в нижний отсек. Вы можете использовать изоленту, если хотите скрепить часть этого. Хотя на самом деле это не нужно. Все это не очень тяжело. Только будьте осторожны, не тяните слишком сильно, они выскочат. Мы еще не подключаем это к Raspberry pi.

Шаг 9: сценарий оболочки Dr-who

Скрипт оболочки Dr-who
Скрипт оболочки Dr-who

Это сценарий оболочки, такой же, как и другой, который будет запускаться при перезагрузке и запускать сценарий python Dr-who, который мы будем писать. Это делается точно так же. с терминала cd / home / pi / bin и введите. Затем sudo nano dr-who.sh и введите. Затем введите следующее:

#! / bin / bash

#dr who сценарий запуска

CD /

cd / home / pi

sudo python3 dr-who.py

CD /

Затем cntrl и x, затем Y, затем введите. Затем нажмите cd / home / pi, затем введите.

Затем sudo chmod + x /home/pi/bin/dr-who.sh затем введите. Затем sudo crontab -e затем прокрутите вниз и введите

@reboot sh /home/pi/bin/dr-who.sh затем сохраните с помощью cntrl и x, затем Y и затем введите. Теперь в crontab должны быть две строки, которые запускают при запуске сценарий оболочки power и сценарий оболочки dr-who.

*** Пока мы здесь, есть еще две записи, которые мы добавим позже **

введите следующее:

@reboot sudo systemct1 включить pigpiod

@reboot sudo systemct1 start pigpiod

Затем save the pigpiod - это необходимый пакет для использования беспроводной кнопки, которую мы будем использовать. По умолчанию он не установлен. После сохранения выходим в терминал. Нажмите sudo apt-get install pigpiod, затем введите. Вы должны быть подключены к Интернету, чтобы загрузить это. Это можно сделать с рабочего стола Raspberry pi.

Шаг 10: скрипт Python Dr-who

Скрипт Python Dr-who
Скрипт Python Dr-who
Скрипт Python Dr-who
Скрипт Python Dr-who
Скрипт Python Dr-who
Скрипт Python Dr-who

Это настоящие кишки дверного звонка. Это основная программа, которая запускается. Это работает на контакте 18, но выход находится на контактах 14 и 18. Эта программа заставит светиться светодиод, затем будет выбран mp3, он будет воспроизводиться, затем светодиод снова будет мигать. Имена файлов mp3 - это просто то, что я назвал, чтобы запомнить. Вы можете называть их как хотите. Просто помните, что у них не может быть какой-либо команды python в имени, например, я назвал файл со словом sort в имени, и это сбило с толку python, и поэтому он был изменен. Помните, что с терминала cd / home / pi затем введите. Затем sudo nano dr-who.py, затем введите. В текст введите следующий сценарий, который будет написан.

** Это мой сценарий, ваш сценарий будет другим, если у вас другое количество MP3 или они будут названы по-другому **

импортировать RPi. GPIO как GPIO

время импорта

случайный импорт

импорт ОС

GPIO.setmode (GPIO. BCM)

GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP)

def randomnumber ():

число = random.randint (1, 6

*** выбирает случайное число от 1 до 6, необходимо изменить, если у вас другое количество MP3 ***

если число == 1:

os.system ('mpg123 thedoctor.mp3')

время сна (1)

число elif == 2:

os.system ('mpg123 open.mp3')

время сна (1)

число elif == 3:

os.system ('mpg123 thecrack.mp3')

время сна (1)

число elif == 4:

os.system ('mpg123 bowties.mp3')

время сна (1)

число elif == 5:

os.system ('mpg123 exterminated.mp3')

** Название MP3 может отличаться в зависимости от того, как вы их назвали **

время сна (1)

еще:

os.system ('mpg123 timespace.mp3')

время сна (1)

GPIO.setwarnings (Ложь)

GPIO.setup (14, GPIO. OUT) ** также устанавливает выход на контакт 14 **

GPIO.output (14, False) ** Светодиод на контакте 14 изначально выключает его **

в то время как True:

GPIO.output (14, ложь)

input_state = GPIO.input (18) ** контакт 18 - это вход **

если (GPIO.input (18) == False):

GPIO.output (14, Истина)

время сна (1)

GPIO.output (14, ложь)

время сна (1)

случайное число()

GPIO.output (14, Истина)

время сна (1)

GPIO.output (14, ложь)

time.sleep (.5)

GPIO.output (14, Истина)

время сна (1)

GPIO.output (14, ложь)

Это происходит, когда контакт 18 взаимодействует со светодиодом на контакте 14 в верхней части тардиса, будет мигать, затем будет выбран и воспроизведен аудиофайл, затем светодиод мигнет дважды и погаснет. Это то, что происходит каждый раз, когда звонят в дверь. Нам также понадобится IP-адрес этого raspberry pi для сценария в другом, чтобы беспроводной сигнал был получен, поэтому обязательно подключите raspberry pi к вашему Wi-Fi через рабочий стол с графическим интерфейсом, затем вернитесь в терминал и введите имя хоста sudo -Я тогда вхожу. запишите предоставленный IP-адрес, он понадобится вам позже. Теперь вы также можете подключить кабели для светодиода к контакту 14, следуя контакту GPIO для контакта 14 и контакту заземления, который находится по диагонали от него.

Шаг 11: Передняя кнопка Raspberry Pi

Передняя кнопка Raspberry Pi
Передняя кнопка Raspberry Pi
Передняя кнопка Raspberry Pi
Передняя кнопка Raspberry Pi

С Raspberry pi zero нужно кое-что сделать. Сначала нужно припаять контакты. Используйте паяльник и немного припоя, чтобы припаять контакты для твердого соединения. В Интернете есть масса ресурсов о том, как это сделать. Youtube отличный. После того, как контакты будут припаяны к SD-карте, потребуется записанный образ распиана, как и раньше. Здесь кнопка включения нам не понадобится. нам понадобится сценарий оболочки, который снова запускается при загрузке, и он запустит наш сценарий python, который по беспроводной сети сигнализирует о выводе 18 на другом Raspberry Pi для запуска нашей программы.

Шаг 12: Скрипт дверного звонка

Сценарий дверного звонка
Сценарий дверного звонка
Сценарий дверного звонка
Сценарий дверного звонка

Этот сценарий будет почти идентичен двум другим. В терминале введите cd / home / pi, затем введите. sudo mkdir / home / pi / bin, затем введите. cd / home / pi / bin, затем введите. sudo nano doorbell.sh затем введите.

#! / bin / bash

CD /

cd home / pi

sudo python3 doorbell.py

CD /

Затем сохраните с помощью cntrl и x, затем Y, затем введите. Затем sudo chmod + x /home/pi/bindoorbell.sh, затем введите. затем cd / home / pi, затем введите. Затем sudo crontab -e, затем введите, выберите нано, затем введите. Внизу введите

@reboot sh /home/pi/bin/doorbell.sh, затем сохраните с помощью cntrl и x, затем Y, затем введите. Это запустит сценарий оболочки при запуске, а затем мы создадим сценарий python с прикрепленным входным дверным звонком, который при нажатии будет сигнализировать другому raspberry pi.

Шаг 13: скрипт Python дверного звонка

Скрипт дверного звонка на Python
Скрипт дверного звонка на Python

Это сценарий, который будет включать беспроводную связь между входным дверным звонком и звуковым сигналом, который мы создали. Скрипт для запуска звука на первом Raspberry pi работает на низком напряжении. Он установлен на высокий уровень, поэтому после его изменения запускается скрипт, мигает свет и воспроизводится звук. Этот скрипт отправляет низкий сигнал на этот Raspberry pi и на этот вывод, а затем устанавливает его обратно на высокий уровень, чтобы он запускался один раз при нажатии. Сценарий выглядит следующим образом:

от гпиозеро импортный светодиод

из кнопки импорта gpiozero

из gpiozero.pins.pigpio импортировать PiGPIOFactory

из паузы импорта сигнала

время импорта

factory = PiGPIOFactory (хост = '192.168.1.13')

led = светодиод (18, pin_factory = завод)

button = Кнопка (3)

в то время как True:

если button.is_pressed:

led.off ()

led.on ()

еще:

led.on ()

Светодиодный модуль не используется для светодиода, он просто сигнализирует о том, что контакт на первом Raspberry Pi, который запускает программу. Как только это будет сохранено в каталоге / hom / pi и поскольку запускаемая оболочка уже создана. Теперь мы можем выключить оба Raspberry Pi с помощью sudo shutdown -h. Затем нужно сначала включить первый Raspberry pi, который из-за записи crontab запустит pigpiod, который должен запускаться первым. Затем можно запустить второй малиновый пи для дверного звонка. Тогда, если ваша пайка для физической кнопки сделана правильно и правильно подключена. Нажатие кнопки запустит светодиод и звук.

*** Теперь необходим динамик, иначе звук работать не будет. Я нашел в сети дека, которая получает питание от Raspberry pi через порт USB. Что идеально, так что ему не нужна собственная вилка. Я рекомендую это. Аудиовыход осуществляется через разъем 3,5 мм. Дека будет подключена к звонку Raspberry pi через отверстие, которое мы сделали в корпусе, и один провод войдет в разъем 3,5 мм, а другой - в USB. Audi по умолчанию - это порт HDMI, поэтому вам нужно принудительно вставить пи в разъем 3,5 мм. Это делается с терминала с помощью sudo raspi-config, затем введите. Появится меню, выберите дополнительные параметры, затем аудио, затем 3,5 мм, затем сохраните и выйдите. После того, как вы это сделаете и ваш динамик будет подключен, вы можете проверить свой звонок несколько раз, вы закончили, осталось только подключить дверной звонок Raspberry Pi к дому.

Шаг 14: преобразователь мощности

Преобразователь мощности
Преобразователь мощности
Преобразователь мощности
Преобразователь мощности

Это последний шаг. Сначала убедитесь, что звонок Raspberry pi включен. Позади вашего текущего дверного звонка есть два провода: положительный и отрицательный. Напряжение - 10 или 12 вольт. Что вам понадобится, так это преобразователь мощности, который преобразует это напряжение до 5 вольт, что и использует Raspberry Pi. Если вы посмотрите на концы соединительных кабелей, которые мы использовали, то концы - это алюминий с охватывающей и мужской вилкой с крышкой. Вы можете получить эти концы отдельно в наборах для создания собственных кабелей. Выберите, с какой стороны вы хотите сделать гнездо, и зачистите провода, чтобы обнажить медь. Затем наденьте концы с внутренней резьбой на провода дома или наоборот. Тогда силовой преобразователь тоже имеет два провода. Красный для положительного и черный для отрицательного. Теперь мы делаем то же самое, зачищая провода, чтобы обнажить медь. Поместите на них охватываемые концы и обожмите их плоскогубцами. При желании можно надеть пластиковые крышки. Затем вы можете подключить преобразователь питания к проводам дома. Положительный на положительный и отрицательный на отрицательный. Вы можете закрепить это соединение изолентой, чтобы оно лучше держалось. Если все сделано правильно, когда вы подключите конец 5 В к Raspberry pi, он включится. Проверить работу дверного звонка можно, нажав на кнопку. Должен включиться звуковой сигнал. Как только это произойдет, вы можете поместить преобразователь мощности и дверной звонок Raspberry Pi в отверстие в стене за вашим предыдущим дверным звонком. С помощью шурупов прикрутите новую крышку дверного звонка. Теперь каждый раз, когда кто-то нажимает на входной дверной звонок, ТАРДИС будет мигать, затем воспроизводить звук, а затем снова мигать. Технически это можно сделать с любым звуком и в любом футляре. Следующее, что я построю, будет Дарта Вейдера. Счастливое здание

Рекомендуемые: