Mündəricat:

Robot tamponları hazırlayın (Kodla): 4 addım
Robot tamponları hazırlayın (Kodla): 4 addım

Video: Robot tamponları hazırlayın (Kodla): 4 addım

Video: Robot tamponları hazırlayın (Kodla): 4 addım
Video: YAPAY ZEKAYA Robot Kodlatmak 2024, Iyul
Anonim
Robot tamponları düzəldin (Kod ilə)
Robot tamponları düzəldin (Kod ilə)

Bu təlimat, oxucuları maneələri aşkar edərkən bir labirentdə gəzə biləcək bir Boe-botda tamponların necə yaradılacağını və kodlaşdıracağını izah edəcək. Layihənin kodlaşdırılması BASIC Stamp proqramlaşdırma proqramı və Boe-Bot robotu vasitəsi ilə həyata keçirilmişdir və bu tamponların yaradılmasında uğur qazanmaq üçün sxem və proqramlaşdırma haqqında əsas anlayış tələb olunur.

Təchizat

Bu tamponları yaratmaq üçün sizə lazım olacaq:

- Boe-Bot robotu

- BASIC Stamp proqramlaşdırma proqramı

- Popsicle çubuqları

- Süngər

- Alüminium folqa

- Kliplər

- 8 layiqli uzun tel (ən azı 6 düym)

- 2 ədəd LED işıq

-2 qəhvəyi-qara-sarı rezistor

-2 qırmızı-qırmızı-qəhvəyi rezistor

- Bant və isti yapışqan (və ya bənzər bir yapışdırıcı)

- Boe-Botunuz üçün batareyalar

Addım 1: Adım 1: Dövrə Yarat

Addım 1: Dövrə Yarat
Addım 1: Dövrə Yarat
Addım 1: Dövrə Yarat
Addım 1: Dövrə Yarat

Çörək lövhənizi istiqamətləndirmək və idarə etmək üçün bir sxem yaratmaq üçün yuxarıdakı çörək taxtası sxemini izləyin. Sonda çörək taxtanız soldakı şəklə bənzəməlidir.

Xatırlanmalı şeylər:

- LED -in düzgün vəziyyətdə olduğundan əmin olun. Bu o deməkdir ki, LED -in düz ayağı mənfi tərəfdə, digər ayağı isə müsbət tərəfdə olmalıdır.

- Vss bu çörək taxtasında əsas rolunu oynayır, yəni sıfır, Vdd isə 1 dəyərinə malikdir.

- İşləyən dövrənin dəyəri 0 -a bərabərdir. Söndürülmüş dövrənin dəyəri 1 -dir.

Adım 2: Adım 2: Boe-bot üçün proqramlaşdırma

Aşağıdakı kod, robotun hansı bamperə basıldığına əsaslanaraq sola və sağa 90 dərəcə dönməsini proqramlaşdırır (növbəti addımda tamponun yaradılması haqqında daha ətraflı məlumat). Bu kod, sağ tampon tellərinə basıldığında robotun sola, sol tampon tellərinə basıldıqda isə sağa dönəcəyini təmin edir.

Bəzi əsas dil tərcümələri:

- GOSUB = alt proqram (kodda tələb olunmalıdır)

- If.. Else =, şərtlər doğrudursa, icra edilməli olan bir kod qrupunu təyin edir və şərtlər yalan olduqda təlimatları yerinə yetirir.

Kod:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ***************************************** ******************************* 'Yenidən Başlama Kodunu Sıfırla' Robotu dayandırmaq və işə salmaq üçün sıfırlama düyməsini istifadə edin '** ************************************************ *********************** temp VAR Byte 'müvəqqəti mağaza RunStatus DATA $ 00' dəyişən ROM READ -da saxlanılır RunStatus, temp 'ROM temp -dən dəyişəni oxuyun ~ ~ temp '0 -u 1 -ə və ya 1 -ə 0 -a çevir "sıfırlama düyməsini basdığınız zaman əlinizi hərəkət etdirməlisiniz" ************************************* ************************************ '************* ************************************************ *********** 'Sancaqlar VƏ Sabitlər' Proqramlaşdırmanı asanlaşdırmaq üçün istifadə olunur '*************************** ******************************************* LMOTOR 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 '******************************* **************************************** '********* ************************************************ ************** 'Dəyişənlər' Proqramlaşdırmanı asanlaşdırmaq üçün istifadə olunur '************************** ******************************************** MLoopC VAR Word 'Üçün.. Növbəti Dəyişən 65000ish tərəfə qədər VAR Bayt növbəsi Açar VAR Word '******************************** ************************************** '----------- -------------------------------------------------- ------------- 'Əsas Kod' --------------------------------- ----------------------------------------- IN10 = 0 SONRA 'ETMƏK pin 10-da tel açıqdır, sonra sola dönün GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 O zaman 'pin 11-də tel açılıbsa sağa dönün GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Bir nəbz LOOP irəli gedin '- --------------------------------- ------------------------------------- '** ANA KODUN SONU ****** ********************************************* '- -------------------------------------------------- --------------------- '**************************** ****************************************** '** Alt rutinlər / Alt prosedur / Metodlar ******************************** '*********** ************************************************ *********** '************************************ ********************************** '*************** ************************************************ ******* RightTurn90: '90 dərəcə sağa dönmək üçün alt prosedur' ******************************** ************************************* 22 PULSOUT LMOTOR TO MLoopC = 1 ÜÇÜN HIGH 1 LOW 0, Lfast 'pals və sabitlərdən istifadə edərək bir nəbz PULSOUT RMOTOR, RfastRev' PAUSE 20 '20mS robotun NÖVBƏTİ nəbz QAYITINDAN qabaq NEXT hərəkət etməsinə imkan verir ******************** ************************************************ * LeftTurn90: '90 dərəcə sağa dönmək üçün alt prosedur' ** ************************************************ ******************* MLoopC İÇİN YÜKSEK 0 DÜŞÜK 1 = 1 -dən 22 PULSOUT LMOTOR, LfastRev 'pals və sabitlərdən istifadə edərək PAUSE 20' bir nəbz PULSOUT RMOTOR, Rfast irəli hərəkət edir ' 20mS robotun NEXT 'NEXT pulse RETURN -dən əvvəl hərəkət etməsinə imkan verir ************************************ ********************************* ForwardFast: 'Robotu bir kvadrat sürətlə irəli aparmaq üçün alt prosedur' **** ************************************************ ***************** MLoopC ÜÇÜN = 1-55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NEXT RETURN '************** ************************************************ ****** ReverseTurnLeft: 'Sağ tampon vurulduqda robotu geri çevirmək və sola çevirmək üçün alt prosedur' *************************** ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* üçün üçün MLoopC = 1-55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev 20 NÖVBƏTİ DÖNDÜRMƏNİ DURDUR '************************************ ********************************* ReverseTurnRight: 'Subproce sol tampon vurulduqda robotu geri çevirməyə cəsarət edin '********************************** *********************************** MLoopC = 1 55 PULSOUT LMOTOR üçün, LFastRev PULSOUT RMOTOR, RSlowRev fasilə 20 NÖVBƏTİ QAYIT '******************************************* ************************* 'ARDINDAN SONLAR' ******************** ************************************************ *

Addım 3: Adım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə

Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə
Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə
Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə
Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə
Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə
Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə
Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə
Addım 3: Tel Bamperlər üçün Alüminium Folqa və Popsicle Çubuqlarından istifadə

Bu addıma başlamazdan əvvəl, çörək taxtasından 4 telin (1 -ci addıma baxın) cütlərə bölündüyündən əmin olun, hər bir cüt sağ və ya sol tamponu idarə edir. LEDlər, kodun sağ və sol tamponlarda təsirli olduğunu yoxlamaq üçün işləyir. Popsicle çubuqlarında, hər cütdən bir tel, Popsicle çubuğunun bir ucunu paylaşır (bu, eyni cütün tellərinin eyni tamponda ola bilməyəcəyi deməkdir).

4 kiçik düzbucaqlı folqa kəsin və bir tel istifadə edərək iki Popsicle çubuğunun hər bir ucuna sarın. Bu, Popsicle çubuğunun keçiricilik səthini artırır və çubuqların toxunması üçün daha böyük bir səth sahəsi təmin edir.

Folqa və tellərin Popsicle çubuqlarına yapışmaması üçün materialları bir yerdə tutmaq üçün 1-2 ədəd ataç istifadə edin. Qəlpələr, Popsicle çubuqlarının çox xarici müdaxilə olmadan toxunması üçün daha çox əlçatanlıq təmin edir. Kağız klipini, adi bir kağız yığınında olduğu kimi, Popsicle çubuğunun üzərinə sürüşdürün. Bunu hər dörd parça folqa və iki Popsicle çubuğunun hər ucu üçün təkrarlayın.

Addım 4: Adım 4: Qalan tamponların yığılması

Addım 4: Qalan tamponların yığılması
Addım 4: Qalan tamponların yığılması
Addım 4: Qalan tamponların yığılması
Addım 4: Qalan tamponların yığılması
Addım 4: Qalan tamponların yığılması
Addım 4: Qalan tamponların yığılması
Addım 4: Qalan tamponların yığılması
Addım 4: Qalan tamponların yığılması

Alüminium folqa və ataşlar telləri hər bir Popsicle çubuğuna bağlaya bildikdən sonra, iki kiçik süngər kəsin və çubuqların arasına hər kubı yapışdırın (hər çubuğun ən ucunda isti yapışqan yapışqanın Süngərlər robotun hər dəfə divara dəydiyi zaman tamponların toxunmasını təmin edir.

İsteğe bağlı: Əlavə bir Popsicle çubuğunu yarıya bölün və xarici Popsicle çubuq tamponunun ucunda bir açı ilə yapışdırın. Bu, tamponun divara vurulması və dönməsinin təsirini gücləndirir.

Tamponların Bot-botun qarşısında əyilməsini təmin etmək üçün telləri əyilməyi unutmayın.

Tövsiyə: