สารบัญ:

WalabotEye - ตัวติดตามวัตถุพร้อมคำติชมแบบสัมผัส: 11 ขั้นตอน
WalabotEye - ตัวติดตามวัตถุพร้อมคำติชมแบบสัมผัส: 11 ขั้นตอน

วีดีโอ: WalabotEye - ตัวติดตามวัตถุพร้อมคำติชมแบบสัมผัส: 11 ขั้นตอน

วีดีโอ: WalabotEye - ตัวติดตามวัตถุพร้อมคำติชมแบบสัมผัส: 11 ขั้นตอน
วีดีโอ: See Through Walls With Wi-Fi?! 2024, กรกฎาคม
Anonim
Image
Image
ฮาร์ดแวร์
ฮาร์ดแวร์

สำหรับผู้ที่มองไม่เห็น ให้ใช้สิ่งนี้เพื่อทำความเข้าใจโลกรอบตัวคุณให้ดีขึ้น

เสบียง

สิ่งที่ใช้ในโครงการนี้

ส่วนประกอบฮาร์ดแวร์ Walabot Creator ×1

ADAFRUIT DRV2605L ตัวควบคุมมอเตอร์แบบสัมผัส ×1

Raspberry Pi 3 รุ่น B ×1

Adafruit VIBRATING MINI MOTOR ดิสก์ ×1

ชุดแบตเตอรี่ 5.1V × 1

กระเป๋าเป้สะพายหลัง ×1

สายจัมเปอร์ (ทั่วไป) ×5

ขั้นตอนที่ 1: บทคัดย่อ

จะเป็นอย่างไรถ้าคุณสัมผัสได้ถึงวัตถุรอบตัวคุณ? หมายความว่าคุณสามารถนำทางไปรอบ ๆ พื้นที่แม้ว่าวิสัยทัศน์ของคุณจะถูกบุกรุก? ไม่เฉพาะสำหรับผู้ที่มองเห็นได้เพียงบางส่วนเท่านั้น แนวคิดนี้ยังสามารถใช้ได้กับบริการฉุกเฉิน (เช่น แผนกดับเพลิง) ในสภาพแวดล้อมที่เต็มไปด้วยควัน เสียงไม่ใช่วิธีที่ดีที่สุดและแยกไม่ออกเสมอไปในการให้คำแนะนำ ในทางกลับกัน การตอบสนองแบบสัมผัสจะสมบูรณ์แบบ

ขั้นตอนที่ 2: แนวคิดพื้นฐาน

ฉันต้องการสร้างเซ็นเซอร์ที่สามารถรับสิ่งกีดขวางได้ จากนั้นจึงแนะนำให้ผู้สวมใส่ใช้การตอบสนองแบบสัมผัสได้ว่าวัตถุนั้นอยู่ไกลแค่ไหน และวัตถุนั้นมาจากทางซ้าย ขวา หรือทางข้างหน้า สำหรับสิ่งนี้ ฉันต้องการ: เซ็นเซอร์ที่สามารถมองเห็น 3D spaceHaptic Feedback driverHaptic Feedback ActuatorAn External BatteryA Backpack for it to be straped to.

ขั้นตอนที่ 3: Walabot

Image
Image

ต้องการมองทะลุกำแพง? สัมผัสวัตถุในพื้นที่ 3 มิติ? รู้สึกว่าคุณกำลังหายใจจากอีกฟากหนึ่งของห้อง? คุณโชคดีแล้ว

Walabot เป็นวิธีใหม่ในการตรวจจับพื้นที่รอบตัวคุณโดยใช้เรดาร์พลังงานต่ำ นี่จะเป็นกุญแจสำคัญสำหรับโครงการนี้ ฉันจะสามารถใช้พิกัดคาร์ทีเซียน (X-Y-Z) ของวัตถุในพื้นที่ 3 มิติ สิ่งเหล่านี้จะถูกจับคู่กับชุดการตอบสนองแบบสัมผัสเพื่อให้ผู้สวมใส่เข้าใจพื้นที่รอบตัวได้ดีขึ้น

ขั้นตอนที่ 4: เริ่มต้นใช้งาน

อย่างแรกเลย คุณต้องมีคอมพิวเตอร์เพื่อขับเคลื่อน Walabot สำหรับโครงการนี้ ฉันใช้ Raspberry Pi 3 (ในที่นี้เรียกว่า RPi) เนื่องจาก WiFi ในตัวและการอุ้มพิเศษทั่วไป

ฉันซื้อการ์ด SD ขนาด 16GB ที่ติดตั้ง NOOBS ไว้ล่วงหน้าเพื่อให้สิ่งต่างๆ ดูดีและเรียบง่าย และเลือกที่จะติดตั้ง Raspian เป็นระบบปฏิบัติการ Linux ที่ฉันเลือก (หากคุณไม่คุ้นเคยกับวิธีติดตั้ง Raspian โปรดสละเวลาสักครู่เพื่ออ่านข้อมูลนี้) ตกลง เมื่อคุณให้ Raspian ทำงานบน RPi แล้ว มีขั้นตอนการกำหนดค่าสองสามขั้นตอนที่ต้องทำเพื่อเตรียมสิ่งต่างๆ ให้พร้อมสำหรับโครงการของเรา ประการแรก ตรวจสอบให้แน่ใจว่าคุณใช้ Kernel เวอร์ชันล่าสุด และตรวจสอบการอัปเดตโดยเปิด command shell แล้วพิมพ์:

sudo apt-get update

sudo apt-get dist-upgrade

(มีการเพิ่ม Sudo เพื่อให้แน่ใจว่าคุณได้รับสิทธิ์ระดับผู้ดูแลระบบ เช่น สิ่งต่างๆ จะใช้งานได้) อาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์ ดังนั้นไปดื่มชาดีๆ สักแก้ว 2.

คุณต้องติดตั้ง Walabot SDK สำหรับ RPi จากเว็บเบราว์เซอร์ RPi ของคุณ ให้ไปที่ https://www.walabot.com/gettingstarted และดาวน์โหลดแพ็คเกจตัวติดตั้ง Raspberry Pi

จากเชลล์คำสั่ง:

ดาวน์โหลดซีดี

sudo dpkg -I walabotSDK_RasbPi.deb

เราต้องเริ่มกำหนดค่า RPi เพื่อใช้บัส i2c จากเชลล์คำสั่ง:

sudo apt-get ติดตั้ง python-smbus

sudo apt-get ติดตั้ง i2c-tools

เมื่อเสร็จแล้ว คุณต้องเพิ่มสิ่งต่อไปนี้ในไฟล์โมดูล

จากเชลล์คำสั่ง:

sudo nano /etc/modules

เพิ่ม 2 สตริงนี้ในบรรทัดแยกกัน

i2c-dev

i2c-bcm2708

Walabot ดึงกระแสออกมาพอสมควร และเราจะใช้ GPIO เพื่อควบคุมสิ่งต่าง ๆ ดังนั้นเราจึงจำเป็นต้องตั้งค่าเหล่านี้

จากเชลล์คำสั่ง:

sudo nano /boot/config.txt

เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์:

safe_mode_gpio=4

max_usb_current=1

RPi เป็นเครื่องมือที่ยอดเยี่ยมสำหรับผู้ผลิต แต่ในปัจจุบันมีข้อจำกัดในการส่งไปยัง Walabot เหตุใดเราจึงเพิ่มกระแสสูงสุด 1Amp แทนที่จะเป็น 500mA มาตรฐานที่มากกว่า

ขั้นตอนที่ 5: Python

ทำไมต้องไพทอน? เนื่องจากมันเขียนโค้ดได้ง่ายสุด ๆ รันได้เร็ว และยังมีตัวอย่าง python ดีๆ มากมายให้เลือกใช้! ฉันไม่เคยใช้มันมาก่อนและในไม่ช้าก็ใช้งานได้ทันที ตอนนี้ RPi ได้รับการกำหนดค่าสำหรับสิ่งที่เราต้องการแล้ว ขั้นตอนต่อไปคือการกำหนดค่า Python ให้สามารถเข้าถึง Walabot API, อินเทอร์เฟซ LCD Servo

สำหรับ Walabot

จากเชลล์คำสั่ง:

Sudo pip ติดตั้ง “/usr/share/walabot/python/WalabotAPI-1.0.21.zip”

สำหรับไดรเวอร์ Haptic

จากเชลล์คำสั่ง:

sudo apt-get ติดตั้ง git build-essential python-dev

ซีดี ~

git โคลน

บอร์ดไดรเวอร์แฮบติค Adafruit DRV2605 นั้นยอดเยี่ยมเพราะคุณสามารถส่งสัญญาณ I2C เพื่อกระตุ้นโปรไฟล์แฮปติกที่บันทึกไว้ได้มากมาย ข้อเสียเพียงอย่างเดียวคือไม่มีไลบรารี Python สำหรับสิ่งนี้ แต่ไม่ต้องกลัว! ฉันได้เขียนหนึ่งเป็นส่วนหนึ่งของโครงการนี้

ขั้นตอนที่ 6: การรันสคริปต์อัตโนมัติ

เมื่อทั้งหมดนี้ได้รับการตั้งค่าและกำหนดค่าแล้ว และเรามีโค้ด Python พร้อมแล้ว เราสามารถตั้งค่าสิ่งต่างๆ ให้ทำงานอัตโนมัติ เพื่อให้เราสามารถทิ้งคีย์บอร์ดและมอนิเตอร์ได้

มีบางสิ่งที่ต้องทำ:

สร้างไฟล์สคริปต์ใหม่เพื่อเรียกใช้โปรแกรม Python

sudo nano walaboteye.sh

เพิ่มบรรทัดเหล่านี้

#!/bin/sh

หลาม /home/pi/WalabotEyeCLI.py

อย่าลืมบันทึก ต่อไปเราต้องให้สิทธิ์สคริปต์ทำงานโดยพิมพ์:

Sudo chmod +x /home/pi/walaboteye.sh

และสุดท้าย เราต้องเพิ่มสคริปต์นี้ในไฟล์ /etc/rc.local

Sudo nano /etc/rc.local เพิ่ม home/pi/walaboteye.sh &

อย่าลืมใส่ "&" สิ่งนี้ทำให้ Python Script ทำงานในพื้นหลังได้! นั่นคือการกำหนดค่าทั้งหมดและซอฟต์แวร์ที่จัดเรียง ต่อไปก็ถึงเวลาต่อฮาร์ดแวร์

ขั้นตอนที่ 7: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์

นี่ไม่ใช่ชั่วโมงที่ดีที่สุดของฉัน แต่รู้สึกแฮ็คอย่างน่ายินดี! ดังที่คุณเห็นจากภาพ

ขั้นตอนที่ 8:

ภาพ
ภาพ
ภาพ
ภาพ

การเดินสายทำได้ง่ายมาก เชื่อมต่อพิน RPi, SDA SCL VCC และ GND เข้ากับพิน DRV2605 ที่เกี่ยวข้อง เชื่อมต่อมอเตอร์แบบสัมผัสของคุณกับบอร์ดควบคุม…แค่นั้นเอง!

ขั้นตอนที่ 9:

ภาพ
ภาพ
ภาพ
ภาพ

หลังจากนั้น สิ่งที่คุณต้องทำคือเชื่อมต่อ walabot USB กับ RPi และรับเทปเหนียวที่ดีที่สุดของคุณ และรักษาความปลอดภัยทุกอย่างให้เข้าที่ตามที่แสดง:

ขั้นตอนที่ 10: มันทำงานอย่างไร

ความคิดนั้นง่ายมาก ขึ้นอยู่กับว่าสิ่งกีดขวางอยู่ไกลแค่ไหนขึ้นอยู่กับว่าเสียงกระหึ่มจะรู้สึกบนไหล่ของคุณมากแค่ไหน ห่างออกไป 2 เมตรเป็นเสียงกระหึ่มเบา ๆ ต่ำกว่า 70 ซม. เป็นเสียงกระหึ่มและทุกสิ่งทุกอย่างในระหว่างนั้น

  • เซ็นเซอร์ยังสามารถบอกคุณได้ว่าสิ่งกีดขวางอยู่ข้างหน้า มาจากทางซ้ายหรือทางขวา
  • วิธีการทำเช่นนี้คือการเพิ่มแฮบติคที่สอง ขึ้นอยู่กับว่าวัตถุอยู่ที่ไหน หากสิ่งกีดขวางอยู่ข้างหน้า มันจะเป็นเสียงหึ่ง ๆ ซ้ำ ๆ ง่าย ๆ โดยมีความแรงขึ้นอยู่กับว่ามันไกลแค่ไหน
  • หากสิ่งกีดขวางอยู่ทางด้านขวา จะมีการเพิ่ม buzz ขึ้นหลังจาก buzz หลัก อีกครั้งความแกร่งขึ้นอยู่ไกลแค่ไหน
  • หากสิ่งกีดขวางอยู่ทางซ้าย ทางลาดลง buzz จะถูกเพิ่มหลังจาก buzz หลัก

เรียบง่าย!

ขั้นตอนที่ 11: รหัส

Walabot Eye Github

DRV2605 GitHub

แนะนำ: