Cuprins:
- Provizii
- Pasul 1: Strângeți consumabilele
- Pasul 2: Conexiunea modulului NRF cu Arduino
- Pasul 3: Să intrăm în codificare
- Pasul 4: Nota autorului
Video: Asigurați-vă controlul gestului dronei în 10 $: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Acest instructable este un ghid pentru transformarea dronei dvs. R / C într-o dronă controlată prin gesturi sub 10 USD!
Sunt o persoană care este foarte inspirată de filmele Sci-Fi și încearcă să facă tehnologia prezentată în film în viața reală. Acest proiect este o inspirație din două astfel de filme: „STAR WARS: The Empire Strikes Back” și „Project Almanac”. În ambele filme, vedeți un obiect zburător (X-wing Starship și o dronă R / C) care erau controlate doar prin mișcări ale mâinilor. Acest lucru m-a inspirat să fac ceva similar …
Evident, nu dețin X-wing, așa că, din păcate, trebuie să lucrez cu Mini R / C Quadcopter.
Deci, planul este - va exista un script de procesare a imaginilor care rulează pe laptopul meu, care îmi va căuta continuu mâna și îi va urmări poziția în cadrul video. Odată ce obține coordonatele mâinii, va trimite semnalul respectiv către dronă și acest lucru se va face folosind Arduino conectat la laptop împreună cu un modul de transceiver NRF24L01 de 2,4 GHz care poate comunica direct cu placa receptorului oricărei drone R / C.
Provizii
- Computer laptop / desktop cu o cameră web și Python instalate. (Folosesc laptopul W indows cu camera web încorporată și rulează Python 2.7.14)
- Orice dronă R / C care rulează pe frecvență de 2,4 Ghz. (JJRC H36 în cazul meu)
- Arduino UNO împreună cu cablul său de programare. (Îi folosesc clona, deoarece este mai ieftină)
- NRF24L01 2.4GHz Antenna Wireless Transceiver Module. (Am cumpărat asta de aici pentru doar 99 ₹ (1,38 dolari))
- Placă de adaptor de 3,3 V pentru modul wireless 24L01. (Am cumpărat asta de aici cu doar 49 ₹ (0,68 dolari))
- Sârmă jumper de la bărbat la feminin x7
Pasul 1: Strângeți consumabilele
Pasul 2: Conexiunea modulului NRF cu Arduino
Acum, având toate părțile, să începem cu cablarea modulului NRF cu Arduino.
- În primul rând, introduceți modulul NRF în slotul furnizat pe adaptor. Puteți consulta imaginea de mai sus pentru aceasta.
-
După aceea, luați fire de la Tată la Tată și conectați adaptorul NRF la Arduino după cum urmează: (Consultați schema de circuite de mai sus)
- Pin adaptor NRF - Pin Arduino
- VCC - 5v
- GND - GND
- CE - Pin digital 5
- CSN - Pin analogic 1
- SCK - Pin digital 4
- MO - Pin digital 3
- MI - Pin analogic 0
- IRQ - Neutilizat
- Odată ce conexiunea este încheiată, conectați Arduino la computer folosind cablul USB de programare Arduino și aproape ați terminat.
Pasul 3: Să intrăm în codificare
Acum începe aici partea grea … !!!
Nu am făcut întregul cod de unul singur. În schimb, am luat părți și bucăți de cod de la diferiți dezvoltatori și le-am integrat pe toate într-unul singur, cu un pic de modificări. Prin urmare, creditele adecvate pentru toți creatorii originali sunt acordate înainte.
Puteți descărca toate codurile atașate aici și le puteți face să funcționeze. Sau altfel puteți merge la depozitul meu Github, unde voi actualiza constant cel mai recent cod pentru o mai bună urmărire.
Urmărirea manuală:
Clasificatorul Haar Cascade este utilizat pentru urmărirea manuală în acest proiect. Cascada Haar este antrenată prin suprapunerea imaginii pozitive peste un set de imagini negative. Și aceste date instruite sunt de obicei stocate în fișiere „.xml”. Este posibil să primiți fișiere clasificatoare de aproape orice pe internet sau chiar puteți crea unul dintre acestea în acest fel. Pentru acest proiect, pentru că trebuia să-l controlăm prin gest, am folosit un clasificator de pumn numit „closed_frontal_palm.xml” realizat de Aravind Nambissan pentru detectarea mâinilor mele. Puteți testa acest cod rulând codul „hand_live.py” în repo.
Alegerea codului NRF24 care se potrivește cu drona ta:
Deci, în funcție de producătorul și modelul dronei dvs., puteți face referire la depozitul Github - "nrf24_cx10_pc" realizat de Perry Tsao pentru a selecta codul Arduino corespunzător pentru a rula, care se va potrivi cu frecvența sa. El a făcut un tutorial frumos pentru a-și controla CX10 Drone pe PC.
În timp ce foloseam drona JJRC H36, m-am referit la un alt depozit Github - „nrf24_JJRC_H36_pc”, care a fost o furcă a repo lui Perry Tsao realizată de Lewis Cornick pentru a-și controla JJRC H36 pe PC.
Pregătirea Arduino:
Am furnizat repoziția lui Lewis la Github, pe care o puteți clona dacă lucrați la aceeași dronă. Trebuie să încărcați codul „nRF24_multipro.ino” o dată pe Arduino Uno pentru a-l împerechea la Drona dvs. de fiecare dată când rulăm scriptul nostru Python.
Testarea comunicării seriale:
În aceeași repo, puteți găsi, de asemenea, un cod „serial_test.py” care poate fi utilizat pentru a testa comunicarea în serie a scriptului Python cu Arduino și dacă drona dvs. se împerechează sau nu. Nu uitați să schimbați portul COM din cod în funcție de portul COM al plăcii dvs. Arduino.
Integrarea totul într-un singur cod:
Așa că am integrat toate aceste coduri de către diferiți dezvoltatori și mi-am făcut propriul cod „handserial.py”. Dacă faceți exact același lucru pe care îl fac eu cu exact aceeași dronă, atunci puteți rula direct acest cod și apoi puteți controla drona doar mutând pumnul în aer. Codul urmărește mai întâi un pumn în cadrul video. În funcție de coordonata Y a pumnului, codul trimite valoarea clapetei la dronă, făcându-l să crească în sus sau în jos și, în mod similar, în funcție de coordonata X a pumnului, codul trimite valoarea aileronului la dronă, făcându-l să meargă la stânga sau la dreapta..
Pasul 4: Nota autorului
Există 4 puncte pe care aș dori să le menționez în mod special cu privire la acest proiect:
- După cum s-a specificat mai devreme, acest cod nu este realizat complet de mine, dar lucrez la el continuu și aș actualiza codul pentru o mai bună urmărire în depozitul meu Github. Deci, pentru orice întrebări sau actualizări, puteți vizita depozitul sau trimiteți-mi un ping pe Instagram.
- În prezent, folosim camera web a laptopului care nu permite să aibă perspectiva vederii dronei, dar, dacă este necesar, camerele montate pe dronă pot fi folosite și în scopul urmăririi. Acest lucru vă va ajuta să aveți o vizualizare mai bună și, în cele din urmă, un control mai bun.
- Pentru acest proiect, folosesc o dronă JJRC H36, care este una dintre cele mai ieftine drone disponibile pe piață, prin urmare nu are stabilitate giroscopică. Acesta este motivul pentru care s-ar putea să simțiți mișcarea din videoclip, dar dacă utilizați o dronă de calitate decentă cu stabilitate bună, nu veți întâmpina această problemă.
- Am vrut să mă joc în jurul computerului de viziune și control al dronelor, de aceea am început cu acest proiect. Dar, după ce am lucrat la viziunea computerizată, simt că nu este soluția optimă pentru a controla drona. Astfel, intenționez să fac un fel de dispozitiv de tip mănușă cu senzor Gyro pentru a controla drona în viitor. Așadar, fiți atenți la actualizări …
Dacă ți-a plăcut acest tutorial, te rog apreciază și distribuie și votează-l.
Asta e tot deocamdată.. Ne vedem curând data viitoare …
Recomandat:
Asigurați-vă că mâncați robotul cu Arduino Nano - Șurub de aur: 5 pași
Asigurați-vă că mâncați robotul cu Arduino Nano | Șurub de aur: ideea acestui proiect a venit de la fiica mea. Ea dorește un robot, iar acest robot își poate deschide gura, astfel încât să poată pune mâncare în gură. Așadar, am căutat în interior lucruri care erau disponibile: carton, arduino nano, senzor cu ultrasunete, servomotor
Asigurați-vă că ecranul dvs. tactil IPod arată ca NOU !!: 6 pași
Faceți ca ecranul dvs. IPod Touch să arate ca NOU !!: Poate sună prost, dar acesta este un secret al magazinelor de mere și al magazinelor Best Buy, care funcționează de fapt! Și vine Crăciunul Oamenii norocoși care au unul (sau cei care urmează să primească unul) Știu cum să-i curățați corect ecranul. Amintiți-vă
Asigurați-vă propriul termostat de încălzire conectat și faceți economii cu încălzirea: 53 de pași (cu imagini)
Asigurați-vă propriul termostat de încălzire conectat și faceți economii cu încălzirea: Care este scopul? Sporiți confortul încălzind casa exact așa cum doriți. Economisiți și reduceți emisiile de gaze cu efect de seră încălzind casa numai atunci când aveți nevoie Păstrați controlul asupra încălzirii oriunde vă aflați Fii mândru că ai făcut-o
DC MOTOR Controlul gestului mâinii Viteză și direcție folosind Arduino: 8 pași
DC MOTOR Controlul gesturilor de mână Viteză și direcție folosind Arduino: În acest tutorial vom învăța cum să controlăm un motor de curent continuu cu gesturi de mână folosind arduino și Visuino. Urmăriți videoclipul! De asemenea, verificați:
Asigurați-vă propriul sistem de muzică Bluetooth cu buget redus: 5 pași (cu imagini)
Creați-vă propriul sistem de muzică Bluetooth cu buget redus: în acest proiect vă voi arăta cum am „fuzionat” un receptor de muzică bluetooth ieftin cu un difuzor vechi de-al meu. Accentul principal va fi pe proiectarea unui circuit de amplificare audio cu cost redus în jurul LM386 și NE5534. Receptorul Bluetooth