Mundarija:

Robot uchun bamperlar yaratish: 4 qadam
Robot uchun bamperlar yaratish: 4 qadam

Video: Robot uchun bamperlar yaratish: 4 qadam

Video: Robot uchun bamperlar yaratish: 4 qadam
Video: ⚠️Sizga bu robot haqida aytilmaydi❌ 🔥Forex savdo roboti, BOMBASIDAN💣 2024, Noyabr
Anonim
Robot uchun bamperlar yaratish
Robot uchun bamperlar yaratish

Mening 11 -sinf kompyuter muhandisligi kursida bizga robotimizni labirintdan o'tkazish vazifasi berilgan. To'g'ri, chapga yoki o'ngga burilishini nazorat qilish uchun bizdan bamper yasashni so'rashdi. Shunday qilib, agar robot devorga tegsa va u o'ng bamperga tegsa, robot chapga, chap tamponga tegsa esa o'ngga buriladi. Shunday qilib, bizning vazifamiz aylanishga imkon beradigan tamponni yaratish edi, men esa orqaga qaytishim kerak, shunda u pastadirni yoqmaydi. Shu bilan birga, bamperni o'rnatish uchun sizdan tamponni ishga tushirish uchun kod va sxemani o'rnatish talab qilinadi. Robot uchun bamper yasashni o'rganish uchun quyidagi amallarni bajaring.

1 -qadam: O'chirish davri

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

Bamperlarni ishga tushirish uchun siz robotning yuqori qismidagi panelda sxemani yaratishingiz kerak.

(2 ta bamperga erishish uchun yuqoridagi rasmga amal qiling)

Kerakli materiallar

  • 2 ta kichik lampalar (tamponlarning ishlashini ta'minlash uchun)
  • 8 ta sim
  • 2 ta jigarrang-qora-sariq rezistorlar
  • 2 qizil-qizil-jigarrang rezistorlar

Yodda tutish kerak bo'lgan ba'zi narsalar

  • Vss - bu "zamin", chunki u nolga teng va Vdd 1 ga teng
  • O'chirish paytida qiymat 0 ga teng, u ishlamasa 1 ga teng
  • Ledning tekis tomoni manfiy, ikkinchi tomoni ijobiy

O'chirish davridagi keng tarqalgan xatolar

  • LED - bu noto'g'ri yo'l
  • LED, rezistor va sim bir xil ustunga joylashtirilmagan
  • Led endi ishlamaydi

2 -qadam: Kod

Kodeks:

'{$ STAMP BS2}' {$ PBASIC 2.5}

LBump PIN 11

RBump PIN 10

LMOTOR PIN kodi 15

RMOTOR PIN kodi 14

RFast CON 650

LFast CON 850

RSlow CON 700

LSLOW CON 800

MStop CON 750

RFastRev CON 850

LFastRev CON 650

RSlowRev CON 800

LSlowRev CON 700

MLoopC VAR Word 'For.. Next 65000ishgacha o'zgaradi

QILING

GOSUB Forwardfast oldinga boring

IF IN10 = 0 SONRA 'agar 10 -kirishda ikkita sim bosilsa, chapga buriling

GOSUB TurnLeft90

ELSEIF IN11 = 0 SHundan so'ng, agar 11 -kirishdagi ikkita sim bosilsa, o'ngga buriling

GOSUB TurnRight 90

ENDIF

Loop

TurnRight90:

90 daraja o'ngga burilish uchun quyi tartib

'**********************************************************

YUQORI 1

YO'Q 0

MLoopC uchun = 1 dan 22 gacha

PULSOUT LMOTOR, LfastRev bir zarba oldinga siljiydi

PULSOUT RMOTOR, Rfast pin va doimiylardan foydalanadi

Pauza 20

NEXT pulsidan oldin "20mS robot harakatlanishiga imkon beradi"

KEYINGI

Qaytish

'*********************************************************

TurnLeft90:

90 daraja o'ngga burilish uchun quyi tartib

'********************************************************

YUQORI 0

YO'Q 1

MLoopC uchun = 1 dan 22 gacha

PULSOUT LMOTOR, Lfast bir puls oldinga siljiydi

PULSOUT RMOTOR, RfastRev pin va doimiylardan foydalanadi

PAUSE 20 '20mS robotning NEXT pulsidan oldin harakatlanishiga imkon beradi

KEYINGI

Qaytish

'***********************************************************

ForwardFast:

Robotni bir kvadrat tez oldinga siljitishning quyi tartibi

'**********************************************************

MLoopC uchun = 1 dan 70 gacha

LMOTOR PULSOUT, LFast PULSOUT

RMOTOR, RFast

Pauza 20

KEYINGI

Qaytish

Qisqacha ma'lumot

Bu kodning maqsadi - robotni o'ng simlar (bamper) bosilganda chapga, chap simlar (bamper) bosilganda o'ngga burilishga dasturlash.

Kod nimani anglatadi?

Bu savolga javob berishdan oldin, siz ushbu dasturda ishlatiladigan ba'zi kodlar nimani anglatishini bilishingiz kerak.

GOSUB - subroutine dasturining pastki qismi (sizning kodingizda pastki dastur aniqlanishi kerak)

ENDIF - IF qator buyruqlarini tugatish uchun ishlatiladi

_

kodning ma'nosini tushuntirish ….

DOGOSUB oldinga

- Robot yoqilganda darhol oldinga siljishini aytadi

Agar IN10 = 0 UNDA

GOSUB TurnLeft90

- agar 10 -kirishda ikkita sim (o'ng bamper) tegsa, robot 90 burchak bilan chapga buriladi.

ELSEIF

IN11 = 0 Keyin GOSUB TurnRight90

- agar 11 -kirish (chap bamper) dagi ikkita sim tegsa, robot 90 burchak ostida o'ngga buriladi.

TurnRight90: 90 daraja o'ngga burilish uchun kichik tartib

'**********************************************************

YUQORI 1

YO'Q 0

MLoopC uchun = 1 dan 22 gacha

PULSOUT LMOTOR, LfastRev

PULSOUT RMOTOR, Rfast

Pauza 20

Keyingi qaytish ******************************************* **********

- bu ishlatiladigan kichik dasturning misoli, shuning uchun siz bir xil uzun kodni qayta -qayta takrorlamaysiz. Shunday qilib, sizning kodingiz yanada toza va birlashtirilgan ko'rinadi.

- yuqori 1 / past nol degani, robot o'ng tomonga burilganda (chap simlar tegadi) svetodiod yonadi, shu orqali hamma narsa ishlayotganini bilasiz.

3 -qadam: Bamperlar (zarur materiallar)

Bamperlar (zarur materiallar)
Bamperlar (zarur materiallar)

Tampon qilish uchun sizga kerak bo'ladi …

- Asosiy konstruksiya uchun 4 ta popsikula tayog'i va tamponni robotga o'rnatish uchun 2 ta tayoqcha

- 4 dona shimgich

- 4 ta qog'oz qisqichi

- shuning uchun alyumin folga

- 4 ta simlar (sxemaga ulanish uchun 1 -bosqichda ko'rsatilgan)

- issiq yopishtiruvchi qurol va yopishtiruvchi tayoqlar

- niqob tasmasi

4 -qadam: Bamperlarni yig'ish

Bamperlarni yig'ish
Bamperlarni yig'ish
Bamperlarni yig'ish
Bamperlarni yig'ish
Bamperlarni yig'ish
Bamperlarni yig'ish
Bamperlarni yig'ish
Bamperlarni yig'ish

Bitta bamper qilish uchun 2 ta tayoqchani oling va dumaloq uchlarini kesib oling (1 -rasmda ko'rsatilganidek). Bu popsicle tayoqchalari bamperingizning yuqori va pastki qismlari vazifasini bajaradi. Simlar darhol tegishi va tegmasligi uchun shimgich kerak. Shimgichni oling va ikkita kichkina kvadratni kesib oling (yuqorida ko'rsatilgan ikkinchi rasmda bo'lgani kabi). Keyin issiq yopishtiruvchi tabancadan foydalanib, 1 ta popsicle tayoqchasini oling va chap tomonda 1 gubka kvadratini va o'ng tomonda bitta shimgichni yopishtiring (mos yozuvlar sifatida 3 -rasmdan foydalaning). Keyin 1 ta simni oling va sim uchining bir uchini alyumin folga bilan o'rang. Ipni tayoqchaning o'rtasiga qo'ying va qog'oz qisqich bilan mahkamlang. Ushbu qadamni ikkinchi sim va tayoqcha bilan takrorlang. Gubkalarsiz popsiklni gubkalarsiz yopishtiring (yuqoridagi 3 -rasmda ko'rsatilganidek). Endi sizning birinchi tamponingiz tugadi

Ikkinchi bamper qilish uchun bu jarayonni ikkinchi marta takrorlang.

Tamponlarni robotga qo'shish uchun bitta tayoqchani oling va uni tamponning pastki qismiga yopishtiring. Chap tamponni chap tomonga, o'ng tamponni esa o'ng tomonga burang. Men bamperlarni yopishqoq lenta bilan yopishtirdim. (rasm raqami 4 - robotga biriktirilgan tugallangan bamperlar).

Tavsiya: