Სარჩევი:

ულტრაბგერითი ასინქრონული დაბრკოლებების გამოვლენა: 4 ნაბიჯი
ულტრაბგერითი ასინქრონული დაბრკოლებების გამოვლენა: 4 ნაბიჯი

ვიდეო: ულტრაბგერითი ასინქრონული დაბრკოლებების გამოვლენა: 4 ნაბიჯი

ვიდეო: ულტრაბგერითი ასინქრონული დაბრკოლებების გამოვლენა: 4 ნაბიჯი
ვიდეო: FIBARO გადამრთველი რელე. ჩართვა 2024, ივნისი
Anonim
ულტრაბგერითი ასინქრონული დაბრკოლებების გამოვლენა
ულტრაბგერითი ასინქრონული დაბრკოლებების გამოვლენა

გასართობად ვაშენებ რობოტს, რომლითაც მინდა ავტონომიურად გადავიდე სახლის შიგნით.

ეს გრძელი სამუშაოა და მე ვაკეთებ ეტაპობრივად.

ეს სასწავლო ინსტრუქცია ორიენტირებულია არდუინო მეგასთან დაბრკოლებების გამოვლენაზე

ულტრაბგერითი სენსორები HC-SR04 vs HY-SRF05 იაფი და მარტივი გამოსაყენებელია, მაგრამ რთულდება რთულ რობოტში მიკროკონტროლის მარყუჟში ინტეგრირება. მინდოდა დაბრკოლებების გამოვლენა აწარმოოს ასინქრონული გზით.

_

მე უკვე გამოვაქვეყნე 3 ინსტრუქცია ამ რობოტის მახასიათებლების შესახებ:

  • გააკეთეთ თქვენი ბორბლის კოდირება
  • შექმენით თქვენი WIFI კარიბჭე
  • გამოიყენეთ ინერციული მოდულის ერთეული

და დოკუმენტაცია ხელოვნური ინტელექტისა და ულტრაბგერის გაერთიანების შესახებ რობოტის ლოკალიზაციისთვის.

ნაბიჯი 1: რა არის ზუსტად ულტრაბგერითი სენსორების და მიკროკონტროლერების პრობლემა?

რა არის ზუსტად ულტრაბგერითი სენსორების და მიკროკონტროლერების პრობლემა?
რა არის ზუსტად ულტრაბგერითი სენსორების და მიკროკონტროლერების პრობლემა?
რა არის ზუსტად ულტრაბგერითი სენსორების და მიკროკონტროლერების პრობლემა?
რა არის ზუსტად ულტრაბგერითი სენსორების და მიკროკონტროლერების პრობლემა?

სინქრონული ლოდინი და არდუინოს შეზღუდვები

მიკროკონტროლერების კოდი მუშაობს მარყუჟში და არ უჭერს მხარს მრავალ ძაფს. ულტრაბგერითი სენსორები ემყარება სიგნალის ხანგრძლივობას. ეს ხანგრძლივობა გრძელდება 30 მ -მდე, რაც ძალიან დიდი ხანია ელოდება მარყუჟის შიგნით, როდესაც მიკროკონტროლერებს მოუწევთ გაუმკლავდეთ მრავალ ძრავას და სენსორს (მაგალითად, სერვო და DC ძრავები ბორბლის კოდირებით).

ამიტომ მინდოდა შემემუშავებინა ობიექტი, რომელიც ასინქრონულად მუშაობს.

ნაბიჯი 2: როგორ მუშაობს?

Როგორ მუშაობს ?
Როგორ მუშაობს ?

იგი შექმნილია Atmega– სთვის დაბრკოლებების გამოვლენისთვის. მას აქვს 4 -მდე ულტრაბგერითი სენსორი.

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

ძირითადი ფუნქციებია:

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

ნაბიჯი 3: ტექნიკური დეტალები

გამოიყენეთ ტაიმერი 4, ასე რომ pin 6 7 8 არ შეიძლება გამოყენებულ იქნას როგორც PWM.

თითოეული სენსორისთვის ობიექტს სჭირდება გამომწვევი PIN და შეწყვეტის PIN.

სენსორების თავზე, PIN- ების შეწყვეტა, პროგრამას გამოსაყენებლად სჭირდება სხვა შეწყვეტის PIN.

ნაბიჯი 4: როგორ განვახორციელოთ?

როგორ განვახორციელოთ?
როგორ განვახორციელოთ?

შეაერთეთ სენსორები, როგორც ზემოთ

ჩამოტვირთეთ ამ GitHub საცავიდან

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • მაგალითიEchoObstacleDetection.ino

შექმენით EchoObstacleDetection დირექტორია თქვენს IDE ბიბლიოთეკაში და გადაიტანეთ.cpp და.h

გამოსცადე

გახსენით მაგალითიEchoObstacleDetection.ino.

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

გამომავალი მიმართულია სერიულ მონიტორზე. თავდაპირველად ის დაბეჭდავს 2 სენსორის მიერ გამოვლენილ დისტანციებს და შემდეგ დაბეჭდის სიგნალებს ზღურბლის ქვეშ არსებული მანძილის მიხედვით.

გირჩევთ: