Სარჩევი:

პროექტი 3: SonarDuino: 9 ნაბიჯი
პროექტი 3: SonarDuino: 9 ნაბიჯი

ვიდეო: პროექტი 3: SonarDuino: 9 ნაბიჯი

ვიდეო: პროექტი 3: SonarDuino: 9 ნაბიჯი
ვიდეო: Grade 3. N 28/pg. 29 Ronnie's Project - გვ. 29. რონის პროექტი 2024, ნოემბერი
Anonim
Image
Image

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

ნაბიჯი 1: რაც დაგჭირდებათ

მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა
მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა

ამ შენობის გასაკეთებლად თქვენ უნდა შეიძინოთ შემდეგი:

არდუინო ნანო: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwv0ZgOZO0: rk: 2: pf: 0

პროტოტიპების დაფები: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2c4:4:4 ~ Zbl232: rk: 13: pf: 0

Servo Motors: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 & var

ექოსკოპიური სენსორები: IAAOSw-xbD5Fp: rk: 2: pf: 0

ნაბიჯი 2: დოკუმენტაცია

როგორც ზოგიერთ თქვენგანს შეიძლება ეს უკვე იცოდეს, ეს პროექტი შთაგონებულია სხვა ღია კოდის პროექტით სახელწოდებით "Arduino Radar Project", რომელიც დეჯანმა გააკეთა "How to Mechatronics" @ შემდეგ ბმულზე: https://howtomechatronics.com/projects/arduino -არადარის პროექტი/

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

ადაფრუტი-GFX- ბიბლიოთეკა:

Adafruit_SSD1306:

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

ნაბიჯი 3: მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა

მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა
მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა
მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა
მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა
მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა
მოამზადეთ ულტრაბგერითი სენსორის მხარდაჭერა

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

ნაბიჯი 4: შეიყვანეთ ყველაფერი პროტოტიპის დაფაზე

დაამონტაჟეთ ყველაფერი პროტოტიპის დაფაზე
დაამონტაჟეთ ყველაფერი პროტოტიპის დაფაზე
დაამონტაჟეთ ყველაფერი პროტოტიპის დაფაზე
დაამონტაჟეთ ყველაფერი პროტოტიპის დაფაზე
დაამონტაჟეთ ყველაფერი პროტოტიპის დაფაზე
დაამონტაჟეთ ყველაფერი პროტოტიპის დაფაზე

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

ნაბიჯი 5: საბოლოო კავშირების დამყარება

საბოლოო კავშირების დამყარება
საბოლოო კავშირების დამყარება
საბოლოო კავშირების დამყარება
საბოლოო კავშირების დამყარება
საბოლოო კავშირების დამყარება
საბოლოო კავშირების დამყარება

ეს ნაბიჯი დაასრულებს ამ პროექტის ტექნიკურ მხარეს. თქვენ უნდა დაიცვას მოცემული სქემები ყველა საჭირო კავშირების დასამყარებლად.

ნაბიჯი 6: პროგრამის ჩატვირთვა

პროგრამის ჩატვირთვა
პროგრამის ჩატვირთვა

არსებობს ორი კოდი, რომლის ჩატვირთვაც დაგჭირდებათ

არდუინო (C):

დამუშავება (java):

კოდის გაშვებისას თქვენ გექნებათ არჩევანის ორი ვარიანტი:

ვარიანტი 1: OLED ეკრანის გამოყენებით, ამისათვის თქვენ უნდა დააყენოთ ცვლადი MODE C კოდში 0 -ზე.

ვარიანტი 2: თქვენი მონიტორის გამოყენება, ამისათვის თქვენ უნდა დააყენოთ ცვლადი MODE C კოდში 1. გარდა ამისა, თქვენ უნდა გადმოწეროთ და დააინსტალიროთ პროცესორის განვითარების გარემო და გადმოწეროთ რადარის შრიფტი ამ ბმულიდან: https:// github.com/lastralab/ArduinoRadar/blob/ma…

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

ნაბიჯი 7: C კოდექსის გაგება

C კოდექსის გაგება
C კოდექსის გაგება

კოდი ძირითადად შედგება ორი "for" მარყუჟისგან. ერთი კორელაციაშია წინ გადაწევასთან, ხოლო მეორე უკანა პასთან. ორივე მათგანში არაერთხელ ჰქვია ძირითად ფუნქციას draw_scanner (), რომელიც რადარის ხაზებს ეკრანზე მიაპყრობს. მრავალჯერადი კონფიგურაციის შემოწმების შემდეგ მივედი დასკვნამდე, რომ ჩვენ უნდა გადავაწეროთ თეთრი სარადარო ხაზები დროს t იგივე იგივე სარადარო ხაზები შავ დროს t+1, რათა წაშალოთ ისინი. წინააღმდეგ შემთხვევაში, ციმციმა წარმოიქმნება ყოველ ჯერზე, როდესაც თქვენ გაასუფთავებთ ეკრანს ფუნქციის გამოყენებით "clearDisplay ()", სანამ ახალ პიქსელურ ქსელს დააყენებთ. რაც შეეხება 7 ხაზს- დიზაინის მიზნებისათვის- მე უნდა შევინარჩუნო და გადავიტანო 7 ელემენტის მთელი რიცხვი, სადაც თითოეული ელემენტი დგას რადიუსს რადარის ცენტრს შორის აღმოჩენილ ობიექტამდე, ასეთის არსებობის შემთხვევაში. ამის გათვალისწინებით, დანარჩენი კოდი გასაგები უნდა იყოს.

ნაბიჯი 8: ჯავის კოდის გაგება

დამუშავებისას მე უნდა გადავლახო ფუნქციის გამოძახება serialEvent (), რომელიც მუშაობს მხოლოდ სერიულ პორტებთან, სახელწოდებით COM. როდესაც მე ვმუშაობდი Mac– ზე, ჩემი სერიული პორტები სხვა სახელწოდებით გამოჩნდა. როგორც ითქვა, მე გავხსენი ეს ფუნქცია მთავარ ფუნქციაში "დახაზეთ ()". რაც შეეხება ყველაფერ სხვას, მე განვაახლე პროგრამა, რომ შევხვდე რევოლუციის სრულ დიზაინს. დაბოლოს, მე განვაახლე ყველა შედგენილი ფორმა და ტექსტი ეკრანის სიგანესთან დაკავშირებით, რათა საბოლოო პროდუქტი მოერგოს ეკრანის სხვადასხვა რეზოლუციას. მე პირადად გამოვცადე ის 1000X1000 და 500X500 რეზოლუციებზე და კარგად მუშაობდა:).

ნაბიჯი 9: დასკვნა

ეს ნამუშევარი შეიძლება განახლდეს 3 ულტრაბგერითი სენსორით, თითოეული მოიცავს 120 ხედვის კუთხეს, ან თუნდაც 4 სენსორს (90 გრადუსი*4) -> უფრო სწრაფად 360 გრადუსამდე. სკანირება.

თქვენ ასევე შეგიძლიათ გააგრძელოთ რადარის დიაპაზონი 40 სმ -დან 60 სმ -მდე ან თუნდაც 80 სმ -მდე. მე პირადად გამოვცადე პულსის ფუნქცია და შევცვალე TIMEOUT ცვლადი 40 სმ -თან მიმართებაში. ეს ცვლადი დამოკიდებულია ბევრ ფაქტორზე, მათ შორის პულსის გაგზავნის სიგრძეზე და იმ ობიექტის ზედაპირზე, სადაც პულსი აისახება.

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

გირჩევთ: