Სარჩევი:

უტრასონიული აცილების რობოტი არდუინოს გამოყენებით: 7 ნაბიჯი
უტრასონიული აცილების რობოტი არდუინოს გამოყენებით: 7 ნაბიჯი

ვიდეო: უტრასონიული აცილების რობოტი არდუინოს გამოყენებით: 7 ნაბიჯი

ვიდეო: უტრასონიული აცილების რობოტი არდუინოს გამოყენებით: 7 ნაბიჯი
ვიდეო: Голубая стрела (1958) фильм 2024, ნოემბერი
Anonim
Image
Image
უტრასონიული აცილების რობოტი არდუინოს გამოყენებით
უტრასონიული აცილების რობოტი არდუინოს გამოყენებით

ამ გაკვეთილში მე გაჩვენებთ თუ როგორ უნდა შექმნათ თქვენი საკუთარი დაბრკოლება რობოტის თავიდან აცილების მიზნით! ჩვენ გამოვიყენებთ Arduino UNO დაფას და ულტრაბგერითი სენსორს. თუ რობოტი აღმოაჩენს მის წინ არსებულ ობიექტს, მცირე სერვო ძრავის დახმარებით, ის სკანირებას უკეთებს მარცხნივ და მარჯვნივ ადგილს, რათა მოიძიოს შემობრუნების საუკეთესო გზა. მას ასევე აქვს შეტყობინების LED, ზარი, რომელიც უკრავს ტონს ობიექტის აღმოჩენისას და ღილაკი რობოტის ფუნქციის შესაცვლელად (გაჩერებულია/წინ მიიწევს).

მისი დამზადება ძალიან ადვილია!

ნაბიჯი 1: ნივთების გასაკეთებლად

ნივთების გასაკეთებლად!
ნივთების გასაკეთებლად!
ნივთების გასაკეთებლად!
ნივთების გასაკეთებლად!
ნივთების გასაკეთებლად!
ნივთების გასაკეთებლად!
ნივთების გასაკეთებლად!
ნივთების გასაკეთებლად!

ამ პროექტისთვის დაგჭირდებათ:

  1. Arduino UNO (იყიდეთ იგი gearbest.com– დან)
  2. მინი დაფა (იყიდეთ gearbest.com– დან)
  3. L298 ძრავის მძღოლის მოდული (იყიდეთ იგი gearbest.com– დან)
  4. 2x DC ძრავები ბორბლებით HC-SR04 ულტრაბგერითი სენსორი (იყიდეთ gearbest.com– დან)
  5. მიკრო სერვო ძრავა (იყიდეთ gearbest.com– დან)
  6. ღილაკი წითელი LED220 Ohm რეზისტორი 9V ბატარეის დამჭერი (დენის ჯეკით ან მის გარეშე)
  7. 8 შუალედი (კაცი-ქალი),
  8. 8 კაკალი და 8 ხრახნი ასევე დაგჭირდებათ ერთი დიდი (ლითონი)

ქაღალდის სამაგრები და მძივი უკანა საყრდენის გასაკეთებლად.

რობოტის ბაზისთვის, მე გამოვიყენე აკრილის ჭურვი ალიექსპრესისგან. თქვენ ასევე შეგიძლიათ გამოიყენოთ ხის ან ლითონის ნაჭერი (ან ორი ელექტრო ფირფიტა).

მთელი პროექტის ღირებულება დაახლოებით 20 დოლარია

ინსტრუმენტები: საბურღი მანქანა სუპერ წებო ეკიპაჟის მძღოლი ცხელი იარაღის წებო (სურვილისამებრ) სიმძლავრე:

ჩვენ გამოვიყენებთ 9 ვ ბატარეას რობოტის გასააქტიურებლად, რადგან ის პატარა და იაფია, მაგრამ ის არ არის ძალიან ძლიერი და ცარიელი იქნება დაახლოებით ერთი საათის შემდეგ. განიხილეთ თუ გსურთ გამოიყენოთ დატენვის ბატარეის პაკეტი (მინ. 6V, მაქს 7 ვ), რომელიც იქნება უფრო მძლავრი, მაგრამ ასევე უფრო ძვირი და უფრო დიდი ვიდრე 9 ვ ბატარეა. გამოიწერეთ ჩვენი YouTube არხი დააწკაპუნეთ აქ

ნაბიჯი 2: ცნებების გაგება

ცნებების გაგება
ცნებების გაგება
ცნებების გაგება
ცნებების გაგება
ცნებების გაგება
ცნებების გაგება

მიზანია რობოტს გააცნობიეროს მის წინაშე არსებული დაბრკოლებები, რათა მან შეცვალოს მიმართულება და თავიდან აიცილოს ისინი. წინა სტატიაში ჩვენ გავაკეთეთ რობოტის ნაბიჯი - ახლა ჩვენ მივცემთ მას გარკვეულ ავტონომიას.

ულტრაბგერითი სენსორი

HC-SR04 არის წრე, რომელსაც შეუძლია გაზომოთ მანძილი ობიექტებამდე 4 მეტრამდე ულტრაბგერითი ტალღების გამოყენებით. ის აგზავნის პინგს (წყალქვეშა ნავის მსგავსად) და ზომავს დროს (მიკროწამებში) რაიმეს უკან გაგზავნას და მიღებას შორის. ეს დრო შემდეგ იყოფა 2 -ზე, როდესაც ტალღა მოძრაობს წინ და უკან. შემდეგ გაყავით 29 -ზე, რომ მიიღოთ მანძილი სანტიმეტრებში (ან 74 ინჩზე), რადგან ბგერა მოძრაობს 29.4μs სანტიმეტრზე (340 მ/წმ). სენსორი არის ძალიან ზუსტი ~ 3 მმ ტოლერანტობით და ადვილია ინტეგრირება Arduino– სთან.

ინტერფეისის ულტრაბგერითი სენსორი AVR მიკროკონტროლერთან

ნებისმიერ ავტონომიურ რობოტს უნდა ჰქონდეს დაბრკოლების თავიდან აცილება და თან ერთვის დისტანციის საზომი სენსორი. IR გადამცემი წყვილი ან ნაცრისფერი შუქის სენსორი შეიძლება ადვილად იმუშაოს დაბრკოლებების გამოვლენისთვის 1 სმ-დან 10 სმ დიაპაზონში. IR დიაპაზონის მაძიებლებს (მაგალითად, მკვეთრს) შეუძლიათ გაზომონ მანძილი უახლოეს დაბრკოლებამდე 100 სმ -მდე დიაპაზონით. თუმცა, IR სენსორებზე გავლენას ახდენს მზის და სხვა სინათლის წყაროები. IR დიაპაზონის გამომძიებლებს აქვთ ნაკლები დიაპაზონი და ასევე ძვირი რასაც აკეთებს. ულტრაბგერითი სენსორები (ასევე ცნობილია როგორც ულტრაბგერითი სიახლოვის სენსორები ან სენატორი გიკებისთვის) ასრულებენ ორივე დავალებას გონივრულ ფასად და განსაკუთრებული სიზუსტით. დიაპაზონი არის 3 სმ -დან 350 სმ -მდე ~ 3 მმ სიზუსტით. ამ ულტრაბგერითი ერთ -ერთი სენსორის მიბმა ჩვენს რობოტში, მას შეუძლია იმოქმედოს როგორც დაბრკოლების თავიდან აცილების, ასევე მანძილის საზომი სენსორის სახით.

"ულტრაბგერითი" ხმა ეხება ყველაფერს, რაც აღემატება ხმის სიხშირეებს და ნომინალურად მოიცავს ყველაფერს, რაც აღემატება 20 000 ჰერცს ან 20 კჰც! იაფი ულტრაბგერითი სენსორები, რომლებიც გამოიყენება რობოტექნიკისთვის, ძირითადად მუშაობს 40 კჰც – დან 250 კჰც – მდე დიაპაზონში, ხოლო სამედიცინო აღჭურვილობაში გამოყენებული 10 მჰც – მდე.

ნაბიჯი 3: საჭირო ინსტრუმენტები

საჭირო ინსტრუმენტები
საჭირო ინსტრუმენტები
საჭირო ინსტრუმენტები
საჭირო ინსტრუმენტები
საჭირო ინსტრუმენტები
საჭირო ინსტრუმენტები
საჭირო ინსტრუმენტები
საჭირო ინსტრუმენტები
  1. მულტიმეტრი
  2. პურის დაფა
  3. ნემსის ცხვირსახოცი
  4. მავთულის გამხსნელი
  5. მავთულის საჭრელი
  6. წებო იარაღი

მულტიმეტრი სინამდვილეში არის მარტივი მოწყობილობა, რომელიც გამოიყენება ძაბვისა და წინააღმდეგობის გასაზომად და იმის დასადგენად, არის თუ არა წრე დახურული. კომპიუტერის კოდის გამართვის მსგავსად, მულტიმეტრი დაგეხმარებათ თქვენი ელექტრონული სქემების "გამართვაში".

Სამშენებლო მასალები

თხელი ხის და/ან პლექსიგლასის ადვილად მარაგი მექანიკური ჩარჩოს დასამზადებლად ძალიან სასარგებლოა. ლითონები, როგორიცაა ალუმინი და ფოლადი, ხშირად შემოიფარგლება მხოლოდ მანქანების მაღაზიაში, თუმცა თხელი ალუმინის მოჭრა შესაძლებელია მაკრატლით და მოხრით ხელით. მექანიკური ჩარჩოები შეიძლება აშენდეს საყოფაცხოვრებო ნივთებისგან, როგორიცაა პლასტმასის კონტეინერები.

მიუხედავად იმისა, რომ შესაძლებელია სხვა მასალები, როგორიცაა პლასტმასი (გარდა პლექსიგლასისა), ან უფრო ეგზოტიკური მასალები, როგორიცაა ბოჭკოვანი მინა და ნახშირბადის ბოჭკოვანი, ისინი არ განიხილება ამ სახელმძღვანელოში. რამდენიმე მწარმოებელმა აღნიშნა, რომ მოყვარულთა უმეტესობისთვის ადვილი არ არის საკუთარი მექანიკური ნაწილების წარმოება და შექმნეს მოდულური მექანიკური ნაწილები. ლიდერი ამაში არის Lynxmotion, რომელიც გთავაზობთ რობოტული დიზაინის ფართო სპექტრს, ასევე იმ ნაწილებს, რომლებიც საჭიროა თქვენი საკუთარი რობოტების შესაქმნელად.

Ხელსაწყოები

სხვადასხვა სახის და ზომის ხრახნები და საყრდენი (მათ შორის საიუველირო ინსტრუმენტების ნაკრები: მცირე ზომის ხრახნები, რომლებიც ჩვეულებრივ იყიდება დოლარის მაღაზიებში). საბურღი (სასურველია საბურღი პრესი სწორი ხვრელებისთვის) ასევე მნიშვნელოვანია. სამშენებლო მასალების (ან როუტერის) დასაჭრელად ხელის ხერხი ასევე მნიშვნელოვანი აქტივია. თუ ბიუჯეტი იძლევა საშუალებას, პატარა მაგიდის სამაჯური ($ 200 დიაპაზონი) ნამდვილად არის გასათვალისწინებელი ინსტრუმენტი.

Solderless Breadboard

Solderless breadboard გაძლევთ საშუალებას ოპტიმიზიროთ თქვენი განლაგება და დაუკავშიროთ კომპონენტები მარტივად. ერთად solderless breadboard, თქვენ უნდა შეიძინოთ წინასწარ ჩამოყალიბებული jumper მავთულის ნაკრები, რომელიც შედგება წინასწარ მოჭრილი და მოხრილი მავთულისგან, რომელიც განკუთვნილია გამოიყენოს solderless breadboard. ეს ძალიან ამარტივებს კავშირებს.

პატარა ხრახნიანი ნაკრები

ეს პატარა ხრახნები აუცილებელია ელექტრონიკასთან მუშაობისას. ძალიან ნუ აიძულებ მათ - მათი ზომა მათ უფრო მყიფე ხდის.

რეგულარული ხრახნიანი ნაკრები

ყველა სემინარს სჭირდება მრავალ ინსტრუმენტის ან ინსტრუმენტების ნაკრები, რომელიც მოიცავს ბრტყელ / ფილიპსს და სხვა ხრახნიან თავებს.

ნემსის ცხვირსახოცი

ნემსის ცხვირსახოცების ნაკრები წარმოუდგენლად სასარგებლოა მცირე კომპონენტებთან და ნაწილებთან მუშაობისას და არის ძალიან იაფი დამატება თქვენს ყუთში. ესენი განსხვავდება ჩვეულებრივი პლისისგან, რადგან ისინი მიდიან იმ წერტილამდე, რომელიც შეიძლება მოხვდეს მცირე ფართობებში.

მავთულის სტრიპტიზატორები/საჭრელები

თქვენ აპირებთ ნებისმიერი მავთულის გაწყვეტას, მავთულის გამხსნელი დაზოგავს მნიშვნელოვან დროსა და ძალისხმევას. მავთულის სტრიპტიზი, სათანადოდ გამოყენების შემთხვევაში, მხოლოდ ამოიღებს საკაბელო იზოლაციას და არ გამოიწვევს რაიმე კრუნჩხვას და არ დააზიანებს გამტარებს. მავთულის სტრიპტიზის სხვა ალტერნატივა არის მაკრატელი, თუმცა საბოლოო შედეგი შეიძლება ბინძური იყოს. მაკრატელი, მმართველი, კალამი, მარკირების ფანქარი, Exacto დანა (ან სხვა ხელის საჭრელი ინსტრუმენტი) ეს აუცილებელია ნებისმიერ ოფისში.

ნაბიჯი 4: AVR კოდირების კონცეფციები

AVR კოდირების წესები
AVR კოდირების წესები

ხმის სიჩქარის გამოთვლა ულტრაბგერითი სენსორების მიმართ

ცოტა მათემატიკა, მაგრამ ნუ გეშინია. ეს უფრო მარტივია ვიდრე გგონიათ.

ხმის სიჩქარე მშრალ ჰაერში ოთახის ტემპერატურაზე (~ 20 ° C) = 343 მეტრი/წამში

იმისათვის, რომ ხმოვანი ტალღა მოხვდეს და ახლომდებარე ობიექტთან ორმხრივი მოგზაურობა იყოს = 343/2 = 171.5 მ/რადგან იაფი ულტრაბგერითი სენსორის მაქსიმალური დიაპაზონი არ არის 5 მეტრზე მეტი (ორმხრივი მოგზაურობა), უფრო აზრიანი იქნებოდა შეცვალეთ ერთეულები სანტიმეტრზე და მიკროწამებში.

1 მეტრი = 100 სანტიმეტრი 1 წამი = 10^6 მიკროწამი = (s/171.5) x (მ/100 სმ) x ((1x10^6)/წ) = (1/171.5) x (1/100) x (1000000/ 1) = 58.30903790087464 us/სმ = 58.31 us/სმ (ორ ციფრზე დამრგვალება გამოთვლების გასაადვილებლად)მაშასადამე, პულსის ობიექტზე გადასასვლელად და 1 სანტიმეტრით უკან დასაბრუნებლად საჭირო დრო არის 58,31 მიკროწამი.

პატარა ფონი AVR საათის ციკლზე

სრულიად განსხვავებული თავია საჭირო AVR საათის ციკლების გასაგებად, მაგრამ ჩვენ მოკლედ გავიგებთ როგორ მუშაობს ჩვენი გათვლების გასაადვილებლად

ჩვენი მაგალითისთვის ჩვენ გამოვიყენებთ AVR Draco დაფას, რომელსაც აქვს 8 ბიტიანი AVR-Atmega328P მიკროკონტროლერი. იმისათვის, რომ ყველაფერი მარტივი იყოს, ჩვენ არ შევცვლით მიკროკონტროლის პარამეტრებს. არ დაუკრავს დაუკრავენ ნაწილებს; გარე ბროლი არ არის მიმაგრებული; თავის ტკივილი არ არის. ქარხნულ პარამეტრებში ის მუშაობს შიდა 8MHz ოსცილატორზე /8 წინასწარგამსვლელთან ერთად; თუ თქვენ არ გესმით ეს ყველაფერი, ეს უბრალოდ ნიშნავს იმას, რომ მიკროკონტროლერი მუშაობს 1 MHz შიდა RC Oscillator– ით და თითოეული საათის ციკლი იღებს 1 მიკროწამს.

1 2 1MHz = 1000000 ციკლი წამში, შესაბამისად, 1s/1000000 = 1/1000000 = 1us

AVR საათები და მანძილის კონვერტაცია

ჩვენ თითქმის იქ ვართ! მას შემდეგ რაც ჩვენ ვიცით როგორ გადავაქციოთ AVR საათის ციკლები ხმოვანი ტალღებით გავლილ მანძილზე, პროგრამის ლოგიკის განხორციელება ადვილია.

ჩვენ ვიცით, რომ ულტრაბგერითი ხმის სიჩქარე იდეალურ გარემოში არის: 58.31 ამერიკული/სმ

ჩვენ ვიცით, რომ AVR მიკროკონტროლის გარჩევადობა არის 1us/საათის ციკლი (CLK)

მაშასადამე, ხმის გავლით მანძილი საათის ციკლზე (CLK) არის:

1 2 3 = (58.31 us/ სმ) x (1us/ clk) = 58.31 საათის ციკლი/ სმ ან = 1/ 58.31 სმ/ clk

თუ ცნობილია საათის ციკლის რაოდენობა, რომელიც საჭიროა ბგერას მგზავრობისა და უკან დასაბრუნებლად, ჩვენ შეგვიძლია მარტივად გამოვთვალოთ მანძილი. მაგალითად, თუ სენსორს სჭირდება 1000 საათის ციკლი მგზავრობისა და უკან დასაბრუნებლად, მაშინ მანძილი სენსორიდან უახლოეს ობიექტამდე არის = 1000/58.31 = 17.15 სმ (დაახლ.)

ახლა აზრი აქვს ყველაფერს? არა? კიდევ ერთხელ წაიკითხე

თუ გასაგებია ზემოთ ნახსენები ყველა ლოგიკით, ჩვენ მას განვახორციელებთ რეალურ სამყაროში, იაფი HC-SR04 ულტრაბგერითი სენსორის ჩვენს AVR Arduino დაფასთან დაკავშირებით.

ნაბიჯი 5: აპარატურის კავშირები:

აპარატურის კავშირები
აპარატურის კავშირები
აპარატურის კავშირები
აპარატურის კავშირები
აპარატურის კავშირები
აპარატურის კავშირები
აპარატურის კავშირები
აპარატურის კავშირები

Arduino Board- ი აადვილებს გარე სენსორების დაკავშირებას და ასევე შედეგების ნახვას LCD ეკრანზე. ულტრაბგერითი დიაპაზონის ამოცნობისთვის ჩვენ ვიყენებთ იაფ HC-SR04 მოდულს. მოდულს აქვს 4 ქინძისთავი, რომელთა დაკავშირება შესაძლებელია მიკროკონტროლის დაფაზე: VCC, TRIG, ECHO და GND.

შეაერთეთ VCC პინი 5V- თან და GND pin მიწასთან Arduino დაფაზე.

TRIG pin და ECHO pin შეიძლება დაუკავშირდეს დაფაზე არსებულ ნებისმიერ ქინძისთავებს. მინიმუმ 10us "მაღალი" სიგნალის გაგზავნა პინზე გასაშვებად აგზავნის რვა 40 kHz ხმოვან ტალღას და მაღლა იწევს ექოს პინს. თუ ხმა ახლოვდება ახლომდებარე ობიექტიდან და ბრუნდება, ის გადაღებულია გადამცემი მიმღების მიერ და ექოს პინი გამოყვანილია "დაბალი".

ულტრაბგერითი სენსორული მოდულების სხვა ვარიანტები ასევე ხელმისაწვდომია მხოლოდ 3 ქინძისთავით. მუშაობის პრინციპი კვლავ იგივეა, მაგრამ ტრიგერისა და ექოს ქინძისთავების ფუნქციონირება გაერთიანებულია ერთ პინში.

დაკავშირების შემდეგ, Trigger და Echo Pins– ის კონფიგურაცია შესაძლებელია პროგრამული უზრუნველყოფის საშუალებით. ამ მაგალითის გასაადვილებლად, ჩვენ არ გამოვიყენებთ რაიმე შეწყვეტის ქინძისთავს (ან შეყვანის გადაღების პინს) ამ მაგალითში. გამოუყენებელი შეწყვეტის ქინძისთავების გამოყენება ასევე გვაძლევს თავისუფლებას მოდულის დაკავშირება დაფაზე არსებულ ნებისმიერ ქინძისთავთან.

ნაბიჯი 6: კოდი

ქვემოთ მოყვანილი კოდი შეიცავს მხოლოდ "ულტრაბგერითი" გაფართოებას DC ძრავის კონტროლისთვის წინა სტატიიდან H-Bridge- ის გამოყენებით. როდესაც რობოტი აღმოაჩენს მის წინ არსებულ დაბრკოლებას, ის ბრუნდება (შემთხვევითი ხარისხი) და აგრძელებს წინსვლას. ეს ფუნქცია შეიძლება ადვილად გაფართოვდეს, რათა შემობრუნდეს და გამოავლინოს დაბრკოლებები ერთდროულად - ასე რომ რობოტი შემთხვევით არ მოტრიალდება, მაგრამ წინსვლას იწყებს მხოლოდ მაშინ, როდესაც ობიექტი არ არის გამოვლენილი.

კოდის ახსნისთვის იხილეთ არხზე ჩამოთვლილი Youtube ვიდეო.

ნაბიჯი 7: ვიდეო

უყურეთ ვიდეოს მთელი პროცესისთვის.

გირჩევთ: