Სარჩევი:

გააკეთეთ რობოტი ბამპერები (კოდით): 4 ნაბიჯი
გააკეთეთ რობოტი ბამპერები (კოდით): 4 ნაბიჯი

ვიდეო: გააკეთეთ რობოტი ბამპერები (კოდით): 4 ნაბიჯი

ვიდეო: გააკეთეთ რობოტი ბამპერები (კოდით): 4 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim
გააკეთეთ რობოტი ბამპერები (კოდით)
გააკეთეთ რობოტი ბამპერები (კოდით)

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

მარაგები

ამ ბამპერების შესაქმნელად დაგჭირდებათ:

- ბო-ბოტი რობოტი

- BASIC Stamp პროგრამირების პროგრამული უზრუნველყოფა

- Popsicle ჩხირები

- ღრუბელი

- ალუმინის კილიტა

- Ქაღალდის სამაგრები

- 8 წესიერად გრძელი მავთული (მინიმუმ 6 ინჩი)

- 2 LED ნათურა

-2 ყავისფერი-შავი-ყვითელი რეზისტორი

-2 წითელი-წითელი-ყავისფერი რეზისტორი

ლენტი და ცხელი წებო (ან მსგავსი წებოვანი)

- ბატარეები თქვენი ბო-ბოტისთვის

ნაბიჯი 1: ნაბიჯი 1: წრის შექმნა

ნაბიჯი 1: წრის შექმნა
ნაბიჯი 1: წრის შექმნა
ნაბიჯი 1: წრის შექმნა
ნაბიჯი 1: წრის შექმნა

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

დასამახსოვრებელი რამ:

- დარწმუნდით, რომ LED არის სწორ მდგომარეობაში. ეს ნიშნავს, რომ LED- ის ბრტყელი ფეხი უნდა იყოს უარყოფით მხარეს და მეორე ფეხი დადებით მხარეს.

- Vss ემსახურება ნიადაგს ამ დაფაზე, რაც ნიშნავს რომ მას აქვს ნულოვანი მნიშვნელობა, ხოლო Vdd აქვს 1.

- გაშვებულ წრეს აქვს მნიშვნელობა 0. წრე, რომელიც გამორთულია აქვს მნიშვნელობა 1.

ნაბიჯი 2: ნაბიჯი 2: პროგრამირება Boe-bot– ისთვის

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

რამდენიმე ძირითადი ენის თარგმანი:

- GOSUB = ქვეგეგმა (უნდა მოყვეს მოთხოვნა კოდში)

- თუ.. Else = განსაზღვრავს კოდის ჯგუფს, რომელიც უნდა შესრულდეს, თუ პირობები ჭეშმარიტია და ასრულებს მითითებებს თუ პირობები ყალბია

Კოდი:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' **************************************** ****************************** 'გადატვირთვის გადატვირთვის კოდის' გამოიყენეთ გადატვირთვის ღილაკი რობოტის შესაჩერებლად და დასაწყებად '** *********************************************** *********************** temp VAR ბაიტი 'დროებითი მაღაზია RunStatus DATA $ 00' ცვლადი ინახება ROM- ში წაიკითხეთ RunStatus, temp 'წაიკითხეთ ცვლადი ROM temp = temp 'გადაატრიალეთ მნიშვნელობა 0 -დან 1 -მდე ან 1 -დან 0 WRITE RunStatus, temp' დააბრუნეთ ცვლადი ROM- ში IF (temp> 0) THEN END 'შეამოწმეთ არის თუ არა მნიშვნელობა 1' თუ ასეა პროგრამის დასრულება PAUSE 3000 'პაუზა ნებადართულია თქვენ უნდა გადაადგილოთ "ხელი, როდესაც დააჭირეთ გადატვირთვას" ************************************* ********************************** ************** *********************************************** *********** 'ქინძისთავები და მუდმივები' გამოიყენება პროგრამირების გასამარტივებლად '**************************** ***************************************** LOMOTOR PIN 15 RMOTOR PIN 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 MStop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnLeft90 CON 90 TurnRight90 CON 90 '******************************* ************************************* ********** *********************************************** ************** 'ცვლადები' გამოიყენება პროგრამირების გასამარტივებლად '*************************** ************#..შემდგომი ცვლადი 65000 -მდე გვერდით VAR ბაიტის შემობრუნება კუთხე VAR სიტყვა '********************************** *********************************** '----------- ------------------------------------------------------ ------------- "მთავარი კოდი" --------------------------------- -------------------------------------------- გააკეთე თუ IN10 = 0 შემდეგ "თუ მავთული პინ 10-ში ჩართულია, შემდეგ მარცხნივ მოუხვიეთ GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 მაშინ "თუ მავთული pin 11 არის ჩართული მაშინ მოუხვიეთ მარჯვნივ GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast" წინ მიიწიეთ ერთი პულსი LOOP " ------------------------------------- ------------------------------------- '** მთავარი კოდის დასასრული ****** ******************************************** '- ------------------------------------------------------ --------------------- '*************************** **************************************** '** ქვე-რუტინები / ქვე-პროცედურა / მეთოდები ***************************** *********** *********************************************** *********** '************************************ ********************************* ************** *********************************************** ******* RightTurn90: 'ქვეპროდუქცია 90 გრადუსით მარჯვნივ' ******************************** ********************************** HIGH 1 LOW 0 MLoopC = 1 დან 22 PULSOUT LOTOR, Lfast 'წინსვლა ერთი პულსი PULSOUT RMOTOR, RfastRev' გამოყენებით ქინძისთავები და მუდმივები PAUSE 20 '20mS საშუალებას აძლევს რობოტს გადაადგილება NEXT' NEXT pulse RETURN '******************** *********************************************** * LeftTurn90: 'ქვეპროდუქცია 90 გრადუსით მარჯვნივ მოსახვედრად' ** *********************************************** *** 0 20mS საშუალებას აძლევს რობოტს გადაადგილება NEXT 'NEXT pulse RETURN' ************************************ **************** *********************************************** ****************** MLoopC = 1 -დან 55 პულუსუთ LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NEXT RETURN '************** *********************************************** ****** ReverseTurnLeft: 'ქვესაწინააღმდეგო პროცედურა რობოტის მარცხნივ გადასაადგილებლად, როდესაც მარჯვენა ბამპერი მოხვდა' ************************** ***************# LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NEXT RETURN '*********************************** ******************************** ReverseTurnRight: 'Subproce გაბედა რობოტის გადაბრუნება და მარჯვნივ მობრუნება, როდესაც მარცხენა ბამპერი მოხვდა '********************************* ************************************************************************************************************************************************************************************************************************************************************* MLoopC = 1 დან 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 შემდეგი დაბრუნება '****************************************** ************************ "ქვესადგურების დასასრული" ******************** *********************************************** *

ნაბიჯი 3: ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება

ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება
ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება
ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება
ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება
ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება
ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება
ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება
ნაბიჯი 3: მავთულის ბამპერებისთვის ალუმინის კილიტა და პოსპილას ჩხირების გამოყენება

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

გაჭერით 4 პატარა ოთხკუთხედი კილიტა და ერთი გადაახვიეთ მავთული ორი ბოლოის ჩხირის თითოეულ ბოლოზე. ეს ზრდის პოპსიკულ ჯოხის გამტარობის ზედაპირს, ასევე უზრუნველყოფს ჩხირების შეხების უფრო დიდ ზედაპირს.

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

ნაბიჯი 4: ნაბიჯი 4: დანარჩენი ბამპერების შეკრება

ნაბიჯი 4: დანარჩენი ბამპერების შეკრება
ნაბიჯი 4: დანარჩენი ბამპერების შეკრება
ნაბიჯი 4: დანარჩენი ბამპერების შეკრება
ნაბიჯი 4: დანარჩენი ბამპერების შეკრება
ნაბიჯი 4: დანარჩენი ბამპერების შეკრება
ნაბიჯი 4: დანარჩენი ბამპერების შეკრება
ნაბიჯი 4: დანარჩენი ბამპერების შეკრება
ნაბიჯი 4: დანარჩენი ბამპერების შეკრება

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

სურვილისამებრ: გაჭერით დამატებითი Popsicle ჯოხი შუაზე და დააწებეთ იგი კუთხეზე გარე Popsicle ჯოხის ბამპერის წვერზე. ეს აძლიერებს ბამპერის გავლენას კედელზე და შემობრუნებაზე.

დაიმახსოვრეთ მავთულის მრუდი ისე, რომ ბამპერები მობრუნდეს ბოტ-ბოტის წინ.

გირჩევთ: