Բովանդակություն:

Լազերային տվիչի և ձայնային հրամանների միջոցով ավտոմատ բռնում. 5 քայլ (նկարներով)
Լազերային տվիչի և ձայնային հրամանների միջոցով ավտոմատ բռնում. 5 քայլ (նկարներով)

Video: Լազերային տվիչի և ձայնային հրամանների միջոցով ավտոմատ բռնում. 5 քայլ (նկարներով)

Video: Լազերային տվիչի և ձայնային հրամանների միջոցով ավտոմատ բռնում. 5 քայլ (նկարներով)
Video: Արարչագործության նորագույն բանաձևումը։ Արդիականացման մեթոդաբանությունը և գործիքակազմը։ 2024, Հուլիսի
Anonim
Image
Image
Մասերի ցանկը
Մասերի ցանկը

Իրերի, որոնք մեզ թվում են պարզ և բնական, անելը իրականում բարդ խնդիր է: Մարդը օգտագործում է տեսողության զգացումը `որոշելու այն օբյեկտի հեռավորությունը, որը ցանկանում է գրավել: Ձեռքն ինքնաբերաբար բացվում է, երբ այն գտնվում է բռնակվող առարկայի մոտ, այնուհետև այն արագ փակվում է ՝ առարկան լավ բռնելու համար: Այս մինի նախագծում ես օգտագործել եմ այս տեխնիկան պարզեցված ձևով, բայց տեսախցիկի փոխարեն ես լազերային տվիչով գնահատեցի օբյեկտի հեռավորությունը բռնիչից և ձայնային հրամաններից ՝ վերահսկման համար:

Քայլ 1: Մասերի ցանկը

Մասերի ցանկը
Մասերի ցանկը

Այս փոքր նախագծում ձեզ հարկավոր կլինեն միայն ստորև թվարկված մասերից մի քանիսը: Որպես վերահսկիչ ես օգտագործել եմ Arduino mega 2560- ը, բայց կարող եք նաև օգտագործել UNO կամ ցանկացած այլ Arduino: Որպես հեռավորության սենսոր ես օգտագործեցի VL53L0X լազերային տվիչ, որն ունի լավ ճշգրտություն (մոտ մի քանի միլիմետր) և մինչև 2 մետր հեռավորություն: Այս նախագծում կարող եք օգտագործել ցանկացած բռնակ և սերվո փորձարկելու համար, բայց այն պետք է սնուցեք առանձին էներգիայի աղբյուրից, օրինակ ՝ 5 Վ էլեկտրամատակարարում կամ LiPo մարտկոց (7.4 Վ կամ 11.1 Վ) լարման նվազեցման փոխարկիչի միջոցով: մինչև 5 Վ

Այս նախագծում անհրաժեշտ մասեր

  • VL53L0X լազերային ToF տվիչ x1
  • Թվային սերվո x1
  • Arduino մեգա 2560 x1
  • Մետաղական ռոբոտ բռնող x1
  • Հացաթուղթ x1
  • Շոշափելի կոճակ x1
  • Bluetooth HC-06
  • Ռեզիստոր 10k x1
  • Սնուցման աղբյուր 5V/2A

Ընդլայնված տարբերակ

  1. CJMCU-219 Ընթացիկ մոնիտորի ցուցիչի ցուցիչ x1
  2. WS2812 RGB LED վարորդների զարգացման տախտակ x1

Քայլ 2. Էլեկտրոնային մասերի միացում

Էլեկտրոնային մասերի միացում
Էլեկտրոնային մասերի միացում
Էլեկտրոնային մասերի միացում
Էլեկտրոնային մասերի միացում
Էլեկտրոնային մասերի միացում
Էլեկտրոնային մասերի միացում

Առաջին նկարը ցույց է տալիս բոլոր անհրաժեշտ կապերը: Հետևյալ լուսանկարներում կարող եք տեսնել առանձին մոդուլների միացման հաջորդ քայլերը: Սկզբում կոճակը միացված էր Arduino- ի 2 -րդ կապին, այնուհետև servo- ին ՝ 3 -ին և վերջապես VL53L0X լազերային հեռավորության սենսորին I2C ավտոբուսի միջոցով (SDA, SCL):

Էլեկտրոնային մոդուլների միացումները հետևյալն են.

VL53L0X լազերային տվիչ -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

Servo -> Arduino Mega 2560

Ազդանշան (նարնջագույն մետաղալար) - 3

Servo -> 5V/2A սնուցման աղբյուր

  • GND (շագանակագույն մետաղալար) - GND
  • VCC (կարմիր մետաղալար) - 5V

Կոճակ -> Arduino Mega 2560

  • Պին 1 - 3.3 կամ 5 Վ
  • Պին 2 - 2 (և 10k դիմադրության միջոցով գետնին)

Bluetooth (HC -06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

Քայլ 3. Arduino Mega Code

Arduino Mega կոդ
Arduino Mega կոդ

Ես պատրաստել եմ Arduino- ի հետևյալ օրինակելի ծրագրերը, որոնք հասանելի են իմ GitHub- ում.

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

«VL53L0X_gripper_control» անունով առաջին ծրագիրը կատարում է օբյեկտի ավտոմատ բռնելու խնդիրը, որը հայտնաբերվել է VL53L0X լազերային տվիչով: Նախքան ծրագրի նմուշը կազմելն ու բեռնելը, համոզվեք, որ ընտրել եք «Arduino Mega 2560» -ը որպես թիրախային հարթակ, ինչպես ցույց է տրված վերևում (Arduino IDE -> Գործիքներ -> Տախտակ -> Arduino Mega կամ Mega 2560): Arduino ծրագիրը ստուգում է հիմնական հանգույցում `« void loop () », արդյոք լազերային սենսորից ստացվել է նոր ընթերցում (գործառույթը readRangeContinuousMillimeters ()): Եթե «distance_mm» սենսորից կարդացած հեռավորությունն ավելի մեծ է, քան «THRESHOLD_CLOSING_DISTANCE_FAR» արժեքը կամ փոքր է «THRESHOLD_CLOSING_DISTANCE_NEAR» - ից, ապա սերվոն սկսում է փակվել: Այլ դեպքերում այն սկսում է բացվել: Theրագրի հաջորդ մասում `« digitalRead (gripperOpenButtonPin) »գործառույթում, սեղմիչի վիճակն անընդհատ վերահսկվում է, և եթե այն սեղմված է, բռնիչը կբացվի, չնայած այն փակ է օբյեկտի հարևանության պատճառով: (distance_mm- ը THRESHOLD_CLOSING_DISTANCE_NEAR- ից փոքր է):

«Voice_VL53L0X_gripper_control» երկրորդ ծրագիրը թույլ է տալիս վերահսկել բռնակիչը ՝ օգտագործելով ձայնային հրամաններ: Ձայնային հրամանները մշակվում են BT Voice Control for Arduino հավելվածի կողմից Google Play- ից և հետագայում bluetooth- ով ուղարկվում Arduino- ին: Arduino ծրագիրը ստուգում է հիմնական հանգույցում `« void loop () », արդյոք նոր հրամանը (նիշը) ուղարկվել է Android հավելվածից bluetooth- ի միջոցով: Եթե bluetooth սերիալից որևէ մուտքային նիշ կա, ծրագիրը կարդա սերիական տվյալները մինչև չհանդիպի «#» ձայնային հրահանգի ավարտին: Այնուհետև այն սկսում է «void processInput ()» ֆունկցիայի կատարումը և կախված ձայնային հրամանից, կանչվում է որոշակի կառավարման գործառույթ:

Քայլ 4: Ավտոմատ բռնելու փորձարկում

Ավտոմատ բռնման փորձարկում
Ավտոմատ բռնման փորձարկում
Ավտոմատ բռնման փորձարկում
Ավտոմատ բռնման փորձարկում

«Քայլ 1» -ի տեսանյութը ցույց է տալիս ռոբոտների բռնիչի թեստերը ՝ հիմնված «Arduino Mega Code» նախորդ բաժնի ծրագրի վրա: Այս տեսանյութը ցույց է տալիս, թե ինչպես է այն ինքնաբերաբար բացվում, երբ օբյեկտը մոտ է իրեն, և այնուհետև բռնում է այն, եթե այն գտնվում է բռնակալի հասանելիության սահմաններում: Այստեղ օգտագործվող հեռավորության լազերային սենսորից ստացված արձագանքը հստակ տեսանելի է տեսանյութի հետագա հատվածում, երբ շիշը առաջ և հետ եմ շարժում, ինչը առաջացնում է արագ արձագանք և բռնակալի կառավարման փոփոխություն:

Քայլ 5: Ձայնի ակտիվացված ավտոմատ բռնում

Image
Image
Էպիլոգ մարտահրավեր 9
Էպիլոգ մարտահրավեր 9

Այս նախագծի մշակման հաջորդ քայլին ես դրան ավելացրի ձայնային հսկողություն: Ձայնային հրամանի շնորհիվ ես կարող եմ վերահսկել բռնակիչի փակումը, բացումը և արագությունը: Այս դեպքում ձայնային հսկողությունը շատ օգտակար է, երբ բացում եք առարկան բռնող բռնակիչը: Այն փոխարինում է կոճակը և թույլ է տալիս հեշտությամբ կառավարել շարժական ռոբոտի վրա տեղադրված բռնակիչը:

Եթե ձեզ դուր է գալիս այս նախագիծը, մի մոռացեք քվեարկել և մեկնաբանությունում գրել, թե ինչ կցանկանայիք տեսնել հաջորդ գրառման մեջ ՝ որպես այս նախագծի հետագա կատարելագործում.

  • ֆեյսբուք
  • youtube
  • իմ կայքը

Խորհուրդ ենք տալիս: