Робототехника

Шадура Сергей Александрович
Что надо на занятия робототехникой

1. Тетрадь в клетку - для вклеек, записей, зарисовки схем

2. Офицерская линейка (с окружностями различных диаметров), карандаш, ластик, ручка шариковая

Во время практических работ используются:

- наборы по робототехнике на базе Arduino и электронике

- паяльник с припоем и флюсом

- ноутбук со специальным программным обеспечением

Учебно-методическое обеспечение

 

Полезные интернет-ресурсы
  • Tinkercad — это бесплатное веб-приложение для 3D-проектирования, работы с электронными компонентами и написания программного кода, которому доверяют более 50 миллионов человек по всему миру. Делайте уверенные шаги в научно-технической отрасли за счет проектной работы в классе.
  • CIRCUITO.IO - Мгновенно получите подробную спецификацию, руководство по подключению и код испытаний для вашей электронной схемы и воплотите свой проект в жизнь.
  • Fritzing — свободное кроссплатформенное программное обеспечение, упрощённый САПР с WYSIWYG-интерфейсом для хоббийных проектов экосистемы Arduino. ПО разработано в Университете прикладных наук Потсдама. Скачивание бинарных сборок под Windows, Mac и Linux AppImage с официального сайта доступно только на платной основе.
  • Proteus Design Suite — пакет программ для автоматизированного проектирования (САПР) электронных схем. Разработка компании Labcenter Electronics (Великобритания).
  • GyverKIT – самый большой стартовый Ардуино набор для обучения робототехнике и программированию. В состав набора входят самые популярные и универсальные модули и датчики, что позволяет собрать на его базе огромное количество электронных самоделок и провести кучу экспериментов!
  • AlexGyver Technologies V2.0 - сайт, на котором собраны авторские уроки, статьи и проекты на Arduino
  • Arduino.cc - официальный сайт проекта Arduino
Что такое Ардуино (Arduino)?
 
Arduino — торговая марка аппаратно-программных средств построения и прототипирования простых систем, моделей и экспериментов в области электроники, автоматики, автоматизации процессов и робототехники.
 
Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры.
Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.
 
Используется как для создания автономных объектов, так и подключения к программному обеспечению через проводные и беспроводные интерфейсы. Подходит для начинающих пользователей с минимальным входным порогом знаний в области разработки электроники и программирования.
 
Программная частьАппаратная часть
Программирование ведется целиком через собственную бесплатную программную оболочку Arduino IDE (распространяется по условиям GPLv2). В этой оболочке имеется текстовый редактор, менеджер проектов, препроцессор, компилятор и инструменты для загрузки программы в микроконтроллер. Оболочка написана на Java на основе проекта Processing, работает под Windows, Mac OS X и Linux. Используется комплект библиотек Arduino (по лицензии LGPL).
 
Язык программирования Arduino называется Arduino C и представляет собой язык C++ с фреймворком Wiring, он имеет некоторые отличия по части написания кода, который компилируется и собирается с помощью avr-gcc, с особенностями, облегчающими написание работающей программы — имеется набор библиотек, включающий в себя функции и объекты. При компиляции программы IDE создает временный файл с расширением *.cpp.
 
Программы, написанные программистом Arduino, называются наброски или скетчи (транслитерация от англ. sketch) и сохраняются в файлах с расширением *.ino. Эти файлы перед компиляцией обрабатываются препроцессором Ардуино. Также существует возможность создавать и подключать к проекту стандартные файлы C++.
Программист должен написать две обязательные для Arduino функции setup() и loop(). Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле.
В текст своей программы (скетча) программист не обязан вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Arduino в соответствии с конфигурацией проекта. Однако пользовательские библиотеки нужно указывать.
Менеджер проекта Arduino IDE имеет нестандартный механизм добавления библиотек. Библиотеки в виде исходных текстов на стандартном C++ добавляются в специальную папку в рабочем каталоге IDE. При этом название библиотеки добавляется в список библиотек в меню IDE. Программист отмечает нужные библиотеки, и они вносятся в список компиляции.
Arduino IDE не предлагает никаких настроек компилятора и минимизирует другие настройки, что упрощает начало работы для новичков и уменьшает риск возникновения проблем; но присутствуют директивы препроцессора, такие как #define, #include и много других.
Под торговой маркой Arduino выпускается несколько плат с микроконтроллером (англ. boards) и платы расширения (так называемые шилды — транслитерация с англ. shields). Большинство плат с микроконтроллером снабжено минимально необходимым набором обвязки для нормальной работы микроконтроллера (стабилизатор питания, кварцевый резонатор, цепочки сброса и т. п.).
 
В концепцию Arduino не входит корпусного или монтажного конструктива. Разработчик выбирает метод установки и механической защиты плат самостоятельно либо с помощью сторонних компаний. Сторонними производителями также выпускаются наборы робототехнической электромеханики, ориентированной на работу совместно с платами Arduino. Независимыми производителями также выпускается большая гамма всевозможных датчиков и исполнительных устройств, в той или иной степени совместимых с Ардуино.
 
Конструктив
Классические Arduino и Arduino-совместимые платы спроектированы для монтажа в стопки через штыревые разъёмы. Таким образом базовую микропроцессорную плату дополняют необходимой периферией и внешними подключениями.
 
Существуют платы Uno, Pro, Leonardo, Mega 2560, Due и платы, например Zero, с расширенным набором штыревых разъёмов для них. Платы расширения стандартной длины могут устанавливаться и в расширенные процессорные платы.
 
Кроме того существует также миниатюрный и промышленный конструктив.
 
Микроконтроллеры для Arduino отличаются наличием предварительно прошитого в них загрузчика (англ. bootloader). С помощью этого загрузчика пользователь загружает свою программу в микроконтроллер без использования традиционных отдельных аппаратных программаторов, хотя в некоторых моделях Arduino его нет. Загрузчик соединяется с компьютером через интерфейс USB (если он есть на плате) или с помощью отдельного переходника UART-USB. Поддержка загрузчика встроена в Arduino IDE и выполняется в один клик мыши.
 
На случай затирания загрузчика или покупки микроконтроллера без загрузчика разработчики предоставляют возможность прошить загрузчик в микроконтроллер самостоятельно. Для этого в Arduino IDE встроена поддержка нескольких популярных дешёвых программаторов, а большинство плат Arduino имеет штыревой разъём для внутрисхемного программирования (ICSP для AVR, JTAG или SWD[en] для ARM).
 
В Arduino IDE встроена возможность создания своих программно-аппаратных платформ. Этой возможностью пользуются сторонние компании, добавляющие в Arduino IDE свои наборы плат и компиляторов-загрузчиков к ним.
 
Периферия
Порты ввода-вывода микроконтроллеров оформлены в виде штыревых линеек. Никакой буферизации, защиты, конвертации уровней, как правило, нет. Микроконтроллеры питаются от 5 В или 3,3 В в зависимости от модели платы. Соответственно, порты имеют такой же размах допустимых входных и выходных напряжений. Программисту доступны некоторые специальные возможности портов ввода-вывода микроконтроллеров, например широтно-импульсная модуляция (ШИМ), аналогово-цифровой преобразователь (АЦП), интерфейсы UART, SPI, I2C. Количество и возможности портов ввода-вывода определяются конкретным вариантом микропроцессорной платы.
 
Помимо портов, на платах микроконтроллеров иногда устанавливается периферия в виде интерфейсов USB или Ethernet. Опциональный набор внешней периферии на модулях расширения включает в себя:
  • USB Device (чаще всего как виртуальный COM порт через FTDI FT232, имеются также версии с эмуляцией USB HID Class клавиатур и мышек).
  • Проводной и беспроводной Ethernet как на основной плате, так и на платах расширения.
  • Модуль GSM и другие беспроводные интерфейсы.
  • USB Host.
  • SD card.
  • Модуль управления низковольтным мотором на базе L298. Поддерживаются шаговый и коллекторный двигатели с напряжением до 12 В и током до 2 А на канал. Могут подключаться также реле, электромагниты и т. п. Модуль не имеет гальванической развязки.
  • Графический ЖКИ-индикатор.
  • Модуль с макетным полем.
Сторонние производители выпускают широкую гамму датчиков и исполнительных устройств, подключаемых к Arduino. Например, гироскопы, компасы, манометры, гигрометры, термометры, релейные модули, индикаторы, клавиатуры и т. п.