Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Призрак в вашем телевизоре

    Призрак в вашем телевизоре


    Призрак в вашем телевизоре

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

    Как правило такие сюжеты можно разбить на четыре этапа.
    1) Персонаж идет за чем-то находящимся в шкафу с зеркальной дверцей, и мы видим отражение персонажа перед зеркалом.
    2) Открывает шкаф или отвлекаются на что-то.
    3) Снова смотрит в зеркало и видят что-то позади себя.
    4) Оборачивается и ничего не видит.

    Примерно, как на видео ниже.

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

    Инструменты и материалы:
    -3D-принтер (опция);
    -Дрель;
    -Паяльник;
    -Raspberry Pi 3;
    -Модуль камеры;
    -Телевизор ЭЛТ;
    -Преобразователь AV в RF (если телевизор не имеет композитного входа);
    -YK04 Модуль дистанционного управления;
    -KY-019 Релейный модуль 5 В;
    -Резистор 330 Ом - 2 шт;
    -Композитный видеокабель для Raspberry Pi;

    Шаг первый: 3D-печать
    Детали, напечатанные на 3D-принтере вполне можно сделать и из других материалов, дерева, пластика или даже картона. Для этой самоделки есть две детали, напечатанные на 3D-принтере, одна из которых - это крепление Raspberry Pi, которое будет приклеено к телевизору термоклеем. Другая часть - это крепление для камеры.
    Файлы можно скачать ниже.
    cammount.f3d
    Raspimount.f3d


    Шаг второй: настройка Raspberry Pi
    Сначала нужно настроить Raspberry Pi. Официальное руководство по установке операционной системы на Pi находится здесь.
    Отсюда можно установить ОС Raspberry Pi (32-разрядная версия ) с рекомендуемым программным обеспечением.
    После установки операционной системы и запуска raspberry pi нужно открыть терминал и ввести:
    sudo raspi-config

    Команда включит камеру и запустит SSH.
    Включение SSH поможет подключиться к Raspberry Pi удаленно, чтобы не использовать каждый раз клавиатуру, мышь и монитор.

    Шаг третий: электроника
    На этом шаге мастер проверяет работу Raspberry Pi и других комплектующих, монтируя их на монтажной плате.



    Raspberry Pi имеет распиновку как на фото ниже.

    Подключает камеру. Порт камеры находится между выходом HDMI и аудиоразъемом.
    Подключает приемник, RGB и реле с помощью перемычек как показано в таблице:

    YK04 Raspberry Pi 3
    GND GND
    POWER 3,3 В
    D0 12
    D1 16


    LED Raspberry Pi 3
    GND GND
    КРАСНЫЙ 22
    ЗЕЛЕНЫЙ 24
    СИНИЙ 26


    Relay Raspberry Pi 3
    GND GND
    POWER 5В
    Data 32
    Шаг четвертый: код
    Сначала нужно установить библиотеку OpenCV. Она нужна для обнаружения лица и удаления фона. Модуль OpenCV Python можно загрузить из репозитория Raspbian, для этого нужно открыть терминал и ввести:
    sudo apt update
    sudo apt install python3-opencv

    Эта команда установит все пакеты, необходимые для запуска OpenCV.
    Затем нужно перезагрузить Pi с помощью команды:
    sudo reboot

    Переходим в папку "Документы":
    cd Documents

    Затем установите код Haunted TV из репозитория Github:
    git clone https://github.com/gocivici/haunted-tv.git

    Эта команда установит самую последнюю версию кода.
    Затем переходим в папку проекта;
    cd haunted-tv

    Чтобы иметь возможность запускать программу вводим:
    python3 hauntedTV.py

    Теперь для тестирования и отладки кода можно использовать клавиатуру вместо пульта. Используем «h», чтобы сделать снимок с привидениями, и «a», чтобы начать распознавание лиц.
    Теперь нужно настроить автозапуск скрипта при загрузке Raspberry Pi.
    Вводим команду:
    mkdir /home/pi/.config/autostart
    nano /home/pi/.config/autostart/hauntedTV.desktop

    В созданный файл вставляем нижеприведеную часть кода:
    [Desktop Entry]
    Type=Application
    Name=HauntedTV
    Exec=/usr/bin/python3 /home/pi/Documents/haunted-tv/hauntedTV.py

    Дальше сохраняем, выходим с помощью ctrl + x и перезагружаем:
    sudo reboot

    Для редактирования кода в каталоге проекта, вводим:
    sudo nano hauntedTV.py

    В коде есть настройки для трех таймеров:
    timeTV = 5 
    timeGhost = 25 
    timeNoGhost = 10

    Эти значения не в секундах. Это значение, устанавливаемое функцией faceFreqCounter. Этот счетчик запускается при обнаружении лица и продолжает отсчет, если лицо все еще присутствует на изображении. Если лицо покидает экран более чем на 4 секунды, счетчик устанавливается на 0. (Таким образом, ложные срабатывания фильтруются)
    timeTV: когда faceFreqCounter достигает этого значения, телевизор включается.
    timeGhost: когда faceFreqCounter достигает этого значения, призрак будет отображаться после того, как лицо отвернется. Можно установить больший интервал.
    timeNoGhost: это значение определяет, когда отключить видимость призрака после того, как пользователь увидит призрак и повернется посмотреть.
    Также нужно настроить чувствительность фона в коде:
    backgroundSensitivity = 20

    Это значение определяет чувствительность "удаления" фона. Нужно увеличить это значение, если изображение с привидениями не видно на заднем плане.

    Шаг пятый: обнаружение лица / глаз и удаление фона
    В этом шаге мастер подробно расскажет, как использовать OpenCV для обнаружения лиц и удаления фона.
    Существует множество методов обнаружения лица, метод, который он использовал называется обнаружением объектов с помощью каскадов Хаара. Haar Cascade - это алгоритм обнаружения объектов.
    Этот метод можно использовать для обнаружения любого объекта, а не только лиц. Для того, чтобы обнаружить лицо, сначала нужны каскадные файлы. Можно использовать любую поисковую систему, чтобы найти различные каскады вещей, которые вы хотите обнаружить.
    В этом проекте мастер использует Face Cascade и Eye Cascade. Их можно найти здесь и здесь.
    После загрузки каскадов в виде файлов .xml импортируем их код:
    import numpy as np
    import cv2

    #importing the cascades
    detected = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    #detected = cv2.CascadeClassifier('haarcascade_eye.xml')
    Затем включаем камеру и инициализируем цикл while, чтобы код проверил, обнаружено ли лицо:
    cam = cv2.VideoCapture(0)
    while True:
        ret, img = cam.read()
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        faces = detected.detectMultiScale(gray, 1.3, 5)<br>

    Каскадный классификатор «detectMultiScale» просто обнаруживает лица. Теперь создадим цикл, чтобы нарисовать прямоугольник вокруг обнаруженных лиц.
    for (x,y,w,h) in detected:
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
        #put code here to run when a face is detected

    Наконец отображаем финальное изображение в окне:
    cv2.imshow ('img', img)

    ниже полный код для распознавания лиц:


    Сохраняем этот файл как FaceDetection.py и запускаем его. Пользователь должны увидеть синий прямоугольник вокруг лица.


    Шаг шестой: тест
    Для пробного теста мастер сделал регулируемую подставку для камеры и поместил ее на телевизор с Raspberry Pi. На этом этапе основная цель - протестировать установку и телевизор, чтобы убедиться, что они работают правильно.
    Подключаем Raspberry Pi к телевизору с помощью композитного кабеля (если телевизор не имеет композитного входа, используем преобразователь AV-RF)
    Подключаем Raspberry Pi к источнику питания и ожидаем пока он загрузится.
    Проверяем нет ли проблем с видеопотоком.


    Шаг седьмой: сборка
    Перед сборкой припаиваем резисторы к светодиоду и антенну к приемнику.



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


    Устанавливает внутрь Raspberry Pi и остальные детали.





    Камеру устанавливает вместо аудиоразъема.






    Шаг восьмой: привидение
    Теперь, когда Raspberry Pi установлен на телевизоре, нужно проверить работу устройства и сделать снимок привидения.
    Включаем устройство. Raspberry Pi должен загрузиться и запустить сценарий Python. Через несколько секунд телевизор должен включиться, и можно увидеть себя на экране телевизора.

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

    Сборка закончена, но если что-то пошло не так, то смотрим последний шаг.

    Шаг девятый: устранение неисправностей
    + Картинка с привидениями не видна.
    -свет очень важен для удаления фона. Убедитесь, что телевизор находится в хорошо освещенном месте. Также переместите источник света за телевизор.
    + Не понятно, работает распознавание лиц или нет.
    -Перейдите к шагу 5 и запустите только код обнаружения лица. Вы должны увидеть прямоугольник вокруг своего лица.
    + ЭЛТ-телевизор не отображает изображение.
    - Зайдите в файл config.txt на своем raspberry pi и убедитесь, что регион ТВ такой же, как у вашего телевизора.
    Все готово, но в дальнейшем мастер собирается модернизировать устройство.
    Установить динамик Bluetooth, чтобы издавать звуки, когда призрак появляется.
    Установить инфракрасную камеру и светодиоды для возможности работы устройства в темноте. Это создаст более пугающую атмосферу.
    Сделать специальную подставку для телевизора с жуткими декорациями.
    Установить более мощный компьютер, такой как Nvidia Jetson.

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

    Настольный компьютер с Raspberry Pi

    9
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 9.67 из 10 (голосов: 1 / История оценок)

    Добавить комментарий

    2 комментария
    ino53
    Звуковое оформление к изделию - психоделический рок на электронные темы  mosking 
    Korolev
    Как только пользователь снова смотрит на телевизор, то видит призрак. Естественно желание повернутся и посмотреть, в этот момент призрак исчезает и через несколько секунд телевизор выключается, перезапуская цикл.
    И завершение цикла: шутнику надевают этот телевизор на башку!  xaxa 

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

    Последние комментарии

    Все комментарии