На всички ни се е налагало да програмираме някой мотор да се движи безкрайно. Обикновено използваме опцията за неограничено движение в комбинация с блокче за изчакване. Но когато искаме моторът да се движи безкрайно, без да чакаме за сензор, само опцията за неограничено движение не ни върши работа. С какво да я комбинираме? Имаме ли други варианти?

Необходимо е да се абонирате за FLLCasts.com, за да достъпите това видео
- #1249
- 02 May 2019
Преди да разкажем това, трябва да обясним защо 2. работи. Неограниченото движение на мотора работи "до второ нареждане" или до следваща команда. За това ако го сложим само него в програмата, тя ще свърши веднага. Така моторът няма да се движи, защото второто нареждане е край на програмата. Така можем да сложим безкрайно движение преди цикъл и тогава мотора ще се върти безкрайно. Второ нареждане няма да дойде никога, защото сме задали на робота "чакай безкрайно".
Следващите няколко варианта представляват различни начини да чакаме безкрайно.
Първите два варианта са най-често използвани. Също така програмата е възможно най-лесна за разчитане. Препоръчваме да ползвате тях, освен ако не искате да покажете интересен трик или освен ако програмата ви не изисква друго.
-
Използваме безкраен цикъл, който ни дава безкрайността, и неограничено движение, което ни дава движението.
- Същото като първия вариант, но вместо да се слага неограниченото движение вътре в цикъла, го слагаме преди него.
.
- Безкрайното чакане може да се случи с условие, което не може да се случи. Например да кажем на мотор, който не е включен да направи ротации или градуси. Това не работи със секунди или неограничено движение, тъй като това са условия, които не изискват движение на мотора.
- Друг вариант за условие, което не може да се изпълни, е да сложим блокче за чакане на сензор, който не е включен. Това работи и ако използваме порт на сензор, който е включен, но чакаме друг сензор.
Пример: Имаме включен сензор за допир на порт 1 и казваме движи мотора докато сензорът за разстояние на порт 1 не покаже равно на 50 сантиметра. Важно е да проверяваме за равенство, защото някои стойности на сензорите съвпадат. Например натиснат сензор за допир е същото като сензор за разстояние даващ 255 сантиметра. - Хитър начин да използваме 4. е като използваме ротационен сензор на същия мотор, който движим, и му казваме да чака стойност, която никога няма да се достигне. Например да кажем мотора да се движи напред докато не стигне -1 градуса.
- Последният вариант е полезен за програми, в които искате да направите някаква проверка на определени интервали на въртене на мотора. Използваме въртене за ротации или градуси в цикъл, но за да не се получава постоянното спиране, променяме опцията за спирачка, на плавно спиране.
Всички тези начини работят и с двата вида мотори и с всички блокчета за движение.
Курсове и занятия включващи този Урок
Този Урок е използван в следните курсове и занятия.

Ниво З - "Корабоплаване" - Роботика с LEGO
Това е осмото ниво от учебния план по Лего роботика за ученици от трети и четвърти клас.
В това ниво учениците се запознават с работата на четвъртия сензор в комплекта по роботика - жироскопичният сензор. Роботите са тематични и приличат на лодки, яхти и платноходи. С помощта на жиро-сензора учениците насочват роботите по курс по определен ъгъл и засичат отклонения от курса. В открито море може и да има и морски чудовища и корабите им са програмирани да засичат рязка промяна в ускорението, с помощта на същия сензор.
- 24
- 2:49
- 107

Занятие 3 - Симулация на буря
Въведение
Днес ще строим робот, който симулира силно вълнение върху малко корабче. Целта е да разработим и тестваме система, която да завърта кораба в подходяща посока в зависимост от вълнението, така че да не се преобърне.
Сещате ли се какъв кораб строихме миналото занятие?
Шхуна, или по-важното, платноход! Това занятие се доближаваме повече до модерните кораби, защото малкото корабче, което ще измъчваме с бурни вълни, ще бъде параход.
- 3
- 5
- 12
- 3d_rotation 1

Роботика с LEGO - Ниво 2.5 - Морски Пътешествия
Четвъртото ниво от учебната програма по LEGO роботика за ученици от пети до дванадесети клас.
В това ниво учениците се фокусират на работа със сензора за завъртане, който се намира във всеки един двигател от комплекта. Освен това се запознават с работата на четвъртия сензор в комплекта по роботика - жироскопичният сензор.
Първите роботи имитират морски животни и техните поведения. Създават се програми, които засичат дали животните успешно са хванали нещо в щипките или човките си. Сензорът в двигателите позволява на роботите да се връщат успешно назад в леговищата си дори и след използване на неограничено движение. Изграждат се и роботи-лодки, яхти и платноходи. С помощта на жиро-сензора учениците насочват роботите по курс по определен ъгъл и засичат отклонения от курса. В открито море може и да има и морски чудовища и корабите им са програмирани да засичат рязка промяна в ускорението, с помощта на същия сензор.
- 42
- 3:52
- 133

Занятие 7 - Самолетоносач
Това е Икнатир - робот, който изстрелва хартиени самолети. Вземете лист хартия, сгънете го като хартиен самолет, поставете го върху Икнатир, натиснете лоста за изстрелване напред и самолетът ще полети във въздуха.
Ако не знаете как да сгънете хартиен самолет, ние сме насреща! Отворете материала Как да си направим хартиен самолет. Експериментирайте свободно с формата на самолета. Колко далеч достига вашият?
- 6
- 4
- 11
- 3d_rotation 1