- 04.01.16 2:41 •
- alfatapok •
- # 268708 •
- Гіктаймс •
- Tutorial •
- 8 •
- 6300
- такий же як Forbes, тільки краще.
Чому саме NXT Mindstorms 2.0? Тому-що для своїх проектів даний набір мені здався найбільш гідною кандидатурою, тому що мікрокомп'ютер NXT повністю сумісний з платформами MRDS 4 і NI LabVIEW, а так само даний набір є дуже гнучким в плані складання різних конфігурацій роботів - витрачається мінімум часу на складання робота.
Чому платформи MRDS 4 і NI LabVIEW? Так склалося історично. Навчаючись на старших курсах університету стояло завдання в розробці навчальних курсів з використанням даних платформ. До того ж платформи володіють достатньою простотою в освоєнні і функціональністю, з їх використанням можна написати програму безпосередньо для управління роботом, розробити інтерфейс користувача і провести тестування у віртуальному середовищі (у випадку з MRDS 4).
Так кому взагалі потрібні ці ваші уроки, в мережі і так купа проектів з робототехніки! З використанням цієї зв'язки (NXT + MRDS 4 / NI LabVIEW) навчальних статей практично немає, в основному використовується рідне середовище програмування, а в ній зовсім все тривіально. Всім кому цікаві робототехніка, програмування і у кого є набір NXT (а таких чимало), вікова аудиторія будь-яка.
Графічні мови програмування це зло, а ті хто на них програмують єретики! Графічні мови програмування якими і є MRDS 4 і NI LabVIEW безсумнівно мають свої мінуси, наприклад орієнтованість під вузькі завдання, але все ж в функціональності вони мало поступаються текстовим мов, тим більше NI LabVIEW спочатку розроблявся як мова легкий в освоєнні для вирішення наукових і інженерних задач , для цього в ньому присутня безліч необхідних бібліотек та інструментів. По-цьому для вирішення наших завдань дані графічні мови є найбільш підходящими. І не треба нас за це спалювати на багатті зневажати.
Все це виглядає по-дитячому і взагалі не серйозно! Коли завдання полягає в реалізації алгоритмів, в навчанні основам і принципам програмування, робототехніки, систем реального часу без поглиблення в схемотехнику і протоколи, то це дуже підходящий інструмент хоч і не дешевий (стосовно набору NXT). Хоча для цих же цілей непогано підійдуть набори на базі Arduino, але сумісності з MRDS 4 і NI LabVIEW у даного контролера майже немає, а в даних платформах є своя краса.
Короткий огляд платформ MRDS 4 і NI LabVIEW.
Внесу деяку ясність в термінологію. Під платформою, в даному випадку, мається на увазі сукупність різних інструментів, наприклад мову VPL в MRDS, а так само Виконавча додатків, тобто безпосередній компіляції додатків в виконувані (* .exe) файли нету.
- блокової діаграми, яка описує логіку роботи віртуального приладу;
- лицьовій панелі, яка описує інтерфейс користувача віртуального приладу.
Короткий огляд набору LEGO NXT Mindstorms 2.0.
Комплект NXT складається з керуючого блоку, чотирьох датчиків і трьох сервоприводів. Керуючий блок містить в собі:
- 32-бітний мікроконтролер AVR7 з 256 КБ FLASH пам'яті і 64 КБ RAM пам'яті;
- 8-бітний мікроконтролер AVR c 4 Кбайт FLASH пам'яті і 512 Байт RAM пам'яті;
- радіомодуль Bluetooth V 2.0;
- USB-порт;
- 3 роз'єми для підключення сервоприводів;
- 4 роз'єми для підключення датчиків;
- LCD дисплей дозволом 99x63 пікселів;
- динамік;
- роз'єм для 6 батарейок типу AA.
Датчики (в різних комплектаціях різні набори датчиків):
- ультразвуковий датчик;
- два тактильних датчика (датчики дотику);
- датчик опреденія кольору.
Малюнок 1 - мікрокомп'ютер NXT з підключеними датчиками і приводами
І звичайно ж в наборі знаходяться різноманітні деталі LEGO в форм-факторі LEGO Technic з яких будуть зібрані виконавчі механізми і несуча конструкція.
Малюнок 2 - Деталі в форм-факторі LEGO Technic
Пишемо перший додаток.
Напишемо перший додаток. Нехай, класично, дане додаток виводить текст "Hello, World!". Реалізація буде відбуватися по черзі в MRDS 4 і NI LabVIEW, в процесі будемо розглядати специфіку кожної платформи.
1. Платформа MRDS 4.
Запускаємо середу VPL (Меню Пуск - Всі Програми - Microsoft Robotics Developer Studio 4 - Visual Programming Language). Дане середовище дозволяє розробляти програми на мові VPL, проводити тестування у віртуальному середовищі VSE. Програма в VPL є діаграму, що складається із сполучених між собою блоків. У вікні, крім стандартної панелі команд і меню, присутній 5 основних вікон:
- Basic Activities - містить базові блоки, які реалізують такі оператори як константа, змінна, умова і т.д .;
- Services - містить блоки, які можуть пропонувати функціоналу платформи MRDS, наприклад блоки для взаємодії з будь-якої апаратної складової робота, або блоки для виклику діалогового вікна;
- Project - об'єднує діаграми входять в проект, а так само різні конфігураційні файли;
- Properties - містить властивості виділеного блоку;
- Diagrams window - містить, безпосередньо, діаграму (вихідний код) програми.
Малюнок 3 - Середовище програмування VPL
Виконаємо наступну послідовність дій:
- додамо блоки Data (з вікна Basic Activities) і блок сервісу Simple Dialog (з вікна Services),
- в блок Data введемо "Hello, World!" (без лапок) і виберемо тип даних String,
- з'єднаємо блок Data з блоком Simple Dialog, з'явитися діалогове вікно,
- далі, все виконуємо як на малюнках
Малюнок 4 - Вікно Connections
Малюнок 5 - Вікно Data Connections
Малюнок 6 - Закінчений вигляд діаграми
Малюнок 7 - Результат виконання програми
2. Платформа NI LabVIEW.
На цій платформі все реалізується, практично, ідентично. Запустимо середу LabVIEW. Перед нами з'явитися два вікна, перше - Front Panel, призначене для реалізації інтерфейсу користувача (зовнішнього вигляду віртуального приладу), друге - Block Diagram, для реалізації логіки програми.
Малюнок 8 - Вікна середовища LabVIEW
Ми будемо використовувати вікно Block Diagram. Виконаємо наступні кроки:
- у вікні Block Diagram викличемо контекстне меню, натисканням правою кнопкою миші,
- у вікні перейдемо по вкладках, як на малюнку і виберемо String Constant,
Малюнок 9 - Контекстне меню
Малюнок 10 - Блок One Button Dialog
Малюнок 11 - Готова діаграма
Малюнок 12 - Результат виконання програми
Ви можете допомогти і перевести трохи коштів на розвиток сайту