สารบัญ:
- ขั้นตอนที่ 1: วัสดุสิ้นเปลือง
- ขั้นตอนที่ 2: ตั้งค่า Raspberry Pi
- ขั้นตอนที่ 3: เชื่อมต่อชุดหูฟัง Neurosky
- ขั้นตอนที่ 4: เชื่อมต่อเว็บแคม USB พร้อมเปิด CV
- ขั้นตอนที่ 5: เชื่อมต่อ Arduino
- ขั้นตอนที่ 6: นำทุกอย่างมารวมกัน
- ขั้นตอนที่ 7: การปรับปรุงและการพัฒนา
วีดีโอ: ภาพยนตร์ Biofeedback: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ผู้เขียนโครงการ
เจสสิก้า แอน
ผู้ร่วมงาน
- เกรกอรี ฮัฟ
- ซาลุด โลเปซ
- เปโดร เปียร่า
เกี่ยวกับ
ระบบจับภาพวิดีโอทดลองที่เชื่อมต่อสมองของผู้เข้าร่วมกับฟังก์ชันกล้องผ่านชุดหูฟัง Neurosky Mindwave EEG Reader ระบบ Biofeedback Cinema ทำงานแทนนักถ่ายภาพยนตร์แบบดั้งเดิม แทนที่จะมอบสิทธิ์ในการเรียบเรียงองค์ประกอบให้กับผู้เข้าร่วมเองผ่านอินเทอร์เฟซ BRAIN to CAMERA ที่กำหนดเอง โครงการได้รับการพัฒนาร่วมกับผู้เข้าร่วมเวิร์กช็อป Gregory Hough, Salud Lopez และ Pedro Peira สามารถอ่านผลการอบรมได้ที่:
การกำหนดค่าต้นแบบ
ระบบ Biofeedback Cinema รองรับการใช้งานที่หลากหลาย สำหรับคำแนะนำนี้ เราได้เตรียมการสาธิตของระบบที่พิจารณาระดับโฟกัส/ความสนใจของผู้เข้าร่วม (จำนวนเต็มเดียว) และแปลเป็นตำแหน่งกล้อง (ผ่านการแพนและเอียง) และโฟกัสของกล้อง (ภายในผ่าน OpenCV) ทั้งหมดนี้เกิดขึ้นได้ด้วยการเชื่อมต่อบลูทูธระหว่างชุดหูฟัง Neurosky EEG Reader และ Raspberry Pi
Raspberry Pi เป็นคอมพิวเตอร์ขนาดเล็กที่ติดตั้งเว็บแคมและสคริปต์ (มีให้ด้านล่าง) ที่เชื่อมโยงการทำงานของสมองของผู้เข้าร่วมเข้ากับการตั้งค่ากล้องและตำแหน่งของกล้อง ตำแหน่งกล้องแบบไดนามิกเป็นไปได้ผ่านไมโครคอนโทรลเลอร์ Arduino รับสัญญาณจาก Raspberry Pi เราตั้งตารอที่จะพัฒนาต่อไปในขณะที่เราตั้งเป้าที่จะรวมพารามิเตอร์คลื่นสมองเพิ่มเติม (ความถี่ที่เกี่ยวข้องกับการกะพริบตา ฯลฯ) และฟังก์ชันของกล้อง (เช่น สี ความอิ่มตัว ความสว่าง ฯลฯ)
ด้านล่างนี้คือคำแนะนำในการสร้างระบบ Biofeedback Cinema ของคุณเอง
มีความสุขในการทดลอง
ขั้นตอนที่ 1: วัสดุสิ้นเปลือง
ทุกสิ่งที่คุณต้องการเพื่อสร้างต้นแบบ Biofeedback Cinema ของคุณมีดังต่อไปนี้
- ชุดหูฟัง Neurosky Mindwave Mobile EEG
-
Raspberry Pi B+ (b+ ดีกว่า พอร์ต USB มากกว่า แต่รุ่น B ก็ใช้ได้เช่นกันหากคุณมีฮับ USB)
- Raspberry Pi Power Adapter หรือ Battery Pack
- การเชื่อมต่อ Wifi Dongle หรือ Ethernet (จำเป็นระหว่างการตั้งค่าเท่านั้น)
- Bluetooth Dongle ดู wiki สำหรับ dongle ที่เข้ากันได้
- การ์ด SD (อย่างน้อย 8GB) พร้อม NOOBS
-
Arduino บอร์ดใดก็ได้โดยใช้ Uno ในคำแนะนำนี้ โปรดทราบว่าคุณสามารถใช้ I/O บน Pi ได้
- Arduino Power Adapter หรือ Battery Pack
- สาย USB AB
- เว็บแคม USB
- ชุดแพนเอียงขนาดเล็ก
-
ตรวจสอบด้วยอินพุต HDMI หรือใช้ VNC เพื่อควบคุม pi ของคุณจากคอมพิวเตอร์ของคุณ [บทช่วยสอนที่นี่]
สาย HDMI
- แป้นพิมพ์และเมาส์ USB แนะนำให้ใช้แป้นพิมพ์และเมาส์บลูทูธเพื่อลดพอร์ต USB ที่ใช้
ขั้นตอนที่ 2: ตั้งค่า Raspberry Pi
1. ตั้งค่าฮาร์ดแวร์
เชื่อมต่อแป้นพิมพ์ เมาส์ ดองเกิลบลูทูธ ดองเกิล wifi (หรืออีเธอร์เน็ต) เว็บแคม จอภาพผ่านสาย HDMI และจ่ายไฟให้กับ Raspberry Pi ของคุณ
2. ตั้งค่าระบบปฏิบัติการ
- เปิดเครื่องและ Pi ของคุณควรเริ่มทำงาน ติดตั้ง Rasbpian OS คำแนะนำที่นี่:
- หากบูทและติดตั้ง Raspian อย่างถูกต้อง คุณจะเห็นโฮมเดสก์ท็อป [รูปภาพด้านบน]
คำแนะนำ:
- หากอัตราส่วนกว้างยาวของเดสก์ท็อปปิดอยู่ ให้ลองรีบูต Raspberry Pi ของคุณ หากยังคงปิดอยู่ ดูที่นี่เพื่ออัปเดตอัตราส่วนภาพด้วยตนเอง
- หากคุณเปิดโปรแกรมแก้ไขข้อความและอักขระพิเศษบนแป้นพิมพ์ของคุณมีการแมปไม่ถูกต้อง ดูที่นี่เพื่ออัปเดตการกำหนดค่าแป้นพิมพ์ของคุณ
- ทดสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ (คุณจะต้องใช้สิ่งนี้เพื่อติดตั้งไลบรารีระหว่างการตั้งค่า) ดูที่นี่เพื่อขอความช่วยเหลือในการตั้งค่า wifi
ขั้นตอนที่ 3: เชื่อมต่อชุดหูฟัง Neurosky
1. การกำหนดค่าบลูทูธ
ก่อนที่ Pi จะสามารถเชื่อมต่อกับ Neurosky ได้ เราต้องตั้งค่าบลูทูธ:
บนเดสก์ท็อปเปิด "LXTerminal" (จะเรียกว่า Terminal จากที่นี่เป็นต้นไป) เรียกใช้คำสั่งนี้เพื่อแก้ไขและอัปเดตข้อบกพร่อง:
$ sudo apt-get update
ติดตั้งบลูทู ธ ด้วยคำสั่งนี้:
$ sudo apt-get ติดตั้งบลูทูธ
ติดตั้งยูทิลิตี้บลูทู ธ แถบเครื่องมือเดสก์ท็อปที่มีประโยชน์:
$ sudo apt-get install -y บลูทู ธ bluez-utils blueman
รีบูต Pi จาก Terminal:
$ sudo รีบูต
2. ทดสอบการเชื่อมต่อบลูทูธ
- เปิดชุดหูฟัง Neurosky
- จากการสแกนเทอร์มินัลสำหรับอุปกรณ์:
hcitool scan
ควรแสดงรายการชุดหูฟัง Mindwave จดที่อยู่ MAC ของชุดหูฟัง [ภาพด้านบน]
3. ติดตั้ง Neurosky Libraries
ตอนนี้เราพร้อมที่จะติดตั้งไลบรารี Neurosky Python และเริ่มรับสตรีมข้อมูลด้วยสคริปต์ทดสอบไลบรารี:
จาก Terminal ติดตั้งยูทิลิตี้ github:
sudo apt-get ติดตั้ง git-core
โคลนที่เก็บ github ด้วยไลบรารี Neurosky Python:
โคลน sudo git
เราจำเป็นต้องอัปเดตไฟล์ MindwaveMobileRawReader.py ด้วยที่อยู่ MAC ของชุดหูฟังของคุณ FYI: ชื่อไฟล์ต้องตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
sudo nano /home/pi/python-mindwave-mobile/MindwaveMobileRawReader.py
- อัปเดตที่อยู่ MAC ที่แสดงอยู่ในไฟล์ Ctrl-X เพื่อเสร็จสิ้น Y เพื่อบันทึก Enter เพื่อออก
- จับคู่ Neurosky กับ Pi และอนุญาตคุณสมบัติการเชื่อมต่ออัตโนมัติ หากได้รับแจ้งให้ป้อน PIN ให้ใช้ "0000":
$ sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX
$ sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX ใช่
ติดตั้งไลบรารี Python Bluetooth:
sudo apt-get ติดตั้ง python-bluez
เรียกใช้สคริปต์ทดสอบไลบรารีเพื่อให้แน่ใจว่า Pi สามารถดูตัวอย่างสตรีมข้อมูลได้ คุณควรเห็นการสตรีมข้อมูล [ภาพด้านบน]:
$ sudo python /home/pi/python-mindwave-mobile/read_mindwave_mobile.py
ขั้นตอนที่ 4: เชื่อมต่อเว็บแคม USB พร้อมเปิด CV
1. ติดตั้ง OpenCV
จากเทอร์มินัล:
$ sudo apt-get ติดตั้ง libopencv-dev python-opencv
เมื่อเสร็จแล้ว ดำเนินการต่อ:
$ sudo apt-get -f ติดตั้ง
สำหรับการวัดที่ดี:
$ sudo apt-get ติดตั้ง libopencv-dev python-opencv
ทดสอบการติดตั้งโดยพยายามนำเข้าไลบรารี:
$ python
> นำเข้า cv2
2. ทดสอบ OpenCV ใน Python ด้วย USB Webcam
- บนเดสก์ท็อปเปิด "IDLE" (อย่าเปิด IDLE3!)
- จากเมนูไฟล์ ให้เลือกหน้าต่างใหม่ คัดลอกสคริปต์ Cv-Blur-Test ของเราลงในหน้าต่างใหม่และบันทึก มีสคริปต์อยู่ที่นี่:
- จากเมนู Run เลือก Run Module (หรือกด F5) อาจใช้เวลาสองสามวินาทีในการดำเนินการ แต่คุณจะเห็นกรอบเล็กๆ ปรากฏขึ้นพร้อมกับฟีดเว็บแคมสดของคุณ และวิดีโอควรเบลอ ขอแสดงความยินดี OpenCV ได้รับการติดตั้งและทำงานกับเว็บแคมของคุณได้สำเร็จ [ภาพด้านบน]
ขั้นตอนที่ 5: เชื่อมต่อ Arduino
1. ดาวน์โหลด Arduino IDE
จากเทอร์มินัล:
sudo apt-get ติดตั้ง arduino
2. เชื่อมต่อ Arduino & Load Sketch
- เสียบ Arduino เข้ากับ Pi ด้วยสาย A-B USB
- จากเมนูเริ่มต้นของเดสก์ท็อปไปที่ Electronics และเปิด Arduino IDE คัดลอกภาพสเก็ตช์ arduino-serial-pi ของเราลงใน IDE [ลิงก์ด้านล่าง] นี่เป็นภาพร่างพื้นฐานที่จะย้ายเซอร์โวมอเตอร์ตามอินพุตที่ส่งผ่านอนุกรม เราจะส่งข้อมูลผ่านซีเรียลโดยอิงจากผลลัพธ์ของคลื่นสมอง โดยใช้ร่าง Python ในขั้นตอนสุดท้ายเมื่อเรารวมทุกอย่างเข้าด้วยกัน
Arduino-serial-pi ร่างออนไลน์ที่นี่:
ใน Arduino IDE ให้ไปที่เมนูเครื่องมือ เลือกพอร์ตอนุกรมแล้วเลือกพอร์ต Arduino ที่อยู่ในรายการ ซึ่งอาจคล้ายกับ /dev/ttyACM0 จดบันทึกพอร์ต
3. ปิดการใช้งาน Serial Console
ดาวน์โหลดและเรียกใช้สคริปต์เพื่อปิดใช้งานคอนโซลซีเรียลเพื่อให้การเชื่อมต่อแบบอนุกรม usb ทำงานได้อย่างราบรื่น:
$ wget
/alamode-setup.tar.gz?raw=true -O alamode-setup.tar.gz
$ tar -xvzf alamode-setup.tar.gz
$ cd alamode-setup
$ sudo./setup
$ sudo รีบูต
ชี้แจง:
หากคุณกำลังใช้ B+ อาจมี I/O เพียงพอเพื่อรองรับเซอร์โว (ดูที่นี่เพื่อตั้งค่าและใช้ GPIO) อย่างไรก็ตาม ฉันสนใจที่จะเพิ่มส่วนประกอบเพิ่มเติมสำหรับการทดลองระหว่างสมองกับอิเล็กทรอนิกส์ในอนาคต ดังนั้นการตั้งค่าต้นแบบเริ่มต้นด้วย Arduino ช่วยให้มั่นใจได้ถึงความเป็นไปได้ทางอิเล็กทรอนิกส์ที่ฝ่าวงล้อม
ขั้นตอนที่ 6: นำทุกอย่างมารวมกัน
1. สคริปต์ Python สุดท้าย
ก่อนที่เราจะสามารถเพิ่มสคริปต์ python สุดท้ายลงในโฟลเดอร์ "python-mindwave-mobile" เราต้องเปลี่ยนการอนุญาตของโฟลเดอร์ จากเทอร์มินัล:
$ chmod a=rwx /home/pi/python-mindwave-mobile
- เปิด IDLE และเรียกใช้สคริปต์ Python สุดท้ายของเรา ออนไลน์ได้ที่นี่: https://github.com/PrivateHQ/biofeedback-cinema/ ตรวจสอบให้แน่ใจว่าอยู่ในโฟลเดอร์ python-mindwave-mobile FYI: คุณจะต้องอัปเดตสคริปต์ Python ของเราด้วยที่อยู่พอร์ต Arduino จริงของคุณ
- เมื่อคุณเรียกใช้สคริปต์นี้ คุณควรเกิดขึ้นสามสิ่ง: 1) ระดับความสนใจของคุณจะแสดงอยู่ใน Python Shell 2) เฟรมเล็ก ๆ ปรากฏขึ้นซึ่งแสดงฟีดสดของเว็บแคมพร้อมความเบลอที่เปลี่ยนไปตามระดับความสนใจ 3) มอเตอร์ (s) ย้ายเมื่อระดับความสนใจถูกส่งไปยัง Arduino ผ่านซีเรียล [วิดีโอด้านบน]
ขั้นตอนที่ 7: การปรับปรุงและการพัฒนา
Raspberry Pi มีพลังในการประมวลผลที่จำกัด และไม่สามารถเรียกใช้ฟังก์ชัน OpenCV ได้อย่างราบรื่น นี่คือสิ่งที่ฉันจะพัฒนาและปรับปรุงต่อไป นอกจากนี้ ฉันวางแผนที่จะรวมพารามิเตอร์คลื่นสมองเพิ่มเติม (ความถี่ที่เกี่ยวข้องกับการกะพริบตา ฯลฯ) และฟังก์ชันของกล้อง (เช่น สี ความอิ่มตัว ความสว่าง ฯลฯ) ในการทำซ้ำในอนาคต
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
EMG Biofeedback: 18 ขั้นตอน (พร้อมรูปภาพ)
EMG Biofeedback: การตั้งค่า biofeedback นี้ใช้เซ็นเซอร์ EMG เพื่อแสดงความตึงเครียดของกล้ามเนื้อเป็นชุดของเสียงบี๊บ และช่วยให้คุณฝึกร่างกายเพื่อปรับความตึงเครียดของกล้ามเนื้อได้ตามต้องการ กล่าวโดยสรุป ยิ่งคุณเครียดมากเท่าใด เสียงบี๊บจะดังขึ้นเร็วขึ้น และยิ่งผ่อนคลายมากขึ้น
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
ภาพยนตร์ Star Wars "A New Hope" ใน Windows XP: 4 ขั้นตอน
ภาพยนตร์ Star Wars "A New Hope" ใน Windows XP: คุณสามารถเปิดใช้งานภาพยนตร์ Star Wars สุดเจ๋งนี้ได้ใน Windows XP