Агуулгын хүснэгт:
Видео: Роботод зориулсан бампер үүсгэх: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Миний компьютерийн инженерчлэлийн 11 -р дамжаанд манай роботыг төөрөгдөлд оруулах даалгавар өгсөн. Шулуун, зүүн эсвэл баруун тийш эргэж байгаа эсэхийг хянахын тулд бид бампер хийхийг хүссэн. Ийм байдлаар робот хананд хүрч баруун бамбай руу цохигдвол робот зүүн тийш, зүүн бамбай руу цохигдвол баруун тийш эргэх болно. Үндсэндээ бидний даалгавар бол эргэх боломжийг олгохын тулд түлхэх боломжтой бампер бий болгох явдал байсан бөгөөд гогцоог үргэлжлүүлэн асаахгүйн тулд би буцааж гарах ёстой. Гэсэн хэдий ч бамперыг тохируулахын тулд бамбайгаа ажиллуулахын тулд код, хэлхээ тохируулах шаардлагатай болно. Дараах алхмуудыг дагана уу.
Алхам 1: Хэлхээ
Бамперыг ажиллуулахын тулд та роботынхоо дээд талд байрлах самбар дээр хэлхээ үүсгэх ёстой.
(2 бамперт хүрэхийн тулд дээрх зургийг дагана уу)
Шаардлагатай материалууд
- 2 жижиг LED гэрэл (бамбайгаа ажиллуулахын тулд)
- 8 утас
- 2 хүрэн хар шар өнгийн резистор
- 2 улаан улаан хүрэн резистор
Зарим зүйлийг санаж байх хэрэгтэй
- Vss бол "газар" бөгөөд энэ нь тэг, Vdd нь 1 -тэй тэнцүү юм
- Хэлхээ ажиллаж байх үед утга нь ажиллахгүй бол 0 байна
- Удирдагчийн хавтгай тал нь сөрөг, нөгөө тал нь эерэг байна
Хэлхээний нийтлэг алдаа
- LED бол буруу арга юм
- LED, резистор ба утсыг нэг багананд байрлуулаагүй болно
- Удирдах хэрэгсэл ажиллахаа больсон
Алхам 2: Код
Код:
'{$ STAMP BS2}' {$ PBASIC 2.5}
LBump PIN 11
RBump PIN 10
LMOTOR PIN 15
RMOTOR PIN 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.. Дараагийн 65000 хүртэл хэлбэлздэг
ХИЙ
GOSUB Forwardfast 'урагшаа
IF IN10 = 0 THEN 'бол 10 оролтын хоёр утас дарагдсан бол зүүн тийш эргэ
GOSUB TurnLeft90
ELSEIF IN11 = 0 ДАРАА 'хэрэв 11 оролтын хоёр утас дарагдсан бол баруун тийш эргэ
GOSUB TurnRight90
ENDIF
Гогцоо
TurnRight90:
90 градусыг баруун тийш эргүүлэх дэд журам
'**********************************************************
ӨНДӨР 1
Бага 0
MLoopC -ийн хувьд = 1 -ээс 22 хүртэл
PULSOUT LMOTOR, LfastRev нэг лугшилтыг урагшлуулна
PULSOUT RMOTOR, Rfast нь тээглүүр ба тогтмол ашиглан
Түр зогсоох 20
NEXT импульсийн өмнө '20mS нь роботыг хөдөлгөх боломжийг олгодог
ДАРААЧИЙН
БУЦАХ
'*********************************************************
TurnLeft90:
90 градусыг баруун тийш эргүүлэх дэд журам
'********************************************************
ӨНДӨР 0
Бага 1
MLoopC -ийн хувьд = 1 -ээс 22 хүртэл
PULSOUT LMOTOR, Лфаст нэг лугшилтыг урагшлуулна
PULSOUT RMOTOR, RfastRev нь тээглүүр ба тогтмолуудыг ашигладаг
PAUSE 20 '20mS нь роботыг дараагийн импульсийн өмнө хөдөлгөх боломжийг олгодог
ДАРААЧИЙН
БУЦАХ
'***********************************************************
ForwardFast:
Роботыг нэг квадрат хурдан урагшлуулах дэд журам
'**********************************************************
MLoopC -ийн хувьд = 1 -ээс 70 хүртэл
LMOTOR PULSOUT, LFast PULSOUT
RMOTOR, RFast
Түр зогсоох 20
ДАРААЧИЙН
БУЦАХ
Товч танилцуулга
Энэхүү кодын зорилго нь роботыг баруун утас (бампер) дарахад зүүн тийш эргүүлэх, зүүн утас (бампер) дарагдсан үед баруун тийш эргүүлэх програмчлах явдал юм.
Код нь юу гэсэн үг вэ?
Энэ асуултанд хариулахаасаа өмнө та энэ програмд ашигласан зарим кодууд ямар утгатай болохыг мэдэх хэрэгтэй.
GOSUB - дэд програм нь дэд програм руу шилжих гэсэн үг юм (дэд програмыг таны кодонд тодорхойлох ёстой)
ENDIF - IF командын олон мөрийг дуусгахад ашигладаг
_
кодын цаад утга учрыг тайлбарлаж байна ….
DOGOSUB Forwardfast
- Роботыг асаахад шууд урагшаа явахыг хэлж байна
Хэрэв IN10 = 0 бол
GOSUB TurnLeft90
- 10 -р оролтын хоёр утас (баруун бамбай) хүрвэл робот 90 өнцгөөр зүүн тийш эргэх болно гэж хэлж байна.
ELSEIF
IN11 = 0 Дараа нь GOSUB TurnRight90
- Хэрэв оролт 11 (зүүн бамбай) дээрх хоёр утас хүрвэл робот 90 өнцгөөр баруун тийш эргэх болно гэж хэлж байна.
TurnRight90: 90 градусыг баруун тийш эргүүлэх дэд журам
'**********************************************************
ӨНДӨР 1
Бага 0
MLoopC -ийн хувьд = 1 -ээс 22 хүртэл
PULSOUT LMOTOR, LfastRev
PULSOUT RMOTOR, Rfast
Түр зогсоох 20
Дараагийн буцах '********************************************* **********
- Энэ бол дэд програмын жишээ бөгөөд та ижил урт кодыг дахин дахин давтах шаардлагагүй болно. ингэснээр таны код илүү цэвэр харагдаж, илүү нийлмэл болно.
- өндөр 1 / бага тэг гэдэг нь робот баруун тийш эргэхэд (зүүн утаснууд хүрэхэд) лед асдаг тул бүх зүйл ажиллаж байгааг мэдэж болно гэсэн үг юм.
Алхам 3: Бампер (шаардлагатай материал)
Бамбай хийхийн тулд танд хэрэгтэй болно …
- Үндсэн бүтцэд зориулсан 4 ширхэг мод, бамперыг робот дээр суурилуулахын тулд 2 ширхэг мод
- 4 ширхэг хөвөн
- 4 ширхэг цаасан клип
- тиймээс хөнгөн цагаан тугалган цаас
- 4 утас (талбарт холбохын тулд хэлхээний талаар 1 -р алхамд тайлбарласан болно)
- халуун цавуу буу, цавуу мод
- маск хийх соронзон хальс
Алхам 4: Бампер угсрах
Нэг бампер хийхийн тулд 2 ширхэг савх аваад дугуйрсан үзүүрүүдийг хайчилж ав (1 -р зурагт тэмдэглэгдсэн шиг). Эдгээр модны савх нь таны бамбайны дээд ба доод үүргийг гүйцэтгэх болно. Утаснууд шууд хүрч, хүрэхгүй байхын тулд хөвөн хийх шаардлагатай. Хөвөн аваад 2 жижиг дөрвөлжинг хайчилж ав (дээр үзүүлсэн хоёр дахь зураг шиг). Дараа нь халуун цавуу ашиглан 1 ширхэг савх аваад зүүн талд нь 1 хөвөн дөрвөлжин, баруун талд нэг хөвөн нааж (3 -р зургийг лавлагаа болгон ашиглана уу). Дараа нь 1 утас аваад утасны үзүүрийн нэг үзүүрийг хөнгөн цагаан тугалган цаасаар боож өгнө. Утасыг модны дунд байрлуулж, цаасан хавчаараар бэхлээрэй. Энэ алхамыг хоёрдахь утас, цаасан савхаар давтана. Попсиклийг хөвөнгүй хөвөнтэй цавуугаар наана (дээрх 3 -р зурагт үзүүлсэн шиг). Одоо таны анхны бампер дууссан байна
Хоёр дахь бамбай хийхийн тулд энэ бүх үйл явцыг хоёр дахь удаагаа давт.
Бамперыг робот дээр нэмэхийн тулд нэг ширхэг савх аваад бамбайны ёроолд наа. Зүүн бамбайгаа зүүн тийш, баруун бамбайгаа баруун тийш нь өнцгөөр эргүүлнэ. Би бамперыг маск туузаар наасан. (4 -р зураг бол робот дээр хавсаргасан бамперууд юм).
Зөвлөмж болгож буй:
Microsoft Visio дээр Java -д зориулсан UML хэрхэн үүсгэх вэ: 4 алхам
Microsoft Visio дээр Java -д зориулсан UML -ийг хэрхэн үүсгэх вэ: Эхэндээ UML үүсгэх нь жаахан сүрдмээр харагддаг. Тэмдэглэгээний маш олон хэв маяг байдаг бөгөөд унших боломжтой, үнэн зөв UML форматлах сайн эх үүсвэр байхгүй мэт санагдаж магадгүй юм. Гэсэн хэдий ч Microsoft Visio нь UML програм үүсгэх боломжийг олгодог
Эхлэгчдэд зориулсан хаалт ашиглан энгийн вэб хуудас хэрхэн үүсгэх вэ: 14 алхам
Эхлэгчдэд зориулсан хаалт ашиглан энгийн вэб хуудас хэрхэн үүсгэх вэ? Танилцуулга Дараах заавар нь хаалт ашиглан вэб хуудас хийх алхам алхмаар зааварчилгааг өгдөг. Хаалт нь вэб хөгжүүлэлтэд гол анхаарлаа хандуулдаг эх код засварлагч юм. Adobe Systems-ийн бүтээсэн, энэ нь үнэгүй, нээлттэй эхийн програм хангамжийн лицензтэй
Gmail акаунт хэрхэн үүсгэх вэ (Дорнодод зориулсан Raigyn's Tutorial): 8 алхам
Gmail данс хэрхэн үүсгэх вэ (Дорнодод зориулсан Raigyn's Tutorial): Энэ заавар дээр би Gmail данс хэрхэн үүсгэхийг танд үзүүлэх болно
STM32 төхөөрөмжтэй RC servo -д зориулсан өндөр нарийвчлалтай PWM дохио үүсгэх: 3 алхам
STM32 төхөөрөмжтэй RC servo -д зориулсан өндөр нарийвчлалтай PWM дохио үүсгэх: Одоогоор би SX1280 RF чип дээр суурилсан RC дамжуулагч/хүлээн авагч барьж байна. Төслийн нэг зорилго бол би модноос 12 битийн servo нарийвчлалтайгаар servos хүртэл авахыг хүсч байна. Зарим талаар орчин үеийн дижитал servo нь 12 битийн резо байдаг тул
Таны роботод зориулсан хиймэл оюун ухаан: 7 алхам
Таны роботод зориулсан хиймэл оюун ухаан: Роботыг хөдөлгөж, бодоход хүргэх нь өөр өөр ажил юм. Хүний хувьд нарийн хөдөлгөөнийг тархи, харин үйлдэл, шийдвэр гаргах ажлыг том тархи удирддаг. Хэрэв та үүнийг уншиж байгаа бол танд аль хэдийн робот байгаа бөгөөд удирдах чадвартай байх болно