Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Pro nevidomé použijte toto, abyste lépe porozuměli světu kolem vás.
Zásoby
Věci použité v tomto projektu
Hardwarové komponenty Walabot Creator × 1
ADAFRUIT DRV2605L HAPTIC MOTOR CONTROLLER × 1
Raspberry Pi 3 Model B × 1
Adafruit VIBRAČNÍ MINI MOTOROVÝ DISK × 1
5,1 V baterie × 1
batoh × 1
Propojovací vodiče (obecné) × 5
Krok 1: Abstrakt
Jaké by to bylo, kdybyste byli schopni vnímat předměty kolem sebe? To znamená, že byste se mohli pohybovat po prostoru, i kdyby byla vaše vize narušena? Nejen pro lidi s částečným zrakem by tuto myšlenku mohly využít také záchranné služby (konkrétně hasiči) v kouřotěsném prostředí. Zvuk není vždy nejlepším a nej diskrétnějším způsobem poskytování instrukcí, haptická zpětná vazba bude naopak dokonalá.
Krok 2: Základní myšlenka
Chtěl jsem vytvořit senzor, který bude schopen zachytit překážky, a poté pomocí hmatové zpětné vazby poradit nositeli, jak daleko je předmět a zda přichází zleva, zprava nebo mrtvě dopředu. K tomu budu potřebovat: Senzor, který dokáže vidět 3D prostor Ovladač hmatové zpětné vazby Hmatový ovladač zpětné vazby Externí baterie Batoh, ke kterému bude připoután.
Krok 3: Walabot
Chcete vidět skrz zdi? Cítíte objekty ve 3D prostoru? Máte pocit, že dýcháte z celé místnosti? Máte štěstí.
Walabot je zcela nový způsob snímání prostoru kolem vás pomocí radaru s nízkým výkonem. To bude klíčové pro tento projekt. Dokázal bych pořídit karteziánské (X-Y-Z) souřadnice objektů ve 3D prostoru, tyto budou mapovány na sérii haptických zpětných vazeb, aby měl uživatel lepší pochopení prostoru kolem sebe.
Krok 4: Začínáme
Nejprve budete potřebovat počítač k řízení Walabota, pro tento projekt používám Raspberry Pi 3 (zde označovaný jako RPi) kvůli vestavěnému WiFi a obecnému extra oomph.
Koupil jsem si 16 GB SD kartu s předinstalovaným NOOBS, aby věci byly hezké a jednoduché, a rozhodl jsem se nainstalovat Raspian jako můj Linux OS, který jsem si vybral (pokud nejste obeznámeni s tím, jak nainstalovat Raspian, věnujte prosím chvilku tomu, abyste si to trochu přečetli) Dobře, jakmile spustíte Raspian na vašem RPi, proveďte několik konfiguračních kroků, abyste připravili věci pro náš projekt. Nejprve se ujistěte, že používáte nejnovější verzi jádra, a vyhledejte aktualizace otevřením příkazového shellu a zadáním:
sudo apt-get update
sudo apt-get dist-upgrade
(Sudo je přidáno, aby se zajistilo, že máte oprávnění správce, např. Věci budou fungovat.) Dokončení může chvíli trvat, takže si zajděte na šálek čaje. 2.
Musíte nainstalovat Walabot SDK pro RPi. Z webového prohlížeče RPi přejděte na https://www.walabot.com/gettingstarted a stáhněte si instalační balíček Raspberry Pi.
Z příkazového prostředí:
stahování cd
sudo dpkg -I walabotSDK_RasbPi.deb
Musíme začít konfigurovat RPi, aby používal sběrnici i2c. Z příkazového prostředí:
sudo apt-get install python-smbus
sudo apt-get install i2c-tools
Jakmile to bude hotové, musíte do souboru modulů přidat následující.
Z příkazového prostředí:
sudo nano /etc /modules
přidejte tyto 2 řetězce na samostatné řádky
i2c-dev
i2c-bcm2708
Walabot čerpá značnou část proudu a budeme také používat GPIO k ovládání věcí, takže je musíme nastavit.
Z příkazového prostředí:
sudo nano /boot/config.txt
přidejte následující řádky na konec souboru:
safe_mode_gpio = 4
max_usb_current = 1
RPi je vynikající nástroj pro tvůrce, ale je omezen proudem, který lze odeslat Walabotovi. Proto přidáváme max. Proud 1 Amp místo standardnějších 500mA.
Krok 5: Python
Proč Python? Jelikož je kódování velmi snadné, rychlé spuštění a k dispozici je spousta dobrých příkladů pythonu! Nikdy předtím jsem to nepoužil a brzy jsem byl v provozu. Nyní je RPi nakonfigurován na to, co chceme, dalším krokem je nakonfigurovat Python tak, aby měl přístup k rozhraním Walabot API, LCD Servo.
Pro Walabota
Z příkazového prostředí:
Sudo pip install „/usr/share/walabot/python/WalabotAPI-1.0.21.zip“
Pro haptický ovladač
Z příkazového prostředí:
sudo apt-get install git build-essential python-dev
cd ~
git klon
Haptická deska ovladačů Adafruit DRV2605 je skvělá, protože můžete posílat signály I2C a spouštět tuny uložených haptických profilů. Jedinou nevýhodou bylo, že pro to nebyla k dispozici žádná knihovna Pythonu. Ale nebojte se! Jeden jsem napsal jako součást tohoto projektu.
Krok 6: Automatické spuštění skriptu
Nyní, když je toto vše nastaveno a nakonfigurováno a máme připravený kód Pythonu, můžeme nastavit automatické spouštění věcí, abychom mohli zbavit klávesnice a monitorů.
Je třeba udělat několik věcí:
Vytvořte nový soubor skriptu pro spuštění programu Python
sudo nano walaboteye.sh
Přidejte tyto řádky
#!/bin/sh
python /home/pi/WalabotEyeCLI.py
Určitě si to uložte. Dále musíme dát skriptu oprávnění ke spuštění zadáním:
Sudo chmod +x /home/pi/walaboteye.sh
A nakonec musíme tento skript přidat do souboru /etc/rc.local
Sudo nano /etc/rc.local Přidat domov/pi/walaboteye.sh &
Nezapomeňte zahrnout znak „&“. Díky tomu může Python Script běžet na pozadí Správně! To je veškerá konfigurace a software seřazený, dále je čas zapojit hardware.
Krok 7: Hardware
Není to moje nejlepší hodina, ale připadá mi to nádherně hacky! Jak uvidíte z obrázků.
Krok 8:
Zapojení je velmi jednoduché. Připojte piny RPi, SDA SCL VCC a GND k odpovídajícím vývodům DRV2605. Připojte svůj haptický motor k desce řidiče … to je vše!
Krok 9:
Poté vše, co musíte udělat, je připojit walabot USB k RPi a získat nejlepší lepicí pásku a zajistit vše na svém místě podle obrázku:
Krok 10: Jak to funguje
Myšlenka je velmi jednoduchá. V závislosti na tom, jak daleko je překážka, záleží, jak silné bzučení na vašem rameni ucítíte. 2 metry daleko je tiché bzučení, pod 70 cm je velmi silné bzučení a vše mezi tím.
- Senzor vám také dokáže říci, zda je překážka vpředu, přicházející zleva nebo zprava.
- Způsob, jak to udělat, je přidat druhou haptickou hlášku, v závislosti na tom, kde se objekt nachází. Pokud je překážka před námi, je to jednoduché opakující se bzučení, jehož síla závisí na tom, jak daleko je.
- Pokud je překážka vpravo, za hlavní bzučení se přidá rozběh. Síla opět závisí na tom, jak je daleko
- Pokud je překážka vlevo, za hlavní bzučení se přidá bzučák s klesáním
Jednoduchý!
Krok 11: Kód
Walabot Eye Github
DRV2605 GitHub