Cuprins:
- Provizii
- Pasul 1: Rezumat
- Pasul 2: Ideea de bază
- Pasul 3: Walabot
- Pasul 4: Introducere
- Pasul 5: Python
- Pasul 6: Rularea automată a scriptului
- Pasul 7: Hardware-ul
- Pasul 8:
- Pasul 9:
- Pasul 10: Cum funcționează
- Pasul 11: Cod
Video: WalabotEye - Obiect Tracker cu feedback Haptic: 11 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Pentru persoanele cu deficiențe de vedere, folosiți acest lucru pentru a înțelege mai bine lumea din jur.
Provizii
Lucruri utilizate în acest proiect
Componente hardware Walabot Creator × 1
CONTROLER MOTOR HAPTIC ADAFRUIT DRV2605L × 1
Raspberry Pi 3 Model B × 1
Adafruit VIBRATING MINI MOTOR DISC × 1
Acumulator 5.1V × 1
rucsac × 1
Sârme jumper (generice) × 5
Pasul 1: Rezumat
Cum ar fi dacă ai fi capabil să simți obiecte din jurul tău? Adică ai putea naviga prin spațiu chiar dacă ți-a fost compromisă viziunea? Nu doar pentru persoanele cu deficiențe de vedere, această idee ar putea fi folosită și de serviciile de urgență (și anume de pompieri) în medii pline de fum. Sunetul nu este întotdeauna cel mai bun și mai discret mod de a oferi instrucțiuni, iar feedbackul haptic, pe de altă parte, va fi perfect.
Pasul 2: Ideea de bază
Am vrut să creez un senzor care să poată ridica obstacole și apoi să-l sfătuiesc pe purtător folosind feedback haptic cât de departe este obiectul și dacă vine din stânga, din dreapta sau din față. Pentru aceasta, voi avea nevoie de: Un senzor care să poată vedea spațiul 3D Driverul de feedback feedback Haptic Actuator de feedback Un acumulator extern Un rucsac pentru a fi legat.
Pasul 3: Walabot
Vrei să vezi prin pereți? Obiecte de simț în spațiul 3D? Ai sens dacă respiri de peste cameră? Ei bine, ai noroc.
Walabot este un mod cu totul nou de a detecta spațiul din jurul tău folosind radar de mică putere. Aceasta avea să fie cheia acestui proiect. Aș putea să iau coordonatele carteziene (X-Y-Z) ale obiectelor din spațiul 3D, acestea vor fi mapate la o serie de feedback-uri haptice pentru a oferi utilizatorului o mai bună înțelegere a spațiului din jurul lor.
Pasul 4: Introducere
În primul rând, veți avea nevoie de un computer pentru a conduce Walabot, pentru acest proiect folosesc un Raspberry Pi 3 (denumit în continuare RPi) datorită WiFi-ului încorporat și a extraordinarului extraordinar.
Am cumpărat un card SD de 16 GB cu NOOBS preinstalat pentru a păstra lucrurile frumoase și simple și am optat pentru instalarea Raspian ca sistemul meu de operare Linux la alegere (dacă nu sunteți familiarizat cu modul de instalare a Raspian, vă rugăm să luați un moment pentru a citi puțin despre asta) OK, după ce Raspian rulează pe RPi, trebuie parcurși câțiva pași de configurare pentru a pregăti lucrurile pentru proiectul nostru. În primul rând, asigurați-vă că rulați cea mai recentă versiune de kernel și verificați dacă există actualizări deschizând un shell de comandă și tastând:
sudo apt-get update
sudo apt-get dist-upgrade
(Sudo este adăugat pentru a vă asigura că aveți privilegii administrative, de ex. Lucrurile vor funcționa.) Acest lucru poate dura ceva timp, așa că mergeți și luați o ceașcă de ceai. 2.
Trebuie să instalați Walabot SDK pentru RPi. Din browserul dvs. web RPi accesați https://www.walabot.com/gettingstarted și descărcați pachetul de instalare Raspberry Pi.
Dintr-un shell de comandă:
descărcări de CD-uri
sudo dpkg -I walabotSDK_RasbPi.deb
Trebuie să începem să configurăm RPi pentru a utiliza magistrala i2c. Dintr-un shell de comandă:
sudo apt-get install python-smbus
sudo apt-get install i2c-tools
După ce ați făcut acest lucru, trebuie să adăugați următoarele în fișierul de module.
Dintr-un shell de comandă:
sudo nano / etc / modules
adăugați aceste 2 șiruri pe linii separate
i2c-dev
i2c-bcm2708
Walabot atrage un pic de curent și vom folosi, de asemenea, GPIO-urile pentru a controla lucrurile, așa că trebuie să le configurăm.
Dintr-un shell de comandă:
sudo nano /boot/config.txt
adăugați următoarele rânduri la sfârșitul fișierului:
safe_mode_gpio = 4
max_usb_current = 1
RPi este un instrument excelent pentru producători, dar este limitat în curent pe care îl poate trimite la Walabot. De aceea, adăugăm un curent maxim de 1Amp, mai degrabă decât 500mA mai standard.
Pasul 5: Python
De ce Python? Ei bine, deoarece este foarte ușor de codat, este rapid să rulezi și există o mulțime de exemple bune de python disponibile! Nu l-am mai folosit niciodată și în curând a început să funcționeze în cel mai scurt timp. Acum RPi este configurat pentru ceea ce ne dorim, următorul pas este să configurați Python pentru a avea acces la API-urile Walabot, interfețe LCD Servo.
Pentru Walabot
Dintr-un shell de comandă:
Sudo pip instalează „/usr/share/walabot/python/WalabotAPI-1.0.21.zip”
Pentru Driverul Haptic
Dintr-un shell de comandă:
sudo apt-get install git build-essential python-dev
cd ~
git clona
Placa de driver haptică Adafruit DRV2605 este excelentă, deoarece puteți trimite semnale I2C pentru a declanșa tone de profiluri haptice salvate. Singurul dezavantaj era că nu exista o bibliotecă Python pentru aceasta disponibilă. Dar nu vă temeți! Am scris unul ca parte a acestui proiect.
Pasul 6: Rularea automată a scriptului
Acum, că totul este configurat și configurat și că avem codul Python gata, putem seta lucrurile să ruleze automat, astfel încât să putem renunța la tastatură și monitoare.
Există câteva lucruri de făcut:
Creați un fișier script nou pentru a rula programul Python
sudo nano walaboteye.sh
Adăugați aceste linii
#! / bin / sh
python /home/pi/WalabotEyeCLI.py
Asigurați-vă că îl salvați. În continuare, trebuie să acordăm scriptului permisiunea de a rula tastând:
Sudo chmod + x /home/pi/walaboteye.sh
Și, în cele din urmă, trebuie să adăugăm acest script în fișierul /etc/rc.local
Sudo nano /etc/rc.local Add home / pi / walaboteye.sh &
Asigurați-vă că includeți „&”. Acest lucru permite scriptului Python să ruleze în fundal! Aceasta este toată configurația și software-ul sortat, apoi este timpul să conectați hardware-ul.
Pasul 7: Hardware-ul
Aceasta nu este cea mai bună oră a mea, dar se simte încântător! După cum veți vedea din imagini.
Pasul 8:
Cablarea este foarte simplă. Conectați pinii RPi, SDA SCL VCC și GND la pinii corespunzători DRV2605. Conectați-vă motorul haptic la placa driverului … asta e pentru acel bit!
Pasul 9:
După aceea, tot ce trebuie să faceți este să conectați walabot USB la RPi și să obțineți cea mai bună bandă adezivă și să asigurați totul în poziție, așa cum se arată:
Pasul 10: Cum funcționează
Ideea este foarte simplă. În funcție de cât de departe este obstacolul depinde cât de puternic se va simți buzz pe umărul tău. La 2 metri distanță este un bâzâit moale, sub 70cm este un bâzâit foarte puternic și totul între ele.
- Senzorul este, de asemenea, capabil să vă spună dacă obstacolul este mort înainte, venind din stânga sau venind din dreapta.
- Modul în care face acest lucru este să adăugați un al doilea buzz haptic, în funcție de locul în care se află obiectul. Dacă obstacolul este mort înainte, acesta este un simplu buzz repetitiv, cu puterea în funcție de cât de departe este.
- Dacă obstacolul este în dreapta, se adaugă un buzz de creștere după buzz-ul principal. Din nou, puterea depinde de cât de departe este
- Dacă obstacolul este în stânga, se adaugă un buzz de rampă în jos după buzz-ul principal
Simplu!
Pasul 11: Cod
Walabot Eye Github
DRV2605 GitHub
Recomandat:
Cum să modificați un servo pentru a obține feedback în buclă închisă: 7 pași
Cum să modificați un servo pentru a obține feedback în buclă închisă: ► În timp ce conduceți un servo cu un microcontroler (ca Arduino), îi puteți oferi numai ordine de locație țintă (în semnal PPM). Cu această comandă, servo se va deplasa la această țintă Locație. Dar nu este instantaneu! Nu știi exact când
Sistem de irigare prin picurare conectat la internet controlat de feedback al umidității solului (ESP32 și Blynk): 5 pași
Sistemul de irigare prin picurare conectat la internet controlat de umiditatea solului (ESP32 și Blynk): vă faceți griji în legătură cu grădina sau plantele dvs. atunci când mergeți în vacanțe lungi, sau uitați să vă udați planta zilnic. Ei bine, iată soluția. Este un sistem de irigare prin picurare controlat de umiditatea solului și conectat la nivel global controlat de ESP32 pe software-ul frontal i
Desktop COVID19 Tracker cu ceas! Raspberry Pi Powered Tracker: 6 pași
Desktop COVID19 Tracker cu ceas! Raspberry Pi Powered Tracker: Știm că putem muri oricând, chiar și eu pot muri în timp ce scriu această postare, la urma urmei, eu, voi, toți suntem muritori. Întreaga lume a zguduit din cauza pandemiei COVID19. Știm cum să prevenim acest lucru, dar hei! știm să ne rugăm și de ce să ne rugăm, o facem
Deschizător ușă garaj cu feedback folosind Esp8266 ca server web .: 6 pași
Deschizător de uși de garaj cu feedback folosind Esp8266 ca server web. feedback, veți ști că ușa este deschisă sau închisă în timp real - Simplu, doar o singură comandă rapidă pentru a face
Tracker de filme - Raspberry Pi Powered Theatrical Release Tracker: 15 pași (cu imagini)
Tracker de filme - Tracker de lansare pe scenă cu funcționare Raspberry Pi: Movie Tracker este un tracker de lansare alimentat de Raspberry Pi, în formă de clapetă. Folosește API-ul TMDb pentru a imprima afișul, titlul, data lansării și prezentarea generală a filmelor viitoare din regiunea dvs., într-un interval de timp specificat (de exemplu, lansări de filme în această săptămână) pe