Სარჩევი:
- ნაბიჯი 1: როგორ მუშაობს?
- ნაბიჯი 2: როგორ დააკონფიგურიროთ სამი სენსორული სადგური და ობიექტი
- ნაბიჯი 3: როგორ დააკონფიგურიროთ სამაგისტრო სადგური
- ნაბიჯი 4: მასალის ჩამონათვალი
ვიდეო: ულტრაბგერითი დაფუძნებული პოზიციონირების სისტემა: 4 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ულტრაბგერითი რადარების ყველა ვერსია, რაც მე აღმოვაჩინე არდუინოს მოწყობილობებისთვის (არდუინო - რადარი/ულტრაბგერითი დეტექტორი, არდუინოს ულტრაბგერითი რადარის პროექტი) ძალიან ლამაზი რადარებია, მაგრამ ყველა მათგანი „ბრმაა“. ვგულისხმობ, რადარი აღმოაჩენს რაღაცას, მაგრამ რას აღმოაჩენს?
ამიტომ მე ვთავაზობ საკუთარ თავს განვავითარო სისტემა, რომელსაც შეუძლია ობიექტების ამოცნობა და მათი იდენტიფიცირება. სხვა სიტყვებით რომ ვთქვათ, პოზიციონირების სისტემა GPS მოწყობილობების, მაგრამ ულტრაბგერითი დეტექტორების გამოყენების გარეშე.
ეს არის შედეგი, იმედი მაქვს მოგეწონებათ.
ნაბიჯი 1: როგორ მუშაობს?
პოზიციონირების სისტემები ჩამოყალიბებულია სამი სენსორული სადგურით ულტრაბგერითი დეტექტორებით და id_node 1, 2 და 3 ქმნიან ოთხკუთხედს ან კვადრატს, რომელიც 90 ° -იან კუთხეს აფრქვევს და სადაც მათ შორის მანძილი ცნობილია როგორც ნაჩვენებია სურათზე 1.
const float distancebetween1and2 = 60.0;
const float distancebet22 და 3 = 75.0;
ეს სენსორები ზომავს სხვა ობიექტების მანძილს და კუთხეს 3 -ზე მეტი id_node– ით, რომელსაც ასევე აქვს ულტრაბგერითი დეტექტორი, რომელიც 170 ° –იან კუთხეს აფრქვევს.
ყველა მათგანი აგზავნის მანძილებს, გაზომულ კუთხეებს და id_node სხვა სამაგისტრო სადგურს უკაბელო კომუნიკაციების გამოყენებით, რომ გაანალიზოს, გამოთვალოს ობიექტების პოზიცია ტრიგონომეტრიული გაანგარიშებით და ამოიცნოს ისინი.
ჩარევის თავიდან ასაცილებლად სამაგისტრო სადგური ახდენს ყველა ულტრაბგერითი დეტექტორის სინქრონიზაციას ისე, რომ ყოველ მომენტში მხოლოდ ერთი ულტრაბგერითი დეტექტორი ზომავს
ამის შემდეგ და სერიული კომუნიკაციის გამოყენებით სამაგისტრო სადგური აგზავნის ინფორმაციას (კუთხე, მანძილი, id_object) დამუშავების ესკიზზე შედეგების დასადგენად.
ნაბიჯი 2: როგორ დააკონფიგურიროთ სამი სენსორული სადგური და ობიექტი
თითოეული სენსორული სადგურის ერთადერთი ფუნქციაა ობიექტების გამოვლენა და მასტერ სადგურზე გაზომილი მანძილის, კუთხისა და id კვანძის სიის გაგზავნა.
ასე რომ, თქვენ უნდა განაახლოთ გამოვლენის მაქსიმალური დაშორება ("valid_max_distance") და მინიმალური ("valid_min_distance") (სანტიმეტრი) გამოვლენის გასაუმჯობესებლად და გამოვლენის ზონის შეზღუდვისთვის:
int valid_max_distance = 80;
int valid_min_distance = 1;
ამ სენსორული სადგურების id კვანძი („ეს_კვანძი“ქვემოთ მოცემულ კოდში) არის 1, 2 და 3 და სამაგისტრო სადგურის ID კვანძი არის 0.
const uint16_t this_node = 01; // ჩვენი კვანძის მისამართი ოქტალური ფორმატით (Node01, Node02, Node03)
const uint16_t სხვა_კვანძი = 00; // სამაგისტრო კვანძის მისამართი (Node00) ოქტალური ფორმატით
თითოეული სენსორული სადგური გაწმენდის და კუთხე 100º ("max_angle" ქვემოთ მოცემულ კოდში)
#განსაზღვრეთ მინ_კუთხედი 0
#განსაზღვრეთ მაქსიმალური_კუთხედი 100
როგორც ზემოთ, ობიექტის ერთადერთი ფუნქციაა ობიექტების გამოვლენა და მანძილების, კუთხეების და იდენტიფიცირებული ობიექტების ჩამონათვალის გაგზავნა მთავარ სადგურზე. ერთი ობიექტის (ქვემოთ მოცემულ კოდში „ეს_კვანძი“ID უნდა იყოს 3 -ზე მეტი.
თითოეული ობიექტი იძირება და 170º კუთხეა და როგორც ზემოთ, შესაძლებელია განახლდეს გამოვლენის მაქსიმალური და მინიმალური მანძილი.
const uint16_t this_node = 04; // ჩვენი კვანძის მისამართი ოქტალური ფორმატით (Node04, Node05,…)
const uint16_t სხვა_კვანძი = 00; // სამაგისტრო კვანძის მისამართი (Node00) ოქტალური ფორმატით int valid_max_distance = 80; int valid_min_distance = 1; #განსაზღვრეთ მინი_კუთხედი 0 #განსაზღვრეთ მაქსიმალური_კუთხედი 170
ნაბიჯი 3: როგორ დააკონფიგურიროთ სამაგისტრო სადგური
სამაგისტრო სადგურის ფუნქციაა მიიღოს სენსორული სადგურების და ობიექტების გადაცემები და შედეგები სერიული პორტის გამოყენებით გაგზავნოს დამუშავების ესკიზზე მათი გამოსახვის მიზნით. უფრო მეტიც, ყველა ობიექტისა და სამი სენსორული სადგურის სინქრონიზაცია ხდება ისე, რომ მხოლოდ ერთი მათგანი ზომავს ყოველ ჯერზე, რათა თავიდან აიცილოს ჩარევა.
პირველ რიგში თქვენ უნდა განაახლოთ მანძილი (სანტიმეტრი) სენსორ 1 -სა და 2 -ს შორის და მანძილი 2 -დან 3 -ს შორის.
const float distancebetween1and2 = 60.0;
const float distancebet22 და 3 = 70.0;
ესკიზი გამოთვლის ობიექტების პოზიციას შემდეგნაირად:
- ობიექტების ყველა გადაცემისათვის (id_node 3 -ზე მეტი) ეძებეთ იგივე მანძილი ულტრაბგერითი სენსორების თითოეულ გადაცემაში (id_node 1, 2 ან 3).
- ყველა ეს პუნქტი ქმნის "კანდიდატების" ჩამონათვალს (მანძილი, კუთხე, id_node), რომ იყოს ერთი ობიექტის პოზიცია (ესკიზში "პროცესის_პუნქტი_ ობიექტით").
- წინა სიის თითოეული „კანდიდატისთვის“ფუნქცია „კანდიდატი_ურჩეულია_სენსორი2 და 3“გამოითვლება ულტრაბგერითი სენსორის 2 და 3 თვალსაზრისით, რომელი მათგანი შეესაბამება შემდეგ ტრიგონომეტრიულ მდგომარეობას (იხილეთ სურათები 2 და 3)
float distancefroms2 = ცოდვა (რადიანი (კუთხე)) * მანძილი;
float distancefroms3 = cos (რადიანები (კუთხის_ კანდიდატი)) * მანძილი_ კანდიდატი; // ტრიგონომეტრიული მდგომარეობა 1 აბს (მანძილიდან 2 + მანძილიდან 3 - მანძილი 2 და 3) <= ათწილადი (მაქსიმალური_განხვავების_ მანძილი)
როგორც ზემოთ, წინა სიის თითოეული „კანდიდატისთვის“ფუნქცია „კანდიდატი_ შერჩეული_სენსორს 1 და 2“ითვლის ულტრაბგერითი სენსორის 1 და 2 თვალსაზრისით, რომელი მათგანი ემთხვევა შემდეგ ტრიგონომეტრიულ მიმართებას (იხ. სურათი 2 და 3)
float distancefroms1 = ცოდვა (რადიანი (კუთხე)) * მანძილი; float distancefroms2 = cos (რადიანები (კუთხის_ კანდიდატი)) * მანძილი_ კანდიდატი; // ტრიგონომეტრიის მდგომარეობა 2 აბს (მანძილიდან 1 + მანძილიდან 2 - მანძილი შორის 1 და 2) <= float (max_diference_distance)
მხოლოდ კანდიდატები (მანძილი, კუთხე, id_node), რომელიც შეესაბამება ტრიგონომეტრიის პირობებს 1 და 2, იდენტიფიცირებული ობიექტებია გამოვლენილი სენსორული სადგურების 1, 2 და 3
ამის შემდეგ შედეგები სამაგისტრო სადგურის მიერ იგზავნება დამუშავების ესკიზზე მათი გამოსახვის მიზნით.
ნაბიჯი 4: მასალის ჩამონათვალი
ერთი სენსორული სადგურის ან ერთი ობიექტისთვის საჭირო მასალის ჩამონათვალი შემდეგია:
- ნანოს დაფა
- ულტრაბგერითი სენსორი
- მიკრო სერვო ძრავა
- NRF24L01 უკაბელო მოდული
- NRF24L01 ადაპტერი
სამაგისტრო სადგურის მასალების ჩამონათვალი შემდეგია:
- ნანოს დაფა
- NRF24L01 უკაბელო მოდული
- NRF24L01 ადაპტერი
გირჩევთ:
ფერის დახარისხების სისტემა: Arduino დაფუძნებული სისტემა ორი ქამრით: 8 ნაბიჯი
ფერის დახარისხების სისტემა: Arduino დაფუძნებული სისტემა ორი ქამრით: პროდუქციისა და/ან პროდუქციის შეფუთვა სამრეწველო სფეროში ხდება კონვეიერის ქამრების გამოყენებით დამზადებული ხაზების გამოყენებით. ეს ქამრები ხელს უწყობს ნივთის ერთი წერტილიდან მეორეში კონკრეტული სიჩქარით გადატანას. ზოგიერთი დამუშავების ან იდენტიფიკაციის ამოცანა შეიძლება იყოს
ულტრაბგერითი დაფუძნებული წვდომის სისტემა: 6 ნაბიჯი (სურათებით)
ულტრაბგერითი დაფუძნებული წვდომის სისტემა: ამჯერად მე წარმოგიდგენთ ულტრაბგერითი დაფუძნებული წვდომის სისტემას, ვფიქრობ, რომ ეს შეიძლება იყოს საინტერესო. იგი დაფუძნებულია ულტრაბგერითი ტალღებზე, ასე რომ, ეს არის უკონტაქტო წვდომის სისტემა, რომელსაც არ სჭირდება სხვა ელექტრონული მოწყობილობა, არამედ ობიექტი, თუნდაც თქვენი ხელები ცდილობენ
Arduino ლაზერზე დაფუძნებული დროის სისტემა: 6 ნაბიჯი (სურათებით)
არდუინოს ლაზერზე დაფუძნებული დროის სისტემა: როგორც ჩემი სწავლების ნაწილი, მე მჭირდებოდა სისტემა, რომ ზუსტად გამეზომა რამდენად სწრაფად გაიარა მოდელმა 10 მეტრი. თავიდან ვიფიქრე, რომ ვიყიდი იაფ მზა სისტემას eBay– დან ან Aliexpress– დან, ეს სისტემები საყოველთაოდ ცნობილია, როგორც მსუბუქი კარიბჭეები
ამინდზე დაფუძნებული მუსიკის გენერატორი (ESP8266 დაფუძნებული მიდი გენერატორი): 4 ნაბიჯი (სურათებით)
ამინდზე დაფუძნებული მუსიკის გენერატორი (ESP8266 დაფუძნებული მიდი გენერატორი): გამარჯობა, დღეს მე აგიხსნით, თუ როგორ უნდა შექმნათ თქვენი საკუთარი პატარა ამინდი მუსიკის გენერატორი. იგი ეფუძნება ESP8266- ს, რომელიც არდუინოს მსგავსია და ის პასუხობს ტემპერატურას, წვიმას და სინათლის ინტენსივობა. ნუ ელოდებით, რომ ის მთელ სიმღერებს ან აკორდს გამოიმუშავებს
არდუინოზე დაფუძნებული ავტონომიური ბოტი ულტრაბგერითი სენსორის გამოყენებით: 5 ნაბიჯი (სურათებით)
არდუინოზე დაფუძნებული ავტონომიური ბოტი ულტრაბგერითი სენსორის გამოყენებით: შექმენით თქვენი საკუთარი არდუინოზე დაფუძნებული ავტონომიური ბოტი ულტრაბგერითი სენსორის გამოყენებით. ამ ბოტს შეუძლია საკმაოდ იმოძრაოს საკუთარ თავზე ყოველგვარი დაბრკოლების შეჯახების გარეშე. ძირითადად რას აკეთებს ის არის, რომ აღმოაჩენს რაიმე სახის დაბრკოლებას თავის გზაზე და გადაწყვეტს საუკეთესო