สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สำหรับผู้ที่มองไม่เห็น ให้ใช้สิ่งนี้เพื่อทำความเข้าใจโลกรอบตัวคุณให้ดีขึ้น
เสบียง
สิ่งที่ใช้ในโครงการนี้
ส่วนประกอบฮาร์ดแวร์ 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
ต้องการมองทะลุกำแพง? สัมผัสวัตถุในพื้นที่ 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