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

Proyek Potret Hantu DIY: Proyek Jump-Scare Raspberry Diperbarui

Ringkasan Proyek

Ubah layar LCD biasa menjadi potret hantu yang mengerikan dan diaktifkan gerakan. Menggunakan Raspberry Pi 3 B, Python, dan video Unliving Portrait AtmosFX, Anda dapat membuat jump-scare yang realistis yang bereaksi terhadap gerakan. Panduan langkah demi langkah ini mencakup rangkaian hardware, persiapan gambar/video, dan skrip Python yang diperlukan untuk menghidupkan kejutan.

Pengaturan Hardware

Langkah 1: Bangun Bingkai LCD

Setelah membongkar layar LCD, saya mengukur dimensi panel: 17" × 11" (portret). Menggunakan alat bingkai online, saya memotong bingkai kayu 1" × 2" dengan dimensi dalam yang cocok dengan panel. LCD berada rata di dalam, dan bingkai gambar luar masih dapat diakses dari belakang. Saya menyelesaikan bingkai dengan pewarna kayu, lalu melekatkannya dengan brad nailer.

Selanjutnya, saya memasang Raspberry Pi pada Pi Side Mount cetak 3D (Thingiverse). Penghantak cermin menjaga LCD tetap stabil, dan saya membuat lubang untuk sensor PIR untuk terhubung ke header GPIO Pi (pin 7).

Langkah 2: Siapkan Gambar, Video, dan Kode

Saya memilih tiga video Unliving Portrait AtmosFX (Pria, Wanita, Anak) untuk kumpulan kejutan yang beragam. Setiap video berharga $7,99 dan menawarkan konten jump-scare berdampak tinggi. AtmosFX menyediakan MP4 yang dapat diunduh, yang saya ganti namanya menjadi MaleScare.mp4, FemaleScare.mp4, dan ChildScare.mp4.

Untuk gambar statis awal, saya menangkap frame pertama dari setiap video menggunakan VLC, menyimpannya sebagai MaleStart.png, FemaleStart.png, dan ChildStart.png, dan menyimpan semua media dalam folder ScareMedia.

Struktur Folder

/home/pi/Projects/Halloween/ ├─ ScareMedia/ │ ├─ MaleStart.png │ ├─ FemaleStart.png │ ├─ ChildStart.png │ ├─ MaleScare.mp4 │ ├─ FemaleScare.mp4 │ └─ ChildScare.mp4 

Skrip Python

Proyek ini menggunakan dua skrip Python: pirDetect.py untuk membaca sensor PIR dan scare.py untuk meluncurkan video saat gerakan terdeteksi.

#!/usr/bin/python import RPi.GPIO as GPIO import time import os class detector(object): def __init__(self, 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(f"GPIO pin {self.sensor} is {'HIGH' if self.currState else 'LOW'}") def subscribe(self, callBack): self.callBacks.append(callBack) def callBack(self, state): for fn in self.callBacks: fn(state) def start(self): try: self.read() self.printState() while True: self.read() if self.currState != self.prevState: self.printState() self.callBack(self.currState) time.sleep(.1) except (KeyboardInterrupt, SystemExit): os.system('stty sane') 
#!/usr/bin/python import subprocess as sp import time import os from pirDetect import * import sys video = ["omxplayer", "filename", "-o", "both", "--win", "0 0 1280 720", "--aspect-mode", "fill", "--no-osd", "--orientation", "180", "--vol", "-600"] scareFile = "/home/pi/Projects/Halloween/ScareMedia/{0}Scare.mp4".format(sys.argv[1]) print(scareFile) def onMotion(currState): if currState: video[1] = scareFile subVideo = sp.Popen(video) while subVideo.poll() is None: time.sleep(.1) def showImage(): os.system(f"sudo fbi -T 1 -d /dev/fb0 -noverbose -once /home/pi/Projects/Halloween/ScareMedia/{sys.argv[1]}Start.png") showImage() objDetect = detector(7) objDetect.subscribe(onMotion) objDetect.start() os.system("sudo killall -9 fbi") 

Saat gerakan terdeteksi, scare.py menampilkan gambar statis melalui fbi dan meluncurkan video yang dipilih dengan omxplayer. Setelah video selesai, gambar statis tetap di layar, siap untuk pertemuan berikutnya.

Menggabungkan Semuanya

Jalankan skrip dengan satu argumen untuk memilih karakter:

python scare.py Male 

Nanti, Anda dapat memperluas skrip untuk memilih video secara acak atau mengintegrasikan kamera Raspberry untuk merekam perusak. Desain modular ini menjaga proyek tetap fleksibel untuk peningkatan di masa depan.

Untuk demonstrasi visual, tonton potret hantu yang selesai dalam aksi: Video YouTube.

Baca tulisan teknis lengkap: Potret Terpukau – Diperbarui

Proses manufaktur

  1. Tabel Periodik – Tampilan Potret
  2. Bingkai Kacamata: Aksesori Mode Utama
  3. Layar Kristal Cair (LCD): Teknologi, Manufaktur, dan Perspektif Masa Depan
  4. CDS Meluncurkan ClearVue3DP: LCD Transparan 3D Cerah Tinggi untuk Integrasi Lancar
  5. Primal Display: Bangun Monitor Suhu LCD Raspberry Pi
  6. Buat Animasi LCD dan Game Menarik dengan Arduino UNO
  7. Teman AI LCD: Kawan Interaktif Anda
  8. Bangun Stasiun Cuaca Arduino yang Handal dengan Sensor DHT
  9. Proyek LCD Arduino DIY: Rangkaikan dengan Resistor, Tombol, dan Layar 16x2
  10. Membuat Jam Alarm Andalan dengan DS1302 RTC dan Arduino UNO