Въведение
Днес ще си представим, че всички сме милиардери. Всеки себеуважаващ се милиардер трябва да има скъпа яхта :). Tочно това ще построите сега, по собствен дизайн.
Модерните яхти се правят по поръчка с всичко необходимо за луксозен живот вътре. Може да има баня, тоалетна, спалня с красив изглед, трапезария, кухня, дори и игрална зала!
Какво бихте искали да имате на борда на вашата яхта? Защо?
Всичко това, естествено, си има цена. Ако сме от по-бедните милиардери, ще си вземем яхта за около 200,000 долара. Нагоре цената расте неограничено. Има слух, че най-скъпата продадена яхта е за над 4,000,000,000 долара. Била е направена с над 100,000 тона платина и злато - два от най-скъпите материали в света. Има стени направени от истински кости на тиранозавър рекс и диаманти, всеки на стойност 45 милиона долара. За щастие, сега сме милиардери и можем да си позволим всичко това. Ще оставим на вас да прецените дали наистина имаме нужда от стени направени от кости на тиранозавър.
Жирокомпас
Знаете ли, че повечето модерни кораби и по-големи лодки, имат на борда си жироскопичен сензор!
Как мислите, че изглежда той? Колко е голям?
Тези устройства на корабите се наричат жирокомпаси. Тяхната цел е да показват север, точно като компас, но за разлика от компасите, те са много по-точни и не се влияят от метални и магнитни предмети. Жирокомпасите не са огромни уреди, но са доста по-големи от нашите сензори. Широки са около 50 сантиметра и са високи около 1,2 метра, макар че по-голямата част от височината и ширинатa, са за да са по-лесни за използване. Днес те се използват в комбинация с различни системи, като GPS, за да се открие точната позиция на даден кораб.
Конструиране и Теория
За да използваме нашата яхта за велики пътешествия, за жалост, първо трябва да я построим. В действителност не сме милиардери и ще трябва да построим яхтата сами. Но пък накрая ще си имаме яхта и ще е по наш дизайн! Помислете какво бихте сложили на вашата яхта, за да стане още по-готина!
Какво е задължително да има нашата яхта?
ЛЕГО бриковете са все още малко скъпи за да ги пускаме по вода, дори и за милиардери като нас, за това нашата яхта ще се движи по земя, точно както роботите ни попринцип. Понеже искаме яхтата да се ориентира без външна намеса, ще използваме жироскопичен сензор, точно като жирокомпас, за да я навигираме. Вашата най-важна задача е да построите робота така, че да прилича на яхтата, за която винаги сте си мечтали!
Сега, след като построихте робота, затворете кутията, за да не ви пречи.
- Приберете всички части, които не ви трябват за робота, в кутията.
- Затворете кутията и я отместете, така че да не ви пречи повреме на следващите задачи.
Програмиране и Теория
Целта ни днес е да програмираме робота да върви напред така, че дори и ако го бутнем, той пак да се връща в правилната посока! Това ще го направим с помощта на жироскопичния сензор и една програма, която ще наречем следване на посока.
Преди това, обаче, да направим едно тестово пускане на яхтата за да се позабавляваме на работата до тук!
Жироскопичен сензор - Условен оператор
Вече знаем как да използваме блокчето за изчакване на жироскопичния сензор. Сега е време да се запознаем с това как можем да го използваме с условен оператор (Switch).
Жироскопичният сензор, както всеки друг сензор, има собствена настройка в условния оператор.
За разлика от блокчето за изчакване, където има две опции, тук има само режим за сравнение (compare). Ако застанете с мишката ще видите, че този режим има два подрежима:
- Ъгъл (Angle) - роботът сравнява с определена стойност, по подразбиране 90, количеството градуси, на които се е завъртял сензора. Блокчето проверява дали това сравнение е вярно и спрямо резултатът изпълнява съответните команди.
- Скорост (Rate) - роботът сравнява с определена стойност, по подразбиране 90, скоростта на завъртане на сензора, тоест колко градуса за секунда се завърта сензора. Блокчето проверява дали това сравнение е вярно и спрямо резултатът изпълнява съответните команди.
Последната настройка, на която трябва да обърнем внимание е порта на който е включен сензора. По подразбиране той е 2, но ако се налага може да е изместен на всеки от 1-4.
Важна част от програмирането на жироскопичния сензор е, че точно както ротационния, когато пуснем програмата или преглед на портовете, той започва да измерва градусите от 0. След това по часовниковата стрелка са положителни, а обратно на часовниковата стрелка са отрицателни градуси. За разлика от градусите скоростта е 0 винаги докато не се завърти и в момента в който спре да се върти, отново става 0.
Следване на посока, използвайки жироскопичен сензор.
Жиро сензора ни показва ъгъла, на който е завил робота. Със сигурност можем да използваме това, за да направим робот, който пази перфектно една посока, нали? Сега ще ви покажем най-простия начин как.
Тази програма е абсолютно същата като следването на линия с един сензор. Отново ще искаме да вървим направо, когато сме в правилната посока (жироскопичния сензор показва 0 градуса) и да се връщаме обратно към нея, когато не сме.
Това, обаче, би било сложно. В най-простият си вариант програмта представлява постоянни завои, още известни като "патешко ходене". За линия приемаме мислената линия, която искаме да следваме. Стойността на жироскопочния сензор обикновенно искаме да бъде 0, но може да я модифицирате за ъгъла, който ви е нужен. Логиката е следната:
- Ако жироскопичният сензор показва по-малко от 0 градуса, завиваме към 0 градуса, в случая надясно.
- Ако жироскопичният сензор показва повече от 0 градуса, отново завиваме към 0 градуса (което е в обратната посока на първия завой), в случая наляво.
И готово! Вече имаме програма, с която роботът ни, дори и да го бутнем, винаги ще се движи в една и съща посока!
Както при следването на линия, тази програма може да се направи, както с условен оператор, така и с блокчета за изчакване. Тази версия за следване на посока е най-лесната, но не и най-плавната. За щастие при всички варианти, следването на линия е абсолютно същото като следване на посока. За това може да погледнете следване на линия с 3 или повече състояния, или пропорционално следване на линия и логиката би била абсолютно същата!
Програми с три или повече състояния
Досега създавахме програми, които имат две състояния. За тази цел използвахме блокче за условен оператор. Настройваме някакво условиe и в зависимост от резултата изпълняваме едно или друго действие. Сега ще видим, как можем да програмираме робота да дава три или повече различни реакции към заобикалящата го среда.
Нека вземем за пример следването на линия с три състояния, като използваме следните настройки:
Ако поставим само блокче за условен оператор, което сравнява дали стойността, отчетена от сензора, е по-малка от 27:
роботът няма да знае какво да прави, ако стойността е по-голяма от 27. Ако стойността е по-малка от 27, роботът очевидно ще завие надясно. Но в случай, че стойността не е по-малка от 27, роботът трябва или да продължи напред, или да завие наляво. Ако стойността е по-малка от 37, то роботът трябва да продължи напред, но ако е по-голяма, трябва да завие наляво. Как роботът може да реши какво да прави?
По същия начин, както е взел решение да завие надясно – с друго блокче за условен оператор. Ако поставим друго блокче за условен оператор, което да сравнява стойността с 37, ще решим този проблем. Тъй като второто блокче прави сравнение, само когато първото е отчело „невярно“, когато сравняваме с 37 ще знаем, че стойността е по-голяма или равна на 27.
Използването на блокче за условен оператор, в друго блокче за условен оператор, се нарича вложено блокче за условен оператор.
Задачи по приключване на урока.
- Направете снимки и клипове на роботите
- Разглобете и подредете робота
- Подредете работното си място
- Важно е да подредите електрониката на роботите върху капака на кутията.
- Навийте кабела за програмиране, така че да е събран.
- Поставете кабелите за робота до електрониката.
- Навийте кабела на мишката около мишката.
- Навийте кабела на зарядното на лаптопа така, както преподавателят ви ще ви покаже.
- Когато изключите компютъра, оставете го до кутията по роботика.
- Изключете всички програми на компютъра
- Излезте от FLLCasts
- Изключете компютъра
- Приберете столовете си под масата