Гик-энтузиаст Brandon Withrow собрал устройство под названием Simpsons TV. Это миниатюрный телевизор, который безостановочно крутит эпизоды из мультсериала «Симпсоны», и ничего более. Если вы тоже хотите себе такой, воспользуйтесь этим руководством.

Итак, перед вами «Симпсоны‑ТВ» — миниатюрное устройство, которое выглядит как телевизор и постоянно крутит мультфильмы. Даже в выключенном состоянии. Всё по‑взрослому, всё как с обычным ТВ — вы включаете его и смотрите то, что идёт в данный момент времени. На встроенной в телевизор SD-карте ёмкостью 64 Гб в сжатом виде хранятся серии первых 11 сезонов мультсериала, которые демонстрируются в случайном порядке. 

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

Ниже приведён список всех деталей, которые вам понадобятся. Единственное, что вы не сможете купить, — это корпус, который необходимо напечатать на 3D‑принтере. Телевизор собран на базе Raspberry Pi под управлением Linux.

Руководство рассчитано на любой уровень подготовки, но будет несколько этапов, которые могут смутить начинающих. Не теряйтесь, это будет весело! Весь проект, включая время печати, занимает около 14 часов.

Список деталей

  • Raspberry Pi Zero WH

  • ЖК-экран Waveshare 2.8 640x480

  • Аудиоусилитель Adafruit Mono 2.5 W

  • Полнодиапазонный аудиодинамик 1.5” 4ohm 3W

  • 64gb SanDisk SD-карта

  • Плата-переходник для разъёма Micro USB на DIP

  • Разъём micro-USB Male

  • 1K потенциометр триммера

  • Микро-кнопка (например)

  • Пара чёрных/красных проводов AWG 22 (0,35 мм кв)

Инструменты

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

  • Паяльник с тонким наконечником и припой (мне нравится 60/40 Rosin Core, диаметр около .032")

  • Клеевой пистолет

  • Острый нож и ножницы

  • Флешка с micro-USB адаптером

  • Небольшая плоская отвёртка

  • Суперклей

  • Тёмно-фиолетовая акриловая краска

  • Прямые руки (необязательно, но это значительно упрощает задачу)

Печатаем детали на 3D-принтере

Филамент

Лучше всего сначала немного погонять принтер, чтобы понять, как всё получается. Печать всех деталей корпуса заняла около 10 часов на Ender 3 Pro. Я выбрал три цвета: фиолетовый для корпуса, голубой для ручек и чёрный для видеомагнитофона/антенны.

Я использовал следующие материалы:

  • Inland Purple PLA+

  • Inland Black PLA+

  • Inland Light Blue PLA+

Все детали, необходимые для сборки, напечатаны на 3D-принтере
Все детали, необходимые для сборки, напечатаны на 3D-принтере

Настройки печати

Почти все детали могут быть напечатаны без опор и с минимальным заполнением. Единственное исключение — передняя часть. Печатайте её с минимальной поддержкой и малым заполнением (10%). Для достижения наилучших результатов все детали должны быть напечатаны с ориентацией монтажной платы, которая соответствует картинке выше. Крупные детали я печатал в стандартном качестве (0,2 мм), более мелкие — в динамическом (0,16 мм). Скачать STL‑файлы.

Кодирование видео

Прежде чем двигаться дальше, нам следует конвертировать видео в нужный формат. Это может занять некоторое время, поэтому чем раньше начнёте, тем лучше. После обработки нужным кодеком перенесите видео на флешку, чтобы потом перенести данные на Pi. Рекомендую в настройках конвертера выставить формат H264 с высотой 480 пикселей.

Также следует отметить, что не стоит заниматься этим непосредственно на Pi Zero, если вы не хотите ждать 2050 года, прежде чем сможете посмотреть видео.

Конечно, существует сотня способов выполнить стоящую перед нами задачу. Я написал удобный скрипт, который автоматически кодирует все видео в папке в нужный формат. Для начала нам нужно установить на компьютер программу ffmpeg. Если вы не знаете, что такое ffmpeg, то, скорее всего, он у вас не установлен. За дополнительной информацией обратитесь к их странице на GitHub.

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

Откройте терминал, перейдите в папку (cd /path/to/the/folder) и запустите скрипт с помощью команды:

sudo python encode.py

Скрипт просмотрит все видео, выполнит конвертацию и сохранит каждое видео отдельно в новую вложенную папку под названием 'encoded'. Это займёт некоторое время, поэтому наберитесь терпения! Не закрывайте окно терминала и не давайте компьютеру спать во время выполнения скрипта. По окончании работы папку 'encoded' можно перенести на флешку. Пока видео обрабатывается, перейдём к следующему шагу. Чуть позже я объясню, как переместить видео на Pi.

Работаем с купленными компонентами

Обратите внимание, что ваш Raspberry Pi должен иметь штыревые разъёмы. Тот, что на фото, не имеет их
Обратите внимание, что ваш Raspberry Pi должен иметь штыревые разъёмы. Тот, что на фото, не имеет их

Настраиваем экран

Возможно, не для всех это очевидно, но для создания телевизора нам нужен экран, поэтому начнём с него. Установка экрана waveshare довольно проста и не требует пайки. Обратите внимание, что у Raspberry Pi должно быть 40 маленьких штырьков, которые идут вдоль одной стороны Pi. Если на вашем Pi нет штырьков - не расстраивайтесь! Их можно припаять. Это довольно сложная работа, но после её завершения вы будете бесконечно гордиться собой. Просто прочитайте этот раздел из другого руководства и вернитесь после того, как установите штырьки на свой Pi.

Pi установлен на экране
Pi установлен на экране

Для установки экрана просто совместите разъёмы с контактами на Pi и плотно прижмите обе части. Штырьки должны войти почти до конца. Вот и всё, вы молодец!

Установка ОС, драйверов ЖК-дисплея и аудио

Теперь можно ставить ОС, которую мы собираемся использовать. А именно, старую версию ОС для Raspberry Pi: Buster Lite. Перейдите по ссылке и загрузите файл 2020-02-13-raspbian-buster-lite.zip. После загрузки распакуйте контейнер.

Теперь подготовим SD‑карту. Для этого существуют и другие варианты, но Raspberry Pi Imager, на мой взгляд, является самым простым. Вставьте SD‑карту в компьютер и откройте программу Raspberry Pi Imager. Прокрутите список вниз и выберите «Use Custom». Найдите загруженный вами файл 2020–02–13-raspbian‑buster‑lite.zip. Далее выберите кнопку 'Storage'. Выберите из списка свою SD‑карту.

ВАЖНО: Убедитесь, что вы выбрали именно SD‑карту. Если вы случайно выберете, например, внешний жёсткий диск, подключённый к компьютеру, то на следующем шаге он будет удалён. Всегда проверяйте это. Наконец, выберите «Записать».

После записи образа на SD-карту перемонтируйте (извлеките и снова вставьте) её в компьютер.

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

Откройте текстовый редактор (я предпочитаю Sublime). Создайте новый файл и вставьте в него этот фрагмент:

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="NETWORK NAME"
    psk="NETWORK PASSWORD"
}

Этот файл позволит Pi подключаться к вашей сети Wi-Fi при загрузке. Замените NETWORK NAME и NETWORK PASSWORD на имя и пароль вашей сети Wi-Fi. Убедитесь в правильности написания, заглавных букв и пробелов. Если вы живете не в США, не забудьте также задать правильный код страны. Теперь сохраните файл под именем "wpa_supplicant.conf" в корне SD-карты. Он должен быть смонтирован как "boot".

Создайте новый пустой файл и сохраните его под именем "ssh" без расширения на SD-карте. Именно так, пустой файл! Это просто включит протокол SSH на raspberry pi при загрузке, что позволит нам подключаться к нему и управлять им.

Далее установим драйвер дисплея. Загрузите zip-архив драйвера отсюда. Разархивируйте его и скопируйте все файлы в папку "overlays" на SD-карте.

Наконец, откройте файл "config.txt" в корне SD-карты. Обязательно открывайте его в текстовом редакторе типа Sublime! Скопируйте эти строки в нижнюю часть файла:

gpio=0-9=a2
gpio=12-17=a2
gpio=20-25=a2
dtoverlay=dpi24
enable_dpi_lcd=1
display_default_lcd=1
extra_transpose_buffer=2
dpi_group=2
dpi_mode=87
dpi_output_format=0x7F216
hdmi_timings=480 0 26 16 10 640 0 25 10 15 0 0 0 60 0 32000000 1
dtoverlay=waveshare-28dpi-3b-4b
dtoverlay=waveshare-28dpi-3b
dtoverlay=waveshare-28dpi-4b
display_rotate=1

Сохраните и закройте файл. Извлеките SD-карту из компьютера.

Теперь можно вставить SD-карту в Pi и включать его в сеть. Для этого можно использовать любое зарядное устройство с питанием 2,4 ампера и кабель micro-usb. Экран должен включиться, и на нём появится куча текста. В конце концов вы увидите надпись "My IP address is ###.###.###.###", где # — ряд цифр. Запишите эти цифры, они могут вам понадобиться. Как только вы увидите это, то сможете войти в систему со своего компьютера.

Ковыряем софт

Теперь, если все работает правильно, вы должны быть готовы подключить Pi к компьютеру. Запустите терминал и введите:

ssh pi@raspberrypi.local

Если подключение занимает много времени или вообще ничего не происходит, попробуйте использовать ssh pi@###.###.###.### с цифрами, который вы записали ранее.

По умолчанию используется пароль raspberry. Его, кстати, рекомендую поменять. Если этого не сделать, то кто угодно сможет войти в систему и начать командовать вашим Pi. Вы же не хотите этого?

Запустите установку ОС Raspberry Pi, набрав: sudo raspi-config.

Измените пароль, сохраните и выйдите. Перезагружаться пока не нужно, вы и так скоро это сделаете. Далее нам необходимо выполнить обновление. Выполните команду: sudo apt-get update --allow-releaseinfo-change.

Придётся подождать несколько минут. В процессе установки появится вопрос, хотите ли вы выполнить установку, нажмите Y. Нажмите Y, если вы не можете найти клавишу 'Any'.

Теперь установим программу usbmount. Это позволит нам легко смонтировать наш USB-накопитель, когда придёт время. Выполняем: sudo apt-get install usbmount.

На появившийся запрос ответьте Y. Теперь нужно отредактировать файл, чтобы включить автоматическое монтирование на pi. Если вы впервые слышите слово «nano», то я должен рассказать вам, что nano — это терминальный текстовый редактор, позволяющий редактировать и сохранять файлы.

Представьте, что вы запускаете полноэкранный текстовый редактор. Клавиши «вверх» и «вниз» позволяют перемещаться по файлу. Стрелками влево и вправо двигаете курсор по строке. Чтобы выйти из программы, нажмите CTRL+X. После этого появится вопрос о необходимости сохранения. Вы можете нажать Y, затем ENTER, чтобы ответить «да», а затем снова ENTER, чтобы сохранить. Если вы никогда раньше не пользовались терминальным текстовым редактором, то поначалу это может вызвать некоторую дезориентацию. Но только подумайте, сколько навыков вы приобретаете!

Давайте отредактируем наш файл: sudo nano /lib/systemd/system/systemd-udevd.service.

Пролистайте вниз до того места, где написано PrivateMounts=yes, и измените это значение: PrivateMounts=no.

Далее установим raspi-gpio. Это пакет, позволяющий управлять контактами GPIO на Raspberry Pi. Выполняем: sudo apt-get install raspi-gpio.

Теперь быстренько перезагрузимся: sudo reboot -h now.

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

Подключаем звук

Теперь нам необходимо включить аудиовыход и перенастроить некоторые контакты GPIO. По умолчанию Pi Zero не имеет никаких аудиовыходов, кроме HDMI. Однако мы можем включить PWM (широтно-импульсную модуляцию) звука и перенаправить его на контакт GPIO (все те крошечные контакты, которые вы припаяли к экрану). TFT-экран использует практически все контакты GPIO. Однако есть несколько не используемых. Чтобы получить аудиовыход, нужно приложить некоторые усилия.

Есть небольшое замечание по поводу контактов GPIO Raspberry Pi. На них используется запутанная система нумерации. Каждый контакт на плате может иметь два разных номера. Первый - это номер контакта BOARD. Эти номера идут от 1 до 40 по обеим колонкам контактов. Существуют также номера GPIO PIN. Не каждый контакт имеет номер GPIO, поскольку некоторые из них не используются для ввода/вывода. Таким образом, номер GPIO не совпадает с реальным номером PIN. Для быстрого ознакомления посмотрите файл pinout.xyz.

Отредактируем конфиг загрузки: sudo nano /boot/config.txt.

Внизу допишите следующее. Это включает звук и направляет его на контакты GPIO 18 и 19.

dtparam=audio=on
dtoverlay=audremap,enable_jack,pins_18_19

Сохраните и выйдите (CTRL+X, Y Enter, Enter).

Теперь контакт 19 свободен, но экран использует контакт 18 для подсветки. Нам необходимо перенастроить контакт 18 во время загрузки, иначе экран никогда не включится. Выполняем sudo nano /etc/rc.local.

Добавьте следующие строки в нижнюю часть файла, ПЕРЕД exit 0:

raspi-gpio set 18 op dl
raspi-gpio set 19 op a5 

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

sudo nano /boot/cmdline.txt.

Теперь вы можете увидеть одну очень длинную строку команд. Листайте её до console=tty1. Нам нужно изменить это на: console=tty3.

Продолжите прокрутку до конца строки. По пути удалите место, где написано: fsck.repair=yes.

Теперь в самом конце строки добавьте: consoleblank=0 logo.nologo quiet splash.

Вся строка должна выглядеть примерно так. Не копируйте и не вставляйте это, так как на вашем Pi некоторые вещи будут отличаться.

console=serial0,115200 console=serial0 root=PARTUUID=a0ba64cd-02 rootfstype=ext4 elevator=deadline rootwait consoleblank=0 logo.nologo quiet splash

Сохранитесь и выйдите (ctrl X). Теперь нам необходимо установить omxplayer: лёгкий видеоплеер. Вводим: sudo apt-get install omxplayer.

Далее нужно установить скрипты, которые будут воспроизводить видео, а также установить кнопку питания и ручку. Сначала установим git. Git — это инструмент, позволяющий загружать код из репозитория. Выполняем sudo apt-get install git.

Теперь установим скрипты, которые будут проигрывать видео по циклу, а также считывать действия с передних кнопок. Выполним эти две строки:

cd ~/
git clone https://github.com/buba447/simpsonstv

Переносим видео на Pi

Пришло время перенести видео! Сначала изменим директорию: cd ~/simpsonstv/videos.

В этой папке видеоплеер будет искать видео для воспроизведения.

Подключим наш USB-накопитель к свободному порту USB на Pi, для чего используем адаптер micro-USB. Подключив USB-накопитель, скопируем все видео с него на наш Pi. Видеоролики должны находиться на флешке в папке с именем 'encoded' (ну, я же раньше об этом писал). Выполните следующую команду, чтобы скопировать видео на Pi: sudo cp -R /media/usb/encoded/. ~/simpsonstv/videos.

Эта процедура тоже не быстрая. Сделайте перерыв, выпейте стакан воды, пойдите поразмышляйте над облаками.

Итак, теперь последний шаг! Нужно, чтобы скрипты видеоплеера и управления кнопками запускались при каждой загрузке Pi. Создадим службу для обоих скриптов и настроим Pi на их запуск при каждой загрузке. Сначала настроим службу кнопок:

sudo touch /etc/systemd/system/tvbutton.service
sudo nano /etc/systemd/system/tvbutton.service

Теперь вставьте в редактор следующий текст:

[Unit]
Description=tvbutton
After=network.target

[Service]
WorkingDirectory=/home/pi/simpsonstv/
ExecStart=/usr/bin/python /home/pi/simpsonstv/buttons.py
Restart=always

[Install]
WantedBy=multi-user.target

Теперь настроим работу плеера:

sudo touch /etc/systemd/system/tvplayer.service
sudo nano /etc/systemd/system/tvplayer.service

Вставьте в редактор следующий текст и сохранитесь:

[Unit]
Description=tvplayer
After=network.target

[Service]
WorkingDirectory=/home/pi/simpsonstv/
ExecStart=/usr/bin/python /home/pi/simpsonstv/player.py
Restart=always

[Install]
WantedBy=multi-user.target

Теперь настроим работу этих служб при загрузке:

sudo systemctl enable tvbutton.service
sudo systemctl enable tvplayer.service

Теперь выключим Pi. После выключения отключим его от источника питания. Выполняем: sudo shutdown -h now.

Фух, немного передохнем, а потом закончим с аппаратной частью.

Пайка цепей питания и звука

Пришла пора паять! Включите паяльник и дождитесь, пока он нагреется. Если вы никогда раньше не занимались пайкой, не расстраивайтесь — сегодня вам предстоит освоить новый навык. Я рекомендую использовать помощников, ведь с их помощью паять мелкие детали будет гораздо проще. Ознакомьтесь с этим руководством по пайке для начинающих, благодаря ему можно хорошо прокачать свои навыки.

Возьмите свой паяльник и компоненты, будем паять. Возможно, будет полезно сначала установить все это на макетной плате, но если вы чувствуете в себе души отважные порывы, приступайте к пайке сразу. Почти все провода я нарезал на отрезки длиной 4-5 дюймов (10-12 см). Это немного облегчит сборку.

Работаем с аудио

Начнем со звука. Вот что вам понадобится:

  • 3 пары проводов

  • 1K потенциометр

  • аудиодинамик 1.5” 4ohm 3W

  • монофонический усилитель мощностью 2,5 Вт

Для начала припаяем отходящие провода на усилителе.

Возьмите пару черный/красный и припаяйте чёрный к заземлению, а красный — к площадке рядом с ним. По этим проводам будет подаваться питание на усилитель. Пометьте их, если нужно. Далее припаяйте один провод к Audio In+; это должна быть самая крайняя площадка. По этому проводу аудиосигнал будет поступать на усилитель (мы подключим его к Pi позже). Усилитель должен выглядеть примерно так, как показано на рисунке.

Теперь необходимо распаять кабель-перемычку между A- и GND усилителя, как показано выше.

Теперь припаиваем динамик и потенциометр. Потенциометр представляет собой переменный резистор с тремя ножками. При повороте ручки сопротивление, подаваемое на контакт, увеличивается или уменьшается, что приводит к уменьшению или увеличению тока. По сути, это делает сигнал слабее. Таким образом регулируется уровень громкости динамика. Нам нужно припаять провод к входу (центральный контакт) и к выходу (крайний правый контакт).

Теперь займёмся динамиком. Припаяйте провод к одному из двух выводов динамика (неважно, к какому именно). Затем припаяйте один из проводов, идущих от POT, к другому выводу динамика. Это должно выглядеть так, как показано на рисунке выше.

Подключим схему динамика к усилителю. На противоположной от входа стороне усилителя расположены две контактные площадки для вывода сигнала. Припаяйте свободный провод динамика к одной из них, а свободный провод от POT — к другой. Окончательная схема должна выглядеть следующим образом:

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

С акустикой всё!

Кнопка питания и кабель питания

Кнопка питания подключается очень просто. Припаяйте провод к центральному контакту, а другой провод - к крайнему правому контакту. Это должно выглядеть примерно так:

Кабель питания — это, по сути, кабель-переходник USB.Нам понадобятся гнездо и штекер micro-USB, а также небольшой отрезок провода.

Припаяйте красный провод к  плюсу, а чёрный — к «земле» коммутационной (разъёмной) платы, как показано на фото.

Теперь припаяйте другой конец двух проводов - тщательно следя за совпадением цветов - к разъёму USB. Всё должно выглядеть следующим образом:

Собираем всё вместе

Итак, давайте подключим кнопку питания к Pi First. Выше приведена распиновка Raspberry Pi с сайта pinout.xyz. Она ориентирована так, чтобы карта памяти sd была направлена на север. Важно помнить, что эта распиновка ориентирована на лицевую сторону Raspberry Pi. Мы будем паять на задней стороне Raspberry Pi, поэтому всё будет перевернуто. Не бойтесь - я проиллюстрирую, куда и что мы будем паять.

Сначала подключим два провода кнопки питания к GPIO 26 и земле, которая находится под ним. Примерно так:

Теперь подключим звуковую цепь. Возьмите два провода питания, которые вы отметили ранее, и подключите красный к 5v+, а чёрный — к земле в левом верхнем углу, рядом с GPIO 14, следующим образом:

Возьмите оставшийся провод аудиовхода и подключите его к GPIO 19, который находится рядом с кнопкой питания. Примерно так:

Вот и всё. Не так уж страшно выглядит, верно? Отключайте паяльник и убирайте его, он больше не понадобится.

Давайте убедимся, что всё работает. Подключите телевизор Simpsons TV и подождите, пока он загрузится. Экран должен оставаться выключенным, если не задействована кнопка включения экрана. В конце концов, должно начаться воспроизведение видео! Проверьте, что кнопка питания включается и выключается, а регулятор звука увеличивает и уменьшает громкость. Чтобы настроить звук, увеличьте громкость до упора и регулируйте маленький POT на усилителе до тех пор, пока звук не перестанет искажаться. Основное сделано. Пора финалить!

Монтаж компонентов

Теперь давайте соберём корпус. Включайте клеевой пистолет, а пока он нагревается, сделайте кое-что ещё.

Если вы хотите пойти дальше (иначе зачем мы всё это затеяли?), можете взять тёмно-фиолетовую акриловую краску и нарисовать на корпусе несколько деталей. Нарисуйте ножки и вставку вокруг передней части экрана. Работа несложная; корпус был разработан для быстрой покраски. Если вы ошибётесь, вытрите краску влажным бумажным полотенцем. Вероятно, потребуется нанести два слоя краски.

Монтаж элементов управления

Возьмите микро-кнопку питания с тыльной части (квадратной), и надавите на напечатанную нами ручку питания. При этом должно возникнуть небольшое сопротивление и раздаться приятный щелчок.

Затем возьмите ручку громкости и нанесите на её заднюю часть немного суперклея. Вдавите переднюю часть POT в ручку. Дождитесь, пока клей высохнет.

Теперь установим компоненты на переднюю панель телевизора. Не забудьте удалить защитную плёнку с передней части экрана. Также отсоедините кабель питания от Pi. Поместите экран лицевой стороной вниз на передний корпус. Убедитесь, что экран ориентирован правильно: Pi находится на южной стороне.

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

Элементы управления

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

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

Корпус телевизора

Ну вот и все! Давайте установим оставшиеся компоненты в корпус телевизора. Возьмите USB-кабель питания. Установите плату компонента на своё место в левом нижнем углу корпуса. Я считаю, что будет проще, если после установки подключить к ней кабель micro usb (при этом все компоненты должны быть отключены от источников питания). Кабель поможет зафиксировать его на месте.

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

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

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

Пришло время подключить кабель питания к usb-порту питания Pi.

Можно закрывать корпус. Передняя панель телевизора крепится к остальной части телевизора с помощью 4 защёлок. Начните с совмещения передней части с задней. Аккуратно уложите все провода в корпус. Начиная с нижней части, нажмите и защёлкните переднюю панель на корпусе.

Пришло время добавить видеомагнитофон и другие декоративные элементы. Отрежьте два кусочка чёрной нити для 3D‑принтера, чтобы использовать их в качестве антенны. Используя немного суперклея, вставьте их в два отверстия для антенн в верхней части видеомагнитофона. Теперь сделайте то же самое с двумя накладками для антенн.

Нанесите немного суперклея на нижнюю часть и установите видеомагнитофон на телевизор. Не переживайте, если наклеите чуть криво: как вы думаете, у Гомера видеомагнитофон был идеально отцентрирован?

Вуаля! Вы стали счастливым обладателем собственного «Симпсоны‑ТВ»!

Послесловие

С помощью Kivy мне удалось добавить телевизионную графику, такую как межстраничные объявления, мигание и даже небольшой логотип в нижнем углу. Kivy — это лёгкий графический пакет для python. Он должен быть скомпилирован для выбранной вами операционной системы, что является более сложной темой. Я считаю, что что‑то вроде Kivy лучше всего подходит для Pi Zero, поскольку он недостаточно мощный для воспроизведения видео и рендеринга html. Если вы решите пойти по этому пути, то найдёте много интересных способов заставить omxplayer и Kivy работать вместе.

Спасибо за внимание!


Что ещё интересного есть в блоге Cloud4Y

→ Спортивные часы Garmin: изучаем GarminOS и её ВМ MonkeyC

→ NAS за шапку сухарей

→ Взлом Hyundai Tucson, часть 1часть 2

→ Взламываем «умную» зубную щётку

→ 50 самых интересных клавиатур из частной коллекции

Комментарии (11)


  1. Skykharkov
    22.09.2023 13:56
    +13

    Наконец-то я понял, зачем нужна "малинка" на самом деле!
    Все не мог сообразить, куда же мне её приткнуть.
    Но, проект в статье нуждается в глубокой доработке! Футураму же крутить надо!


    1. seluyandenis
      22.09.2023 13:56
      +2

      Я бы "Чип и Дейл" выбрал 8-)


    1. IronHead
      22.09.2023 13:56
      +1

      ну погоди же


      1. miksoft
        22.09.2023 13:56
        +1

        Тогда дизайн телевизора должен быть немного другим


        1. Skykharkov
          22.09.2023 13:56
          +16

          Ох уже эти миллениалы...


    1. maximw
      22.09.2023 13:56

      Достаточно просто гипножабу


  1. kafabasatafacha
    22.09.2023 13:56

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

    [Связь{habr}](Cвязь https://puri.sm/products/librem-5/ )


  1. Markscheider
    22.09.2023 13:56

    Уж простите, но избыточно, ИМХА. У каждого из нас на антресолях валяется такой артефакт из нулевых, как "медиатанк". Помните, у BBK была целая линейка таких, и у Egreat.

    Вот в него втыкаешь флешку с сериалом, врубаешь shuffle и вуаля. А вот где скачать все серии с русским переводом от 2х2 - это действительно вопрос.


  1. vanzhiganov
    22.09.2023 13:56
    +6

    Жду инструкцию по сборке ТВ из Футурамы со всеми сезонами на SD...


  1. Pavel1114
    22.09.2023 13:56
    +1

    выглядит шикарно. Захотелось повторить


  1. Dart55
    22.09.2023 13:56

    Теперь я знаю что делать со старым смартфоном, просто напечатать корпус в виде телевизора.