Раздели

Робот-кола с Mecanum колела

Скорост срещу точност - засичане на времето

input.runningTime() мери времето, за да сравним по-бърза срещу по-точна писта
Последен урок в поредицата (засега) - събира уроци 1-5. Дотук всяко измерване го правеше дете с линийка. Тук input.runningTime() мери само, и раздел D показва защо по-бързото време не значи автоматично "по-доброто" решение.
◆с какво се прави урокът

Комплектът

Робот-кола с Mecanum колела с Microbit
Робот-кола с Mecanum колела с Microbit
Артикул STM10003 · 124 € · RJ11, без жички и без запояване
виж комплекта в магазина →
Линкът отваря нов раздел, за да не изхвърли учителя от урока насред час.
Aкакво вадим от кутията

Три неща за времето и по един въпрос към всяко

input.runningTime()
input.runningTime()
часовник
колко ms са минали, откакто платката се е включила
ms
вграден
Защо изваждаме старт от края, вместо да четем часовника директно?
Променливата rekord
Променливата rekord
код
пази най-доброто време досега, не последното
ms
-
Защо стартова стойност 999999, а не 0?
Скорост срещу точност
Скорост срещу точност
извод
по-бързо време, но (от урок 2) по-лошо затваряне на квадрата
-
-
Защо по-бързата настройка да НЕ е просто по-добрата?
A 60% скорост · B хронометър / 100% скорост · вграден екранът показва времето
⚠ Кой RJ11 порт на шийлда на кой пин отговаря НЕ е описано в документацията на Keyestudio. Затова говорим за пинове (P0, P2), а не за номера на портове - допълва се, щом платката е на масата.
Bразлика, не абсолютна стойност

Кое колело накъде?

↑преден ляв
↑преден десен
↑заден ляв
↑заден десен
колата
 
 
runningTime() никога не спира и не се нулира сам - затова винаги изваждаме "старт" от "край". Голото число на часовника не казва нищо само по себе си.
⚙без него блоковете ги няма

Блоковете идват от разширение

Сензорните блокове в този урок не са вградени в MakeCode. Те са от нашето разширение MecanumRobot_v2 (наша версия с български блокове) - затова са на български. Добавя се веднъж на проект:

  1. В MakeCode отвори проекта и цъкни ⚙ Настройки → Разширения.
  2. В полето за търсене постави адреса (не име - по име няма да се намери):
  3. Цъкни намереното разширение.
  4. В палитрата се появява категория Mecanum кола - блоковете са на български.
https://github.com/uchiteloffice/MecanumRobot_v2
Къде стои Разширения
1. „Разширения“ е в дъното на палитрата
Адресът, поставен в търсачката
2. адресът се поставя в полето за търсене
⚠ Търси се с адреса, не с името - разширението не е в галерията на MakeCode. Версия за този урок: v0.2.1.
Ако разширението липсва, блоковете излизат сиви и програмата не тръгва. Това е първото, което се проверява при „не работи".
CПрограмата се СТРОИ по един блок, с обяснение защо

Кодът стъпка по стъпка

блокове
 
Блоковете са изцяло на български - и вградените, и сензорните. Това е първият урок в серията, в който няма нито една английска дума в програмата.
Dпо-бързо не значи по-добро

Колко по-бързо е 100% спрямо 60%?

★ 60% - базово време
⏱️
-
ms разлика спрямо 60%
 
Секундомерът вижда само времето - не вижда разминаването при затваряне на квадрата. Едно число рядко разказва цялата история.
✎организация

За учителя

Комплект: Робот-кола с Mecanum колела с Microbit (STM10003)
Разширение: MecanumRobot_v2 (наша версия с български блокове) · https://github.com/uchiteloffice/MecanumRobot_v2
Пинове: A 60% скорост · B хронометър / 100% скорост · вграден екранът показва времето
Време: 40 минути · връзва темите на уроци 1-5 в едно.
Предмети: ИТ/технологии (измерване в кода, сравнение, компромис) · математика (разлика, най-малка стойност).

⚠ Мекanum колелата имат посока. Сложени наопаки, колата не тръгва настрани - трепери на място или върви в грешна посока. Проверявайте стрелката на джантата преди първо пускане.
⚠ Разширението е само за тази кола. Блоковете mecanumRobot не работят с neZha/PlanetX платки - друг производител, друга библиотека, друг курс.
⚠ Програмата не е пускана на истински хардуер. Рендерът е сверен, поведението - не.