Სარჩევი:

ბო-ბოტი ინფრაწითელი დეტექტორებით: 12 ნაბიჯი (სურათებით)
ბო-ბოტი ინფრაწითელი დეტექტორებით: 12 ნაბიჯი (სურათებით)

ვიდეო: ბო-ბოტი ინფრაწითელი დეტექტორებით: 12 ნაბიჯი (სურათებით)

ვიდეო: ბო-ბოტი ინფრაწითელი დეტექტორებით: 12 ნაბიჯი (სურათებით)
ვიდეო: По багам как по крышам ► 5 Прохождение Dying Light 2: Stay Human 2024, ნოემბერი
Anonim
ბო-ბოტი ინფრაწითელი დეტექტორებით
ბო-ბოტი ინფრაწითელი დეტექტორებით

ეს ინსტრუქცია აჩვენებს, თუ როგორ უნდა ავაშენოთ და დავხატოთ Boe-Bot, რომელსაც შეუძლია ნავიგაცია ლაბირინთში ინფრაწითელი დეტექტორების გამოყენებით, დაბრკოლებების თავიდან ასაცილებლად. ეს არის მარტივი სახელმძღვანელო, რომელიც საშუალებას გაძლევთ მარტივად შეცვალოთ თქვენი მოთხოვნები. ეს მოითხოვს სქემისა და პროგრამირების ძირითად გაგებას. თქვენ დაგჭირდებათ BASIC Stamp IDE პროგრამული უზრუნველყოფა ამ პროექტისათვის. უფასოა გადმოსაწერად აქ. ისევე როგორც ბო-ბოტის რობოტი

ნაბიჯი 1: რესურსები

Ელექტრონული ნაწილები

Boe -Bot შემაერთებელი კაბელით Parallax Store - BoeBot Kit

5 ინფრაწითელი LED- ის პარალაქსის მაღაზია - IR გადამცემი ასამბლეის ნაკრები

5 ინფრაწითელი ფარის ასამბლეა

5 ინფრაწითელი დეტექტორი Parallax Store - BoeBot IR მიმღები

რეზისტორები

  • (2) 4.7 kΩ ABRA Electronics - 4.7 kΩ
  • (5) 220 Ω ABRA ელექტრონიკა - 220 Ω
  • (2) 1 kΩ ABRA Electronics - 1 kΩ
  • (5) 2 k ABRA Electronics - 2 kΩ

გაყვანილობის ასორტი ABRA Electronics - 22 Gauge Wire

3 LED- ის ABRA Electronics - 5 მმ წითელი LED

მხარდაჭერა

კომპიუტერი

ძირითადი ბეჭდების რედაქტორი - (უფასოდ)

ინსტრუმენტები

მავთულის საჭრელი ABRA Electronics - მავთულის საჭრელი (სურვილისამებრ)

Wire Stripper ABRA Electronics - Wire Stripper

სხვადასხვა

კედლები (ლაბირინთის ასაშენებლად)

ნაბიჯი 2: იმის გაგება, თუ როგორ მუშაობს ინფრაწითელი გამოვლენა (სურვილისამებრ)

იმის გაგება, თუ როგორ მუშაობს ინფრაწითელი გამოვლენა (სურვილისამებრ)
იმის გაგება, თუ როგორ მუშაობს ინფრაწითელი გამოვლენა (სურვილისამებრ)

ინფრაწითელი ფარები

ინფრაწითელი ობიექტის გამოვლენის სისტემა, რომელსაც ჩვენ Boe-Bot- ზე ავაშენებთ, მანქანის ასანთს ჰგავს რამდენიმე თვალსაზრისით. როდესაც მანქანის ფარებიდან შუქი აისახება დაბრკოლებებზე, თქვენი თვალები აღმოაჩენს დაბრკოლებებს და თქვენი ტვინი ამუშავებს მათ და აიძულებს თქვენს სხეულს მართოს მანქანა შესაბამისად. Boe-Bot გამოიყენებს ინფრაწითელ LED- ებს ფარები. ისინი ასხივებენ ინფრაწითელ და ზოგიერთ შემთხვევაში ინფრაწითელი აისახება საგნებზე და ბუ-ბოტის მიმართულებით ბრუნდება უკან. ბო-ბოტის თვალები ინფრაწითელი დეტექტორები არიან. ინფრაწითელი დეტექტორები აგზავნიან სიგნალებს იმის მითითებით, აღმოაჩინეს თუ არა ინფრაწითელი ობიექტიდან ასახული. Boe-Bot- ის ტვინი, BASIC Stamp, იღებს გადაწყვეტილებებს და ამუშავებს სერვო ძრავებს ამ სენსორის შეყვანის საფუძველზე. ფიგურა 7-1 ობიექტის გამოვლენა IR ფარებით IR დეტექტორებს აქვთ ჩაშენებული ოპტიკური ფილტრები, რომლებიც იძლევა ძალიან მცირე შუქს გარდა 980 ნმ ინფრაწითელი ინფრაწითელისა, რომლის აღმოჩენა გვინდა მისი შიდა ფოტოდიოდური სენსორით. ინფრაწითელ დეტექტორს ასევე აქვს ელექტრონული ფილტრი, რომელიც მხოლოდ 38.5 კჰც სიხშირის სიგნალებს იძლევა. სხვა სიტყვებით რომ ვთქვათ, დეტექტორი ეძებს მხოლოდ ინფრაწითელს, რომელიც ანათებს და გამორთავს წამში 38,500 ჯერ. ეს ხელს უშლის IR ჩარევას საერთო წყაროებიდან, როგორიცაა მზის შუქი და შიდა განათება. მზის სინათლე არის DC ჩარევა (0 Hz) და შიდა განათება, როგორც წესი, ანათებს და გამორთავს 100 ან 120 Hz– ზე, ეს დამოკიდებულია რეგიონის ძირითადი ენერგიის წყაროს. ვინაიდან 120 Hz არის ელექტრონული ფილტრის 38.5 kHz სიხშირის მიღმა, ის მთლიანად იგნორირებულია IR დეტექტორების მიერ.

-ფარალაქსის სტუდენტური გზამკვლევი

ნაბიჯი 3: IR LED- ების შეკრება

IR LED- ების აწყობა
IR LED- ების აწყობა

ჩადეთ IR LED გარსაცმის დიდ ნაწილში

დახურეთ LED- ის მკაფიო ნაწილი გარსაცმის მცირე ნაწილით

ნაბიჯი 4: ინფრაწითელი წყვილების ტესტირება - წრე

ინფრაწითელი წყვილების ტესტირება - წრე
ინფრაწითელი წყვილების ტესტირება - წრე
ინფრაწითელი წყვილების ტესტირება - წრე
ინფრაწითელი წყვილების ტესტირება - წრე

სანამ რაიმეში ძალიან ჩავუღრმავდებით, ჩვენ შევამოწმებთ, რომ დავრწმუნდეთ, რომ IR წყვილი მუშაობს (ერთი ინფრაწითელი LED და ერთი ინფრაწითელი დეტექტორი).

დაიწყეთ ზემოაღნიშნული სქემის აგებით პურის დაფაზე, რომელიც დამონტაჟებულია თქვენი Boe-Bot– ის თავზე

ნაბიჯი 5: ინფრაწითელი წყვილების ტესტირება - ძირითადი კოდი

რა თქმა უნდა, ჩვენ უნდა დავწეროთ კოდი ჩვენი IR წყვილების მუშაობისთვის

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

სიხშირე 8, 1, 38500

ეს გამოაგზავნის 38.5 kHz სიხშირეს, რომელიც 1 ms გრძელდება P8– ზე. ინფრაწითელი LED წრე, რომელიც დაკავშირებულია P8- თან, გადასცემს ამ სიხშირეს. თუ ინფრაწითელი სინათლე აისახება Boe-Bot– ში მის გზაზე მყოფი ობიექტით, ინფრაწითელი დეტექტორი გაუგზავნის BASIC Stamp– ს სიგნალს, რათა აცნობოს, რომ ასახული ინფრაწითელი სინათლე აღმოჩენილია.

IR წყვილის მუშაობის გასაღები არის გამოაგზავნოთ 1 ms 38.5 kHz FREQOUT და დაუყოვნებლივ შეინახოთ IR დეტექტორის გამოსავალი ცვლადში.

ეს მაგალითი გვიჩვენებს IR დეტექტორის მნიშვნელობის შენახვას ოდნავ ცვლადში, სახელად irDectectLeft

სიხშირე 8, 1, 38500

irDetectLeft = IN9

IR დეტექტორის გამომავალი მდგომარეობა, როდესაც ის ვერ ხედავს IR სიგნალს მაღალია. როდესაც IR დეტექტორი ხედავს 38500 Hz ჰარმონიულს, რომელიც აისახება ობიექტის მიერ, მისი გამომუშავება დაბალია. IR დეტექტორის გამომუშავება რჩება მხოლოდ მცირე წამის განმავლობაში FREQOUT ბრძანების ჰარმონიის გაგზავნის შემდეგ, ამიტომ აუცილებელია IR დეტექტორის გამომუშავების შესანახად ცვლადი FREQOUT ბრძანების გაგზავნისთანავე. ცვლადის მიერ შენახული მნიშვნელობა შეიძლება გამოჩნდეს გამართვის ტერმინალში ან გამოყენებულ იქნას Boe-Bot– ის სანავიგაციო გადაწყვეტილებებისთვის.

ნაბიჯი 6: ინფრაწითელი წყვილების ტესტირება - აპარატურა + პროგრამული უზრუნველყოფა

ინფრაწითელი წყვილების ტესტირება - აპარატურა + პროგრამული უზრუნველყოფა
ინფრაწითელი წყვილების ტესტირება - აპარატურა + პროგრამული უზრუნველყოფა

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

შეგიძლიათ სცადოთ და თავად შექმნათ კოდი, ან გამოიყენოთ ქვემოთ მოცემული კოდი

'{$ STAMP BS2}

'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP

  1. დატოვეთ Boe-Bot დაკავშირებული სერიულ კაბელთან, რადგან თქვენ იყენებთ DEBUG ტერმინალს თქვენი IR წყვილის შესამოწმებლად.
  2. განათავსეთ ობიექტი, როგორიცაა თქვენი ხელი ან ფურცელი, მარცხენა IR წყვილიდან დაახლოებით ინჩის მანძილზე
  3. დარწმუნდით, რომ როდესაც ობიექტს განათავსებთ IR წყვილის წინ, გამართვის ტერმინალი აჩვენებს 0 -ს, ხოლო როდესაც ობიექტს ამოიღებთ IR წყვილის წინ, ის აჩვენებს 1 -ს.
  4. თუ გამართვის ტერმინალი არ აჩვენებს მოსალოდნელ მნიშვნელობებს, სცადეთ ნაბიჯები Trouble-Shooting Step- ში.

ნაბიჯი 7: პრობლემის გადასაჭრელად (ბოლო ნაბიჯის საკითხებისთვის)

DEBUG ტერმინალი აჩვენებს მოულოდნელ მნიშვნელობებს

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

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

ყოველთვის ვიღებთ 0-ს, მაშინაც კი, როდესაც ობიექტები არ არის განთავსებული Boe-Bot- ის წინ

შეამოწმეთ არის თუ არა ახლომახლო ობიექტი, რომელიც ასახავს ინფრაწითელ სიგნალს. ბო-ბოტის წინ მაგიდა შეიძლება იყოს მიზეზი. გადაიტანეთ Boe-Bot ღია სივრცეში ისე, რომ IR LED და დეტექტორი არ აისახოს რომელიმე ახლომდებარე ობიექტზე.

კითხვა არის უმეტესობა როდესაც Boe-Bot– ის წინ არ არის რაიმე ობიექტი, მაგრამ ზოგჯერ 0-ზე ციმციმებს

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

ნაბიჯი 8: მეორე IR წყვილი

მეორე IR წყვილი
მეორე IR წყვილი

ახლა, როდესაც თქვენ გაქვთ პროგრამა მარცხენა IR- ისთვის, თქვენი ჯერია გააკეთოთ წრე და დააპროგრამოთ მარჯვენა IR წყვილი

  1. შეცვალეთ DEBUG განცხადება, სათაური და კომენტარები მარჯვენა IR წყვილზე.
  2. შეცვალეთ ცვლადის სახელი irDetectLeft– დან irDetectRight– ზე. თქვენ დაგჭირდებათ ამის გაკეთება პროგრამის ოთხ ადგილას.
  3. შეცვალეთ FREQOUT ბრძანების Pin არგუმენტი 8 -დან 2 -მდე.
  4. შეცვალეთ irDetectRight ცვლადის მიერ მონიტორინგის შეყვანის რეგისტრი IN9– დან IN0– მდე.
  5. გაიმეორეთ ტესტირების ნაბიჯები ამ აქტივობაში მარჯვენა IR წყვილისთვის; IR LED სქემით, რომელიც დაკავშირებულია P2- თან და დეტექტორი P0- სთან.

ნაბიჯი 9: ინფრაწითელი ჩარევის გამოვლენა (სურვილისამებრ)

ინფრაწითელი ჩარევის გამოვლენა (სურვილისამებრ)
ინფრაწითელი ჩარევის გამოვლენა (სურვილისამებრ)

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

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

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

'{$ STAMP BS2}

'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 OR IN0 = 0 THEN DEBUG "ჩარევა აღმოჩენილია" პაუზა 100 LOOP

თუ თქვენ განიცდით ჩარევას, განსაზღვრეთ სავარაუდო წყარო და გამორთეთ/წაშალეთ ან გადაადგილდით იქ, სადაც მუშაობთ თქვენს Boe-Bot– ზე.

ნაბიჯი 10: დაამატეთ მეტი IR წყვილი

IR IR წყვილების დამატება
IR IR წყვილების დამატება

თუ გსურთ მეტი სიზუსტე თქვენი ბო-ბოტის მოძრაობაში, შეიძლება დაგჭირდეთ მეტი IR წყვილის დამატება. 3 მნიშვნელოვნად აუმჯობესებს შესრულებას ორთან შედარებით; თქვენ შეგიძლიათ გამოიყენოთ ცენტრალური წყვილი პირდაპირი დაბრკოლების სკანირებისთვის და გამოიყენოთ ორი გვერდითი IR, რათა განსაზღვროთ რამდენის გადაბრუნება. თუმცა, 3 IR წყვილის დიზაინის ჩავარდნა ის არის, რომ თქვენ შეიძლება იცოდეთ, როდესაც კედელზე მიდიხართ, რადგან ცენტრალური IR წყვილი გამოიყენება დაბრკოლებების გამოვლენის მიზნით. ამ პრობლემის გადასაჭრელად, თქვენ შეგიძლიათ დაამატოთ IR წყვილი თითოეულ მხარეს მაღალი წინააღმდეგობის მნიშვნელობით-შესაბამისად და ინფრაწითელი სიგნალი გამოვლინდება მხოლოდ იმ შემთხვევაში, თუ Boe-Bot ახლოს არის გვერდით ან კედელი რბილი კუთხით.

ნაბიჯი 11: ხუთი IR წყვილი - წრე

ხუთი IR წყვილი - წრე
ხუთი IR წყვილი - წრე

ფრთხილად იყავით ორი IR LED- ის მხარეს, რადგან მათმა გადახვევამ შეიძლება გამოიწვიოს შეხება და გამოიწვიოს მოკლე ჩართვა.

ნაბიჯი 12: ხუთი IR წყვილი - კოდი

ხუთი IR წყვილი - კოდი
ხუთი IR წყვილი - კოდი

ამ კოდის გამოყენებამდე შეიძლება დაგჭირდეთ თქვენი Boe-Bot პროგრამირება:

'{$ STAMP BS2}' {$ PBASIC 2.5} 'ხუთი IR წყვილი ურთიერთობის კოდი' Matthew Shaw '8 მაისი 2019 (ვერსია 7)' ობიექტების გამოვლენა და ძირითადი ლოგიკური დამუშავება ლაბირინთების მოსაგვარებლად

irDetectLeft VAR Bit 'ცვლადი მარცხნივ

irDetectCentre VAR Bit 'ცვლადი ცენტრისთვის irDetectRight VAR Bit' ცვლადი მარჯვნივ irDetectLSide VAR Bit 'ცვლადი მარცხენა მხარისთვის irDetectRSide VAR Bit' ცვლადი მარჯვენა მხარისათვის irDetectLSideFar VAR Bit 'ცვლადი მარცხენა მხარის დაბალი წინააღმდეგობისათვის irDetectRSideFar მარჯვენა მხარის ბიტი' ცვლადი for

mLoop VAR Word

Lmotor PIN 15 'მარცხენა ძრავა უკავშირდება პინ 14 -ს, პულსი გადის აქ

Rmotor PIN 14 'მარჯვნივ = 15

სიჩქარე არის-> 650-750-850

LFast CON 850 'დამთრგუნველი მარცხენა ძრავისთვის სრული სიჩქარით RFast CON 650' დამაგრება მარჯვენა ძრავისთვის სრული სიჩქარით

LStop CON 750 'დამაგრებული მარცხენა ძრავისთვის სრული სიჩქარით

RStop CON 650 'Conastant მარჯვენა ძრავისთვის სრული სიჩქარით

LMid CON 830 'დამაგრებული მარცხენა ძრავისთვის საშუალო სიჩქარით

RMid CON 700 'Conastant მარჯვენა ძრავისთვის საშუალო სიჩქარით

LSlow CON 770 'დამაგრებულია მარცხენა ძრავისთვის მინიმალური სიჩქარით

RSlow CON 730 'Conastant მარჯვენა ძრავისთვის მინიმალური სიჩქარით

LRev CON 650 'დამთბარი მარცხენა ძრავისთვის სრული სიჩქარით საპირისპირო მიმართულებით

RRev CON 850 'დამაგრებული მარცხენა ძრავისთვის სრული სიჩქარით საპირისპირო მიმართულებით

სიხშირე 7, 1, 38500 'მარცხენა მხარე

irDetectLeft = IN8

FREQOUT 6, 1, 38500 'ცენტრი

irDetectCentre = IN5

სიხშირე 3, 1, 38500 'მარჯვენა მხარე

irDetectRight = IN2

სიხშირე 10, 1, 38500 'მარცხენა დახურვა

irDetectLSide = IN11

სიხშირე 1, 1, 38500 'მარჯვნივ დახურვა

irDetectRSide = IN0

სიხშირე 9, 1, 38500

irDetectLSideFar = IN11

სიხშირე 4, 1, 38500 'მარჯვენა მხარე

irDetectRSideFar = IN0

IF irDetectLSide = 0 AND irDetectRSide = 0 მაშინ მთავარი "დაწყებული ბრძანება" გაუშვით ხელები ორი მხარის დეტექტორთან პროგრამის დასაწყებად

მთავარი:

პაუზა 1000 გააკეთე

PULSOUT Lmotor, LFast 'მარცხენა ძრავა მუშაობს სრული სიჩქარით

PULSOUT Rmotor, RFast 'მარჯვენა ძრავა მუშაობს სრული სიჩქარით

FREQOUT 6, 1, 38500 'ცენტრი

irDetectCentre = IN5

სიხშირე 10, 1, 38500 'მარცხენა დახურვა

irDetectLSide = IN11

სიხშირე 1, 1, 38500 'მარჯვენა მხარე

irDetectRSide = IN0

თუ irDetectLSide = 0 AND irDetectRSide = 1 შემდეგ

PULSOUT Lmotor, LFast

FREQOUT 6, 1, 38500 'ცენტრი

irDetectCentre = IN5 IF irDetectCentre = 0 THEN ცენტი

სიხშირე 10, 1, 38500 'მარცხენა დახურვა

irDetectLSide = IN11

სიხშირე 3, 1, 38500 'მარჯვენა მხარე

irDetectRight = IN2

გადახედეთ სანამ irDetectLSide = 1 ან irDetectRSide = 0

ELSEIF irDetectLSide = 1 AND irDetectRSide = 0 შემდეგ

PULSOUT Rmotor, RFast

FREQOUT 6, 1, 38500 'ცენტრი

irDetectCentre = IN5 IF irDetectCentre = 0 THEN ცენტი

FREQOUT 10, 1, 38500 'მარცხენა დახურვა

irDetectLSide = IN11

სიხშირე 3, 1, 38500 'მარჯვენა მხარე

irDetectRight = IN2

გადახედეთ სანამ irDetectLSide = 0 ან irDetectRSide = 1

'ᲓᲐᲐᲡᲠᲣᲚᲔ ᲗᲣ

IF irDetectCentre = 0 შემდეგ დაწყება

სიხშირე 7, 1, 38500 'მარცხენა მხარე irDetectLeft = IN8

FREQOUT 6, 1, 38500 'ცენტრი

irDetectCentre = IN5

სიხშირე 3, 1, 38500

irDetectRight = IN2

პაუზა 1000 'პაუზა სიგნალის აღმოჩენის საჩვენებლად

IF (irDetectLeft = 1 AND irDetectRight = 0) შემდეგ შეაფასეთ ხანგრძლივობა

GOSUB turnLeft

ELSEIF (irDetectLeft = 0 AND irDetectRight = 1) შემდეგ

GOSUB turnRight

ELSEIF (irDetectLeft = 1 AND irDetectRight = 1) შემდეგ

GOSUB turnDecide

სხვა

GOSUB turnReverse

ᲓᲐᲐᲡᲠᲣᲚᲔ ᲗᲣ

ENDIF 'END

გადახედვა

ᲓᲐᲡᲐᲡᲠᲣᲚᲘ

turnLeft:

PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP INTIL IN0 = 1 RETURN

turnRight:

PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP INTIL IN9 = 1

ᲓᲐᲑᲠᲣᲜᲔᲑᲘᲡ

turnReverse:

FOR mLoop = 0 დან 50 PULSOUT Rmotor, RRev PULSOUT Lmotor, LRev PAUSE 20 PULSOUT Lmotor, LRev PAUSE 20 NEXT DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetect, მარცხენა, 38500 irDetectRight = IN0 LOOP INTIL IN9 = 1

ᲓᲐᲑᲠᲣᲜᲔᲑᲘᲡ

turnDecide: 'იყენებს ქვედა წინააღმდეგობას შემდგომი სანახავად

სიხშირე 9, 1, 38500

irDetectLSideFar = IN11

სიხშირე 4, 1, 38500 'მარჯვენა მხარე

irDetectRSideFar = IN0

IF (irDetectLSideFar = 1 AND irDetectRSideFar = 0) შემდეგ შეაფასეთ ხანგრძლივობა

GOSUB turnLeft

ELSEIF (irDetectLSideFar = 0 AND irDetectRSideFar = 1) შემდეგ

GOSUB turnRight

ELSEIF (irDetectLSideFar = 1 AND irDetectRSideFar = 1) შემდეგ

GOSUB turnLeft

სხვა

GOSUB turnReverse

ᲓᲐᲐᲡᲠᲣᲚᲔ ᲗᲣ

ᲓᲐᲑᲠᲣᲜᲔᲑᲘᲡ

გირჩევთ: