Cuprins:
- Pasul 1: Lista pieselor
- Pasul 2: Conexiunea pieselor electronice
- Pasul 3: Arduino Mega Code
- Pasul 4: Testarea prinderii automate
- Pasul 5: prindere automată activată prin voce
Video: Prindere automată folosind un senzor laser și comenzi vocale: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Înțelegerea obiectelor care ni se par simple și naturale este de fapt o sarcină complexă. Omul folosește simțul vederii pentru a determina distanța față de obiectul pe care vrea să-l apuce. Mâna se deschide automat când se află în imediata apropiere a obiectului care se prinde și apoi se închide rapid pentru a prinde bine obiectul. Am folosit această tehnică într-un mod simplificat în acest mini proiect, dar în locul camerei am folosit un senzor laser pentru a estima distanța obiectului de la priză și comenzile vocale pentru control.
Pasul 1: Lista pieselor
În acest mic proiect veți avea nevoie doar de câteva dintre părțile enumerate mai jos. Ca controller am folosit Arduino mega 2560 dar puteți folosi și UNO sau orice alt Arduino. Ca senzor de distanță, am folosit un senzor laser VL53L0X care are o precizie bună (aproximativ câțiva milimetri) și poate ajunge până la 2 metri. În acest proiect, puteți utiliza pentru testarea oricărui gripper și servo, dar ar trebui să-l alimentați de la o sursă de alimentare separată, de exemplu: o sursă de alimentare de 5V sau o baterie LiPo (7,4V sau 11,1V) printr-un convertor redus care reduce tensiunea la 5V.
Piese necesare în acest proiect:
- VL53L0X Laser ToF Senzor x1
- Servo digital x1
- Arduino mega 2560 x1
- Robot metal gripper x1
- Pânză x1
- Buton tactil x1
- Bluetooth HC-06
- Rezistor 10k x1
- Alimentare 5V / 2A
Versiunea extinsa:
- CJMCU-219 Modul senzor monitor curent x1
-
WS2812 RGB LED Driver Development Board x1
Pasul 2: Conexiunea pieselor electronice
Prima figură arată toate conexiunile necesare. Pe următoarele fotografii puteți vedea următorii pași de conectare a modulelor individuale. La început, butonul a fost conectat la pinul 2 al Arduino, apoi servo la pinul 3 și, în final, senzorul de distanță laser VL53L0X prin magistrala I2C (SDA, SCL).
Conexiunile modulelor electronice sunt următoarele:
Senzor laser VL53L0X -> Arduino Mega 2560
- SDA - SDA
- SCL - SCL
- VCC - 5V
- GND - GND
Servo -> Arduino Mega 2560
Semnal (fir portocaliu) - 3
Servo -> Alimentare 5V / 2A
- GND (sârmă maro) - GND
- VCC (fir roșu) - 5V
Buton -> Arduino Mega 2560
- Pinul 1 - 3,3 sau 5V
- Pinul 2 - 2 (și prin rezistorul de 10k la masă)
Bluetooth (HC-06) -> Arduino Mega 2560
- TXD - TX1 (19)
- RXD - RX1 (18)
- VCC - 5V
- GND - GND
Pasul 3: Arduino Mega Code
Am pregătit următoarele exemple de programe Arduino disponibile la GitHub:
- VL53L0X_gripper_control
- Voice_VL53L0X_gripper_control
Primul program numit "VL53L0X_gripper_control" îndeplinește sarcina de prindere automată a unui obiect care a fost detectat de senzorul laser VL53L0X. Înainte de a compila și încărca programul eșantion, asigurați-vă că ați ales „Arduino Mega 2560” ca platformă țintă așa cum se arată mai sus (Arduino IDE -> Instrumente -> Placă -> Arduino Mega sau Mega 2560). Programul Arduino verifică în bucla principală - „void loop ()” dacă a venit noua citire de la senzorul laser (funcția readRangeContinuousMillimeters ()). Dacă distanța citită de la senzor „distance_mm” este mai mare decât valoarea „THRESHOLD_CLOSING_DISTANCE_FAR” sau mai mică decât „THRESHOLD_CLOSING_DISTANCE_NEAR”, atunci servo-ul începe să se închidă. În alte cazuri, începe să se deschidă. În următoarea parte a programului, în funcția „DigitalRead (gripperOpenButtonPin)”, starea butonului este controlată constant și, dacă este apăsat, gripper-ul se va deschide în ciuda faptului că este închis datorită proximității obiectului (distance_mm este mai mic decât THRESHOLD_CLOSING_DISTANCE_NEAR).
Al doilea program „Voice_VL53L0X_gripper_control” vă permite să controlați gripperul utilizând comenzi vocale. Comenzile vocale sunt procesate de aplicația BT Voice Control pentru Arduino de pe Google Play și trimise ulterior prin Bluetooth către Arduino. Programul Arduino verifică în bucla principală - „void loop ()” dacă noua comandă (caracter) a fost trimisă din aplicația Android prin Bluetooth. Dacă există vreun caracter de intrare din seria Bluetooth, programul citește datele seriale până când întâlnește sfârșitul instrucțiunii vocale „#”. Apoi începe executarea funcției "void processInput ()" și în funcție de comanda vocală se numește o funcție de control specifică.
Pasul 4: Testarea prinderii automate
Videoclipul din „Pasul 1” prezintă teste ale robotului de prindere pe baza programului din secțiunea anterioară „Arduino Mega Code”. Acest videoclip arată cum se deschide automat atunci când obiectul este aproape de el și apoi apucă acest obiect dacă este la îndemâna dispozitivului de prindere. Feedback-ul de la senzorul de distanță laser utilizat aici este clar vizibil în partea ulterioară a videoclipului atunci când mișc sticla înainte și înapoi ceea ce provoacă o reacție rapidă și schimbarea controlului gripperului.
Pasul 5: prindere automată activată prin voce
În următorul pas al dezvoltării acestui proiect, i-am adăugat control vocal. Datorită comenzii vocale, pot controla închiderea, deschiderea și viteza prizei. Controlul vocal în acest caz este foarte util atunci când deschideți mânerul care ține obiectul. Acesta înlocuiește butonul și permite controlul ușor al dispozitivului de prindere plasat pe robotul mobil.
Dacă vă place acest proiect, nu uitați să votați și să scrieți în comentariu ce ați dori să vedeți în următoarea postare ca o îmbunătățire suplimentară a acestui proiect:) Verificați celelalte proiecte legate de robotică, vizitați doar:
- youtube
- site-ul meu
Recomandat:
Braț robot cu prindere: 9 pași (cu imagini)
Brațul robotizat cu mâner: Recoltarea lămâilor este considerată o muncă grea, datorită dimensiunii mari a copacilor și, de asemenea, datorită climatului fierbinte din regiunile în care sunt plantați lămâi. De aceea avem nevoie de altceva pentru a ajuta muncitorii agricoli să-și finalizeze munca mai mult
Robot de telepresență de dimensiuni umane cu braț de prindere: 5 pași (cu imagini)
Robot de telepresență umană cu braț de prindere: MANIFESTO Un frenemy al meu m-a invitat la o petrecere de Halloween (peste 30 de persoane) în timpul unei pandemii, așa că i-am spus că voi participa și m-am apucat să proiectez un robot de telepresență pentru a provoca ravagii la petrecerea din loc. Dacă nu sunteți familiarizați cu ce telefon
Interfață om-computer: Funcționează un dispozitiv de prindere (realizat de Kirigami) prin mișcarea încheieturii mâinii folosind EMG .: 7 pași
Interfață om-computer: Funcționează un dispozitiv de prindere (realizat de Kirigami) prin mișcarea încheieturii mâinii folosind EMG .: Așadar, aceasta a fost prima mea încercare la o interfață om-computer. prin python și arduino și a acționat un gripper pe bază de origami
Prindere robotică imprimată în loc: 4 pași (cu imagini)
Print-in-Place Robotic Gripper: Robotica este un domeniu fascinant și suntem norocoși să trăim într-o perioadă în care comunitatea robotică DIY produce lucrări și proiecte uimitoare. În timp ce multe dintre aceste proiecte sunt uimitor de avansate și inovatoare, am căutat să fac roboți t
Sistem de prindere cu vid folosind OpenCR: 8 pași
Sistem de prindere cu vid folosind OpenCR: Oferim o modalitate de a seta sistemul de prindere cu vid utilizând OpenCR. Poate fi folosit pentru dispozitivul de prindere OpenManipulator în loc de dispozitivul de prindere standard. De asemenea, este util pentru utilizarea la manipulatoare care nu au o structură de legătură sirială, cum ar fi OpenManipula