Главная страница
Навигация по странице:

  • ТАВРИЧЕСКИЙ КОЛЛЕДЖ (структурное подразделение)Курсовая работа на тему:«Реализация робота при помощи платы “ Iskra JS

  • Оценка: Подпись: Симферополь, 2018г Содержание

  • Курсовая Робот. Реализация робота при помощи платы "Iskra js" и дополнительных модулей


    Скачать 1.16 Mb.
    НазваниеРеализация робота при помощи платы "Iskra js" и дополнительных модулей
    Дата26.06.2019
    Размер1.16 Mb.
    Формат файлаdocx
    Имя файлаКурсовая Робот.docx
    ТипКурсовая
    #83137

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

    РОССИЙСКОЙ ФЕДЕРАЦИИ

    Федеральное государственное образовательное учреждение высшего образования «Крымский федеральный университет имени В.И. Вернадского»

    ТАВРИЧЕСКИЙ КОЛЛЕДЖ

    (структурное подразделение)
    Курсовая работа

    на тему:
    «Реализация робота при помощи платы “Iskra JS” и дополнительных модулей»

    Выполнил:

    студент группы 3ПКС11

    Колесник Александр Юрьевич

    Проверил:

    Михерский Р.М.

    Оценка:

    Подпись:

    Симферополь, 2018г

    Содержание


    Введение 3

    Раздел 1 Теоретическая база исследования 5

    1.Аналоги плат с микроконтроллерами 5

    1.1Iskra JS 5

    1.2Arduino Uno 9

    2.Аналоги роботов 15

    2.1Ozobot 15

    2.2Робот паук Space Warrior 16

    Раздел 2 Разработка 19

    1.Компоненты использование при сборке робота 19

    1.Сборка робота 23

    3.Программирование робота 23

    Раздел 3 Возможности робота 25

    1.Контролируемое перемещение 25

    4.Контроль скорости 26

    5.Контроль падения 26

    Заключение 27

    Список использованных источников 28


    Введение


    Роботы создаются человеком для того что бы избавить себя от сложной работы. Но также роботов делают для развлечения, обучения и просто демонстрации технологий. В современном мире существует огромное количество плат для создания любого робота. Так же существует огромное количество модулей, для реализации нужных вам функций. Вскоре робота сможет собрать даже ребенок. На заводах и фабриках давно используют установки с микроконтроллерами для выполнения рутиной не сложной работы. Так постепенно физический рутинный труд уходит роботам, а интеллектуальный людям. Это не может не радовать.

    Проект первого робота, о котором сохранились достоверные сведения, создал Леонардо да Винчи. Это был андроид, выглядевший как рыцарь в доспехах. Согласно чертежам Леонардо, он мог двигать руками и головой. Остается открытым вопрос, почему знаменитый изобретатель не наделил своего рыцаря возможностью двигать ногами, т. е. ходить. Возможно, он считал это технически сложной проблемой (что полностью соответствует истине). Либо же предполагалось, что рыцарь должен ездить на лошади, и подвижность ног для него необязательна.

    Современные роботы могут выполнять не мыслимые функции. Одни похожи на людей поведением, другие внешне. Одни исследуют Марс, а другие готовят блины. Есть роботы, выполняющие опасную для человека работу, такие как работа с опасными химикатами или же большими температурами. На данный момент границу возможностей роботов сложно представить.

    Цель данной работы: демонстрация своего робота

    Задачи данной работы:

    1. Рассмотреть популярные микроконтроллеры на данный момент

    2. Изучить работу микроконтроллера и датчиков

    3. Рассмотреть аналоги моего робота

    4. Описать работу моего робота

    Объектом данной работы является робототехника

    Предметом данной работы является робот

    Методы, применённые к этой работе:

    1. Анализ

    2. Исследование

    3. Изучение


    Раздел 1 Теоретическая база исследования


    Для создания робота я использовал плату Iskra и различные компоненты. У разных производителей плат – разные среды и языки разработки. Существует большое количество аналогов плат и роботов, созданных на их основе. Я использовал плату Iskra JS.

    1.Аналоги плат с микроконтроллерами

    1.1Iskra JS


    Iskra JS — флагманская плата Амперки с встроенным интерпретатором JavaScript. Она является развитием платформы Espruino, но совместима с платами шилдами для Arduino. Если для вашего проекта важны скорость и комфорт разработки, максимальная совместимость с платами расширения, сенсорами и другими электронными модулями, Iskra JS — это оптимальный выбор.

    • Программирование

    Для программирования используется JavaScript, особенности использования которого подробно описаны в специальном разделе вики. Разработка ведётся в среде Espruino Web IDE, которая устанавливается в 1 клик: Web IDE — это приложение для Google Chrome.

    • Производительность

    Iskra JS работает на частоте 168 МГц. 32-битный микроконтроллер ARM Cortex-M4 предоставляет в ваше распоряжение 1 МБ флеш-памяти для хранения прошивки интерпретатора JavaScript и вашего кода, а также 192 КБ оперативной памяти для их работы.

    Этого хватает для обработки JS-кода и решения множества задач вроде управления роботами, промышленной автоматикой, системами умного дома и т.д.

    • Совместимость

    На плате вы найдёте совместимые с Arduino контактные колодки. Они расположены в соответствии со стандартной компоновкой Arduino R3, поэтому на плату могут быть установлены платы расширения для Arduino.

    Логическое напряжение Iskra JS — 3,3 вольта, а многие контакты толерантны к 5 вольтам. Это обеспечивает электрическую совместимость с большей частью Arduino-периферии.

    • Порты ввода-вывода

    Из 26-ти доступных управляющих контактов:

      • 12 могут использоваться для считывания аналогового сигнала;

      • 22 могут генерировать сигнал широтно-импульсной модуляции;

      • 2 могут выдавать настоящий аналоговый сигнал.

    На платформе доступны 4 последовательных порта, 2 SPI и 3 I²C-шины для взаимодействия с дисплеями, гироскопами, акселерометрами и другими сложными модулями.

    При этом по одной SPI и I²C шине вынесены на штатные разъёмы по стандарту Arduino R3 и они не конфликтуют с остальными пинами.

    • Питание

    Питание можно подавать, как с компьютера через microUSB-порт, так и через гнездо питания 2,1 мм. Источник определяется автоматически.

    В случае питания через гнездо, рекомендуемое входное напряжение — 7–15 В. Регуляторы напряжения выровняет входное напряжение до 5 и 3,3 вольт. В качестве источника питания можно использовать сетевой адаптер, батарейки или аккумуляторы.

    Для питания подключенной периферии используйте пины 5V и 3.3V, которые выдают соответствующие их названию уровни напряжения. При использовании внешнего источника питания, с пина 5V можно суммарно получить до 1000 мА, с пина 3.3V — до 300 мА.

    Если вам не нужна линия 5V, можете питать плату от источника на 3,6–12 В. Например, от Li-Ion аккумулятора.

    • Коммуникация

    Iskra JS соединяется с компьютером с помощью кабеля microUSB. При соединении, платформа представляется компьютеру как виртуальный последовательный порт. По нему загружаются пользовательские программы и с него получается отладочная информация. Все эти процессы автоматизированы в Iskra IDE.

    Также вы можете запрограммировать Iskra JS, как HID-устройство, то есть эмулировать работу клавиатур, мышей, джойстиков и другого компьютерного оборудования.

    • Защита USB

    Iskra JS мы снабдили предохранителем, защищающим USB-порты вашего компьютера от перенапряжения и коротких замыканий. Хотя большинство компьютеров обладают собственными средствами защиты, предохранитель даёт дополнительную уверенность. Он разрывает соединение, если с USB-порта снимается ток более 500 мА, и восстанавливает его после нормализации ситуации.

    • Габариты

    Размер платы — 69×53 мм. Гнёзда для внешнего питания и USB выступают на пару миллиметров за обозначенные границы. На плате предусмотрены места для крепления на шурупы или винты. Расстояние между контактами составляет 0,1″ (2,54 мм), но в случае 7-го и 8-го контакта — расстояние: 0,16″.

      • Характеристики

      • Микроконтроллер: STM32F405RG (32-битный ARM Cortex M4)

      • Тактовая частота: 168 МГц

      • Флеш-память: 1024 кБ

      • SRAM-память: 192 кБ

      • Номинальное рабочее напряжение: 3,3 В

      • Рекомендуемое входное напряжение: 7–15 В или 3,6–12 В

      • Максимальный ток с шины 5V: 1000 мА

      • Максимальный ток с шины 3.3V: 300 мА (включая питание микроконтроллера)

      • Максимальный ток с пина или на пин: 25 мА

      • Максимальный суммарный ток с пинов или на пины: 240 мА

      • Портов ввода-вывода общего назначения: 26

      • Портов с поддержкой ШИМ: 22

      • Портов с АЦП: 12 (12 бит)

      • Портов с ЦАП: 2 (12 бит)

      • Доступные аппаратные интерфейсы: 4× UART/Serial , 3× I²C/TWI, 2× SPI

      • Габариты: 69×53 мм


    1.2Arduino Uno


    Arduino Uno контроллер построен на ATmega328 (техническое описание, pdf). Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

    В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2 (техническое описание, pdf).

    "Uno" переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Ардуино. Для сравнения с предыдущими версиями можно обратиться к полному списку плат Arduino.

    • Характеристики

      • Микроконтроллер ATmega328

      • Рабочее напряжение 5 В

      • Входное напряжение (рекомендуемое) 7-12 В

      • Входное напряжение (предельное) 6-20 В

      • Цифровые Входы/Выходы 14 (6 из которых могут использоваться как выходы ШИМ)

      • Аналоговые входы 6

      • Постоянный ток через вход/выход 40 мА

      • Постоянный ток для вывода 3.3 В 50 мА

      • Флеш-память 32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика

      • ОЗУ 2 Кб (ATmega328)

      • EEPROM 1 Кб (ATmega328)

      • Тактовая частота 16 МГц

    • Питание

    Arduino Uno может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.

    Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.

    Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.

    • Выводы питания

    VIN. Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод.

    5V. Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.

    3V3. Напряжение на выводе 3.3 В генерируемое встроенным регулятором на плате. Максимальное потребление тока 50 мА.

    GND. Выводы заземления.

    • Память

    Микроконтроллер ATmega328 располагает 32 кБ флэш памяти, из которых 0.5 кБ используется для хранения загрузчика, а также 2 кБ ОЗУ (SRAM) и 1 Кб EEPROM. (которая читается и записывается с помощью библиотеки EEPROM).

    • Входы и Выходы

    Каждый из 14 цифровых выводов Uno может настроен как вход или выход, используя функции pinMode(), digitalWrite(), и digitalRead(), . Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

    Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega8U2 USB-to-TTL.

    Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().

    ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().

    SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI.

    LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

    На платформе Uno установлены 6 аналоговых входов (обозначенных как A0 .. A5), каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством вывода AREF и функции analogReference(). Некоторые выводы имеют дополнительные функции:

    I2C: 4 (SDA) и 5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.

    • Дополнительная пара выводов платформы

    AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().

    Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.

    Обратите внимание на соединение между выводами Arduino и портами ATmega328.

    • Связь

    На платформе Arduino Uno установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема ATmega8U2 направляет данный интерфейс через USB, программы на стороне компьютера "общаются" с платой через виртуальный COM порт. Прошивка ATmega8U2 использует стандартные драйвера USB COM, никаких стороних драйверов не требуется, но на Windows для подключения потребуется файл ArduinoUNO.inf. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

    Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Uno.

    ATmega328 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C.

    • Программирование

    Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Uno» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.

    Микроконтроллер ATmega328 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.

    Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.

    • Автоматическая (программная) перезагрузка

    Uno разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Одна из линий DTR микросхемы ATmega8U2, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеру ATmega328 через 100 нФ конденсатор. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.

    Функция имеет еще одно применение. Перезагрузка Uno происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.

    На Uno имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. Контакты микросхем с обоих концов линии могут быть соединены с целью восстановления. Линия маркирована «RESET-EN». Отключить автоматическую перезагрузку также возможно подключив резистор 110 Ом между источником 5 В и данной линией.

    • Токовая защита разъема USB

    В Arduino Uno встроен самовостанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатыват при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут востановлены.

    • Физические характеристики

    Длина и ширина печатной платы Uno составляют 6.9 и 5.3 см соответственно. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.

    2.Аналоги роботов

    2.1Ozobot


    Ozobot Bit (рисунок 1.) – это миниатюрный умный робот, который обучает ребенка программированию. Его размер составляет всего лишь 16 кубических сантиметров. Робот взаимодействует с цветовыми линиями на бумаге, так что ребенок сможет программировать робота на решение задач. Робот общается с помощью световых и звуковых сигналов, к тому же отправляет сообщения в мобильное приложение. Ozobot Bit оснащен оптическими датчиками и датчиком приближения, так что он обходит препятствия и распознает цвета. Роботом можно управлять с помощью мобильного приложения Ozobot Bit. В комплекте поставки есть прозрачные игровые поверхности, маркеры, стикеры с кодом и игровые задания. https://www.dadlogic.net/wp-content/uploads/2015/09/ozobot-bit-03.jpg

    Рисунок 1. Робот Ozobot

    2.2Робот паук Space Warrior


    Радиоуправляемый робот-паук Space Warrior (рисунок 2.), стреляющий дисками, со световыми и звуковыми эффектами! Возможности этого радиоуправляемого робота отличаются своим разнообразием и оригинальностью исполнения!

    https://somebox.ru/upload/iblock/085/085bf56781fef23db971bdd9b6c14c39.jpg

    Рисунок 2. Робот-паук Space Warrior

    Робот Space Warrior обладает прекрасными ходовыми характеристиками, поэтому может передвигаться практически по любым поверхностям! Он наделен недюжей проходимостью и маневренностью, потому как конструктивно основан на методике передвижения самого настоящего паука. Шесть конечностей-лапок, выполненных из высококачественной пластмассы, позволяют ему преодолевать даже самые сложные препятствия и преграды, стоящие на пути.

    Вооружение робота также поражает! Дисковый бластер с 12-ю зарядами не оставит противнику ни единого шанса на победу! Диски изготовлены из мягкого вспененного материала, поэтому безопасны для детей во время игры. Для точного попадания робот оснащен лазерным прицелом.

    Особый интерес представляет сама суть игрового процесса, а также некоторые конструктивные особенности! Радиоуправляемый робот Space Warrior имеет закрепляемую броню на конечностях-лапках, которая "отстреливается" (отлетает) в случае меткого попадания по ней противником. Кроме того, в случае 3-х точных попаданий по мишени, которая находится на башне, робот-паук выключится (потерпит поражение).

    В итоге, боевой робот-паук может вести два вида контактного боя:

    первый, как у танкового боя нужно в мишень три раза попасть ракетами или дисками

    второй, любыми способами сбивать защиту с лап

    Кроме всего вышеперечисленного, стоит отметить следующие аспекты оснащения:

    • игрушка имеет светодиоды красного цвета, которые выполняют роль подсветки в темноте (во время ночных боев)

    • орудие-бластер оборудован подъемным механизмом для наиболее точного наведения на цель

    • башня и бластер поворачиваются вместе с корпусом робота на 360 градусов, что дает возможность контролировать пространство вокруг, а также позволяет лучше прицелиться

    • выстрелы и другие игровые моменты сопровождаются звуковыми эффектами!

    • 6 батареек типа АА: 2 шт. для пульта и 4 шт. в модель


    Раздел 2 Разработка

    1. Компоненты использование при сборке робота


    1. Iskra JS (Рискнок 3.) — флагманская плата Амперки с встроенным интерпретатором JavaScript. Она является развитием платформы Espruino, но совместима с платами шилдами для Arduino.

    http://edusnab.ru/upload/iblock/df8/df83647812fb4e46ddfa654825e2cb20.jpg

    Рисунок 3. Плата Iskra JS

    1. Troyka Shield (рисунок 4.) — это плата расширения, которая помогает подключать большое количество периферии вроде сенсоров через стандартные 3-проводные шлейфы. Это позволяет не прибегать к пайке или отдельной макетной плате.

    http://kibertronika.by/images/categorys/594/2/147521604415026000.jpg

    Рисунок 4. Плата Troyka Shield

    1. Motor Shield (рисунок 5.) - это плата расширения для Arduino, предназначенная для двухканального управления скоростью и направлением вращения коллекторных двигателей постоянного тока, напряжением 5-24В и максимальным током до 2А на канал.

    http://static-eu.insales.ru/images/products/1/2320/178637072/arduino-motor-shield.2.jpg

    Рисунок 5. Плата Motor Shield

    1. Плата Power Bank (рисунок 6.) – это источник автономного питания для ботов, охранных систем и электронных тайников.

    http://static-eu.insales.ru/images/products/1/960/105767872/troyka_powerbank.1.jpg

    Рисунок 6. Плата Power Bank

    1. Микромотор с передаточными шестернями, формирующими редуктор и D-образным шпинделем подойдёт для приведения в движение колёс, лопастей и подобных вещей.

    2. Датчик линии (цифровой) – он позволяет определять цвет поверхности около него. Выходом является простой бинарный цифровой сигнал: логический 0 или 1 в зависимости от цвета, который он видит перед собой. Единица — чёрный или пустота, ноль — не чёрный.

    3. Датчик линии (аналоговый) - сенсор способен не только отличать чёрную поверхность от белой. В отличии от цифрового датчика линии, он способен отличить оттенки серого. Это даёт вам возможность точно контролировать процесс перехода границы от чёрного к белому и наоборот, ведь результатом является усреднённое значение небольшого пятна под фотоэлементом.

    4. ИК-пульт управления

    5. Ультразвуковой дальномер - может служить прекрасным датчиком для робота, благодаря которому он сможет определять расстояния до объектов, объезжать препятствия, или строить карту помещения. Его можно также использовать в качестве датчика для сигнализации, срабатывающего при приближении объектов.

    6. Светодиод

    7. 8 трёхпроводных шлейфов - Шлейф длиной 25 см из трёх проводов подходящий для соединения сенсоров и модулей серии Troyka Module с контактами Troyka Shield и Troyka Mega Tail. Шлейф предназначен для работы в условиях напряжения до 50 В и тока до 1 А.

    8. Четырёхпроводной шлейф

    9. Сервопривод - позволяет установить и удерживать угол поворота колеса. Привод обладает углом поворота 180°, т.е. может быть установлен в любое положение в пределах полуокружности.
    1. Сборка робота


    Робот состоит из 4 плат и нескольких модулей соединённых проводами. Iskra JS, Motor Shield и Troyka Shield соединяются между собой, после чего крепятся к корпусу. К Troyka Shield подключаются все провода от датчиков и модулей. Так же к корпусу крепиться Плата Power Bank от которой питаются остальные платы, моторы и датчики. Так же к корпусу крепятся колеса, моторы который подключаются к Motor Shield к этой же плате подключается питание от Power Bank. Так же в корпус монтируется сервопривод для вращение “головой” робота в которой размещен дальномер. На верху “головы” размещено 2 элемента, светодиод и инфракрасный приемник, которые так же подключены к платам.

    3.Программирование робота


    Данный запрограммирован через Espruino IDE на языке программирования JS с использованием библиотек amperka для управления различными модулями и датчиками. В коде объявляются объекты в виде датчиков и модулей (рисунок 7.).



    Рисунок 7. Объекты в коде

    Поведением робота можно управлять при помощи функций (рисунок 8.).



    Рисунок 8. Функция в JS

    После написания кода, плата Iskra JS подключается к ПК по USB и в нее загружают данный код. После загрузки необходимости в подключении к ПК нет так как весь код находиться в памяти платы.

    Раздел 3 Возможности робота


    В данном роботе разлизаны некоторые возможности, реализовать которые позволяют датчики и модули, установленные в роботе. Все функции контролируются с пульта с инфракрасным светодиодом (рисунок 9.), сигнал которого поступает в инфракрасный датчик на корпусе робота, после чего обрабатывается и выполняется та или иная функция.

    http://forum.amperka.ru/attachments/photo5447451616342026332-jpg.11777/

    Рисунок 9 ИК-пульт
    1. Контролируемое перемещение


    При нажатии на стрелочки на ИК-пульте (рисунок 9) происходит движение робота. За счет 2 колес можно поворачивать и крутиться на месте. При нажатии стрелочек вперед и назад происходит либо синхронное движение колес вперед, либо назад. При нажатии стрелочек влево, вправо происходит полное движение либо правого, либо левого колеса, что заставляет робота крутиться на месте. При нажатии стрелочек верх-право, верх-лево, низ-право, низ-лево, происходит вращение обоих колес, при этом одно из них крутить на половину скорости, что позволяет плавно поворачивать. При нажатии кнопки в центре (плей\стоп) робот останавливается.

    4.Контроль скорости


    При нажатии кнопок +\- скорость робота уменьшается либо увеличивается на 10% от его максимальной скорости.

    5.Контроль падения


    При нажатии красного круга робот переходит в режим, при котором он калибрует датчики цвета по краям корпуса и начинает движение. Как только будет достигнут край стола, он остановиться и начнёт его объезжать. При повторном нажатии, этот режим выключиться.

    Заключение


    На базе микроконтроллеров сделано огромное количество различных механизмов и роботов, которые служат в различных сферах и выполняют разные функции.

    В данной работе была достигнута цель: продемонстрировать собственного робота.

    Для достижения данной цели были выполнены такие задачи:

    1. Рассмотрены популярные микроконтроллеры на данный момент

    2. Изучены работу микроконтроллера и датчиков

    3. Рассмотрены аналоги моего робота

    4. Описание работу моего робота


    Список использованных источников


    1. Сайт робота ankiover https://ankioverdrive.ru

    2. Сайт робота Cozmo https://cozmoshop.ru

    3. Сайт Arduino http://arduino.ru

    4. Статья про историю роботов https://robo-sapiens.ru/stati/pervyie-robotyi-i-kratkaya-istoriya-razvitiya-robototehniki/

    5. Происхождение роботов http://fb.ru/article/369197/robototehnika-istoriya-i-sovremennost-pervyiy-robot-ispolzovanie-robotov-v-razlichnyih-sferah-deyatelnosti

    6. Wiki по модулям Amperka http://wiki.amperka.ru

    7. Сайт Amperka http://amperka.ru


    написать администратору сайта