Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Possessed Portrait – Diperbarui

Potret lompat menakut-nakuti DIY dari awal menggunakan Raspberry Pi 3 B, Python, dan Video AtmosFX potret yang tidak hidup. Sekarang bulan Oktober lagi dan saya ingin membuat proyek Halloween menggunakan Raspberry Pi. Saya melihat beberapa potret angker berserakan di sana-sini, tetapi tidak ada satupun yang benar-benar menghadirkan ketakutan, hanya beberapa gerakan sederhana.

Saya memutuskan untuk memperluas ide itu dan mulai mencari beberapa jenis video lompat menakutkan yang bisa saya gunakan. Ini membawa saya ke AtmosFx, mereka memiliki beberapa video Unliving Portrait yang sangat keren yang masing-masing hanya seharga $7,99. Ini sempurna untuk apa yang saya pikirkan dan memungkinkan saya untuk memiliki lebih dari satu video jumpscare yang dapat saya pilih secara manual atau menjalankannya secara acak.

Berikut adalah video proyek yang telah selesai.

Saya tidak ingin menulis kode PIR dari awal, jadi saya mencari web untuk contoh mengakses PIR dengan Python. Saya menemukan artikel lama Oleh Arc Software yang menunjukkan proyek serupa.

Kode yang saya sajikan sebagian besar berasal dari contoh mereka, tetapi saya membuat beberapa modifikasi untuk menyesuaikan dengan kebutuhan saya.

LANGKAH 1:Bangun Bingkai LCD

Setelah membongkar monitor LCD dan melepas panel LCD dan elektronik, saya mengukur ukuran layar yang tepat 17 X 11, dalam orientasi potret.

Saya menggunakan alat online ini untuk mengetahui cara mengukur potongan bingkai agar sesuai dengan panel LCD saya.

Saya membuat bingkai kayu menggunakan kayu 1″ x 2″ yang akan memiliki dimensi dalam 17″ x 11″, yang akan menahan LCD. Saya memotong 4 bagian yang ketika dibingkai bersama-sama akan menjadi ukuran yang tepat dari LCD saya dan memasang LCD ke dalam bingkai dan membuat LCD rata dengan bingkai LCD. Bingkai foto menempel pada bingkai LCD dan membuat semua barang elektronik dapat diakses dari belakang.

Setelah mewarnai bingkai foto dan membiarkannya kering, saya menggunakan brad nailer untuk menempelkan bingkai foto ke bingkai LCD.

Rakitan Bingkai LCD

Selanjutnya saya memasang Raspberry Pi menggunakan mount kecil yang bagus dari Thingiverse.com (Pi Side Mount) yang saya cetak dengan printer 3D saya.

Saya menggunakan dudukan Cermin untuk memasang LCD pada tempatnya agar tidak bergeser dan menjaganya tetap rata dengan bagian depan bingkai terhadap bingkai gambar.

Langkah terakhir perakitan adalah mengebor keseluruhan untuk sensor PIR dan memasangnya ke header GPIO dari Pi. PIR cukup sederhana, memiliki hot, ground, dan pin sensor.

LANGKAH 2:Gambar, Video, dan Kode

Saya menggunakan tiga video Unliving Portrait dari AtmosFX dalam proyek saya.

Hambatan pertama adalah memutar video saat ada gerakan yang terdeteksi, bukan hanya loop terus-menerus di layar. Saya dapat memuat video dan kemudian menjedanya pada frame pertama dan kemudian ketika ada gerakan membuatnya terus bermain dan ketika selesai mengatur ulang dan memulai dari awal lagi.

Akan lebih mudah untuk menampilkan gambar diam dari frame pertama dan kemudian ketika gerakan terdeteksi, jalankan OMXPlayer untuk memutar file video yang sesuai. Keuntungannya adalah ketika OMXPlayer keluar, file yang dimuat masih akan berada di framebuffer dan berada di layar.

Untuk menampilkan gambar awal saya menggunakan Linux FBI (framebuffer imageviewer).

Pemutar yang digunakan adalah OMXPlayer dan meskipun mendukung jeda, tidak ada perintah baris perintah yang dapat saya panggil dengan Python untuk menjeda dan memainkan tanpa menerapkan sesuatu seperti DBuscontrol yang akan terlalu memperumit proyek.

Struktur Folder:

Struktur folder di bawah ini cocok dengan jalur dalam skrip untuk mengakses gambar dan video. Jalur dapat diubah selama jalur dalam skrip diperbarui agar sesuai.

Struktur Folder yang Diperlukan untuk mencocokkan jalur skrip

Gambar:

Jadi untuk setiap video saya memuatnya di VLC dan melakukan screen cap dari frame pertama dalam resolusi yang sama dengan video sehingga mereka akan terhampar sempurna di layar dengan video saat diputar .

Ketiga video tersebut adalah Pria, Wanita, dan Anak-anak, jadi saya mengambil tutup layar masing-masing dan menamakannya MaleStart.png, FemaleStart.png, dan ChildStart.png. Saya membuat folder di proyek Halloween saya yang disebut ScareMedia dan mengunggah 3 foto.

Video:

Selanjutnya saya menamai setiap video MaleScare.mp4, FemaleScare.mp4 dan ChildScare.mp4, dan mengunggahnya ke folder ScareMedia.

Kode:

Ada 2 skrip yang diperlukan untuk mengotomatiskan video pada deteksi gerakan.

pirDetect.py

#!/usr/bin/python
import RPi.GPIO sebagai GPIO
waktu impor
impor os
detektor kelas(objek):
def __init__(sendiri, sensor ):
self.callBacks =[]
self.sensor =sensor
self.currState =False
self.prevState =False
GPIO.setmode(GPIO.BOARD )
GPIO.setup(self.sensor, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
def read(self):
self.prevState =self.currState
self. currState =GPIO.input(self.sensor)
def printState(self):
print( “GPIO pin {0} adalah {1}”.format(self.sensor, “HIGH” jika self. currState else “RENDAH”))
def subscribe(self, callBack):
self.callBacks.append(callBack)
def callBack(self, state):
untuk fn in self.callBacks:
fn(state)
def start(self):
coba:
self.read()
self.printState()
while True:
self.read()
if self.currState !=self.prevState:
self.printState()
self.callBack(self.currState)
time.sleep(.1)
#Karena fbi tidak mengembalikan konsol dengan benar wh id aplikasi keluar kami melakukan sedikit pembersihan dan menangani acara KeyboardInterrupt.
kecuali (KeyboardInterrupt, SystemExit):
os.system('stty sane')

scare.py

#!/usr/bin/python
import subproses sebagai sp
waktu impor
impor os
dari pirDetect import *
import sys
video =[“ omxplayer”, “nama file”, “-o”, “keduanya”, “–win”, “0 0 1280 720”, “–aspect-mode”, “fill”, “–no-osd”, “–orientasi” ,“180”,“–vol”, “-600”]
scareFile =“/home/pi/Projects/Halloween/ScareMedia/{0}ScareV.mp4”.format(sys.argv[1])
print(scareFile)
def onMotion(currState):
if currState:
video[1] =scarFile
subVideo =sp.Popen(video)
sementara subVideo.poll() adalah Tidak Ada:
time.sleep(.1)
def showImage():
os.system(“sudo fbi -T 1 -d /dev/fb0 -noverbose -once /home/pi/Projects/Halloween/ScareMedia/{0}Start.png”.format(
sys.argv[1]))
showImage()
objDetect =detektor(7)
objDetect.subscribe(onMotion)
objDetect.start()
os.system(“sudo killall -9 fbi”)

Menyatukan Semuanya:

Skrip menakut-nakuti dapat melewati satu parameter dengan urutan video yang ingin Anda putar. Nanti saya akan mengotomatiskan ini untuk memainkan salah satu dari ketiganya secara acak.

Ada juga modifikasi untuk menambahkan kamera Pi dan mengambil video 5 detik dari orang yang mengaktifkan gerakan dan menyimpannya ke Pi setiap kali gerakan terdeteksi. (Belum diterapkan).

Baca Selengkapnya Detail :Posssed Portrait – Diperbarui


Proses manufaktur

  1. Tabel (tampilan potret)
  2. Bingkai Kacamata
  3. Liquid Crystal Display (LCD)
  4. CDS:Layar LCD transparan 3D
  5. Pameran:Tampilan Primal
  6. Animasi dan Permainan LCD
  7. Teman LCD AI!
  8. Stasiun Cuaca Arduino
  9. Hindari The Defs!
  10. Jam Alarm Sederhana dengan DS1302 RTC