Помощь в программировании ардуино

Помощь в программировании ардуино

На сегодняшний день Ардуино является одним из самых простых способов освоить микроконтроллеры: благодаря простому интерфейсу, простоте (можно сказать даже примитивности) "языка Ардуино" программирование микроконтроллеров становится доступно даже школьникам. Однако всегда находятся энтузиасты старающиеся улучшить даже то, что и так кажется простым. В данном случае речь идет о "визуальном программировании", т.е. графических средах позволяющих не писать программы, а рисовать их.
Итак встречаем: Scratch, ArduBloсk и FLProg — три попытки сделать так, чтобы программирование стало доступно даже дошкольникам 🙂

Scratch
Страница проекта — s4a.cat/
В 2003 году группа исследователей под руководством Митчела Резника из MIT Media Lab решила сделать общедоступный язык программирования. В результате через 4 года появился Scratch — "среда для обучения школьников программированию".
В этой среде можно создавать и играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между ними. Это объектно-ориентированная среда, в основе которой лежит принцип конструктора LEGO и в которой программы собираются из разноцветных блоков-кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего.
Среда русифицирована, для нее есть много инструкций и руководств на русском языке. Проекты, создаваемые в Scratch, выкладываются на сайте проекта scratch.mit.edu/, все они доступны для скачивания и использования. Среда доступна для работы ребенка с раннего возраста, немного умеющего читать и пользоваться мышью.
Основа среды – блоки команд, разделенные на несколько групп: движение, внешность, звук, перо, контроль, сенсоры, операторы, переменные. Встроенная «рисовалка» позволяет нарисовать нужный объект, а блоки команд (их нужно перетаскивать мышью) – задать программу действий, в том числе с применением условных операторов и циклов. Конечно, у Scratch отсутствует масса функций реального языка программирования, но и имеющихся достаточно для создания довольно сложных программ и игр. В самой программе имеется довольно большая база уже готовых нарисованных животных, домов, предметов и так далее, а кроме того, в качестве образца можно использовать любой из тысяч опубликованных в сети интернет программ примеров, сделанных взрослыми и детьми.
В 2008 году появился проект Scratch для Arduino (в оригинале: Scratch For Arduino или сокращённо — S4A) — это модификация Scratch, которая предоставляет возможность простого визуального программирования контроллера Arduino, а так же содержит новые блоки для управления датчиками и исполнительными механизмами, подключаемыми к Arduino.
S4A представляет собой скетч прошивки s4a.cat/downloads/S4AFirmware15.ino, которая загружается в Ардуино, делает его исполнительным устройством, программа выполняется на компьютере, Ардуино её физически выполняет, передавая сигналы на выходы платы. Ардуино в этом случае через Serial-соединение получает от Скретча команды какие порты в какой уровень установить и передает на ПК измеренные уровни с входов.
Более подробно можно узнать либо на странице проекта, либо посмотрев видео от Амперки — www.youtube.com/playlist?…OzZQGDFdoRfldtqbmNU6a-PIp

ArduBloсk
Страница проекта -blog.ardublock.com/
Имен разработчиков и их локализации мне найти не удалось, но данный проект активно продвигается разработчиком плат sparkfun, поэтому ИМХО это их проект.
Ardublock это графический язык программирования для Arduino, предназначенный для непрограммистов и простой в использовании. В отличии от Скретча ArduBloсk встраивается в среду Arduino IDE и генерит программый скетч, загружаемый в МК. Причем, после закачки в платформу, исполнение кода будет происходить автономно, т.е. не требуется непосредственное управление с компьютера по проводной или беспроводной связи.
Среди руссоязычного сообщества проект известен благодаря учителю-энтузиасту из Лабинска Александру Сергеевичу Аликину — geektimes.ru/post/258834/

FLProg
Страница проекта — flprog.ru/
Проект развивается силами одного человека — Сергея Глушенко. Основная идея заключается в том, чтобы адаптировать применяющиеся в области программирования промышленных контроллеров языки FBD и LAD к Ардуино.

FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.

Ladder Diagram (LD, LAD, РКС) — язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Результатом работы FLProg является конечный код, который может быть подгружен в МК.

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

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

Непосредственно в сам микроконтроллер загружается бинарный машинный код, который выглядит как хаотичный набор букв и цифр. Данный код может быть получен из любого языка программирования, тут всё зависит от среды разработки и такой штуки как интерпретатор. Официальной средой разработки является Arduino IDE, где программирование осуществляется на языке C++ – одном из самых популярных и мощных языков. Сами разработчики называют язык Arduino Wiring, так как в стандартной библиотеке Arduino.h используются функции и инструменты из фреймворка Wiring. Но языком, именно языком, из которого берётся синтаксис, является C++, поэтому параллельно с изучением стандартных функций желательно изучить любой справочник по “плюсам”, например мне очень нравится вот этот. В нём можно найти гораздо больше информации по языку, чем во всех Ардуино-уроках вместе взятых (речь идёт именно о языке и синтаксисе, а не о функциях из Wiring). Помимо Си существуют среды разработки, позволяющие писать на Java, например Espruino WEB IDE, или B4R – на языке Basic. Или XOD – программировать придётся визуальными блоками. Но это откровенно говоря такое себе, мы будем рассматривать только Си.

Читайте также:  Как построить синусоиду в маткаде

Синтаксис

  • Тела функций заключаются в фигурные скобки
  • Каждая команда заканчивается точкой с запятой ;
  • Метод применяется к объекту через точку. Пример: Serial.begin();
  • Вызов функции или метода всегда заканчивается скобками, даже если функция не принимает параметров. Пример: loop()
  • Разделитель десятичных дробей – точка. Пример: 0.25 У запятой тут другое применение
  • Запятыми перечисляются аргументы функций и методов, а также членов массива. Пример: digitalWrite(3, HIGH); массив – int myArray[] = <3, 4, 5 ,6>; Также запятая является самостоятельным оператором, но об этом поговорим отдельно в другом уроке
  • Одиночный символ заключается в одиночные кавычки ‘а’
  • Строка заключается в двойные кавычки “строка”
  • Имена переменных могут содержать латинские буквы в верхнем и нижнем регистре (большие и маленькие), цифры и нижнее подчеркивание. Пример: myVal_35 .
  • Имена переменных не могут начинаться с цифры. Только с буквы или нижнего подчёркивания
  • Регистр имеет значение, т.е. большая буква отличается от маленькой. Пример: переменные val и Val – не одно и то же.

К синтаксису также можно отнести комментарии, т.к. в разных языках они выделяются по-разному. Комментарий это обычный текст, который игнорируется на этапе компиляции. Комментарии нужны для пояснения кода, как себе самому, так и другим возможным его читателям. В C++ у нас два типа комментариев:

  • Однострочный комментарий
  • Многострочный комментарий

Оформление

Форматирование

Есть такое понятие, как форматирование (выравнивание) кода, то есть соблюдение пробелов и интервалов. Чисто для примера, сравните эти два куска кода. Какой смотрится более понятно и наглядно?

Не бойтесь, во всех серьезных средах разработки есть автоформатирование кода, оно работает как в процессе написания, так и по вызову. Arduino IDE – не исключение, в ней код форматируется по горячей комбинации Ctrl+T.

  • Между математическими действиями, знаками сравнения, присваивания и всем подобным ставится пробел
  • Как и в обычном тексте, пробел ставится после и не ставится перед запятой, двоеточием, точкой с запятой.
  • Отступ от левого края экрана – знак табуляции, код сдвигается вправо и на одном расстоянии формируются команды из одного блока кода. В Arduino IDE одна табуляци, равна двум пробелам
  • Каждое действие выполняется с новой строки (автоформатирование это не исправляет)
  • Фигурные скобки начала и окончания блока кода принято писать на отдельной строке. Также очень многие пишут открывающую скобку на строке с оператором, это экономит место

Имена переменных

  • Имена переменных принято писать начиная с маленькой буквы, называть их так, чтобы было понятно. Да, английский неплохо бы подтянуть! Пример: value
  • Если название переменной хочется составить из двух и более слов, они разделяются верхним регистром первой буквы каждого нового слова. Пример: myButtonState
  • Имена типов данных и классов принято писать с большой буквы. Пример: Signal, Servo
  • Имена констант принято писать в верхнем регистре, разделение – нижнее подчеркивание. Пример: MOTOR_SPEED
  • При написании библиотек и классов, имена внутренних переменных принято писать, начиная со знака нижнего подчёркивания. Пример: _position
  • Несколько общепринятых сокращений для названий переменных, вы часто будете встречать их в чужих прошивках и библиотеках:
  • button – btn, кнопка. Я обычно сокращаю кнопку до butt (с англ. – жоп@), потому что я весёлый чувак
  • index – idx – i, индекс
  • buffer – buf, буфер
  • value – val, значение
  • variable – var, переменная
  • pointer – ptr, указатель
  • Имена функций и методов принято начинать с глагола, кратко описывающего действие функции. Вот те из них, которые вы будете встречать постоянно:
    • get – получить значение (getValue)
    • set – установить значение (setTime)
    • print, show – показать что-то
    • read – прочитать
    • write – записать
    • change – изменить
    • clear – очистить
    • begin, start – начать
    • end, stop – закончить, остановить
    • Частый вопрос: влияет ли длина названия переменной на занимаемую прошивкой память? На вес файла прошивки на компьютере – влияет. На вес загруженной в микроконтроллер прошивки – не влияет, потому что код преобразуется в машинный, а там нет имён, там только адреса.
    • Структура кода

      Прежде чем переходить к структуре и порядку частей кода, нужно кое-что запомнить:

      • Переменная любого типа должна вызываться после своего объявления. Иначе будет ошибка
      • Объявление и использование классов или типов данных из библиотеки/файла должно быть после подключения библиотеки/файла
      • Функция может вызываться как до, так и после объявления, потому что C++ компилируемый язык, компиляция проходит в несколько этапов, и функции “выделяются” отдельно, поэтому могут вызываться в любом месте программы

      При запуске Arduino IDE даёт нам заготовку в виде двух обязательных функций: setup и loop

      Код в блоке setup выполняется один раз при каждом запуске микроконтроллера. Код в блоке loop выполняется “по кругу” на всём протяжении работы микроконтроллера, начиная с момента завершения выполнения setup.

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

      1. Описание прошивки, полезные ссылки, заметки, авторство
      2. Константы настройки (define и обычные)
      3. Служебные константы (которые следует менять только с полным осознанием дела)
      4. Подключаемые библиотеки и внешние файлы, объявление соответствующих им типов данных и классов
      5. Глобальные переменные
      6. setup
      7. loop
      8. Свои функции

      Пример кода

      Подключение библиотек и файлов

      В реальной работе вы очень часто будете использовать библиотеки или просто внешние файлы, они подключаются к главному файлу (файлу прошивки) при помощи директивы #include, данная директива сообщает препроцессору, что нужно найти и включить в компиляцию указанный файл. Указанный файл может тянуть за собой и другие файлы, но там оно уже всё прописано и подключается автоматически. Рассмотрим пример:

      Читайте также:  Левые карты для оплаты в интернете

      В чём отличие <> и “”? Когда указываем название “в кавычках”, компилятор сначала ищет файл в папке со скетчем, а затем в папке с библиотеками. При использовании компилятор ищет файл только в папке с библиотеками!

      К слову о папках с библиотеками: их две, в обеих будет производиться поиск библиотек.

      • Мои Документы/Arduino/libraries
      • C:/Program Files (x86)/Arduino/libraries (или C:/Program Files/Arduino/libraries для 32-разрядной Windows)

      В первую папку (в документах) библиотеки попадают при подключении их при помощи команды “подключить .zip библиотеку”. Подключать библиотеки таким способом не рекомендуется, потому что не всегда библиотека попадает к вам в архиве, и проще будет скопировать её вручную в Program files. Также если в обеих папках будут одинаковые по названию библиотеки, это приведёт к конфликту, поэтому библиотеки просто копируем в папку libraries в Program files/Arduino.

      Не используйте мышку!

      Вы наверняка замечали, как в фильмах программисты и хакеры делают свою работу, барабаня по клавиатуре и особо не трогая мышку. Это действительно так, чем больше вы программируете, тем меньше будете использовать мышку для установки курсора в нужное место и выделения слов/строк, потому что делать это с клавиатуры можно гораздо быстрее!

      Автоформатирование – Arduino IDE умеет автоматически приводить ваш код в порядок (имеются в виду отступы, переносы строк и пробелы). Для автоматического форматирования используйте комбинацию CTRL+T на клавиатуре, либо Инструменты/АвтоФорматирование в окне IDE. Используйте чаще, чтобы сделать код красивым (каноничным, классическим) и более читаемым для других!

      Скрытие частей кода – сворачивайте длинные функции и прочие куски кода для экономии места и времени на скроллинг. Включается здесь: Файл/Настройки/Включить сворачивание кода

      Не используйте мышку! Чем выше становится ваш навык в программировании, тем меньше вы будете использовать мышку (да-да, как в фильмах про хакеров). Используйте обе руки для написания кода и перемещения по нему, вот вам несколько полезных комбинаций и хаков, которыми я пользуюсь ПОСТОЯННО:

      • Ctrl+← , Ctrl+→ – переместить курсор влево/вправо НА ОДНО СЛОВО
      • Home , End – переместить курсор в начало/конец строки
      • Shift+← , Shift+→ – выделить символ слева/справа от курсора
      • Shift+Ctrl+← , Shift+Ctrl+→ – выделить слово слева/справа от курсора
      • Shift+Home , Shift+End – выделить все символы от текущего положения курсора до начала/конца строки
      • Ctrl+Z – отменить последнее действие
      • Ctrl+Y – повторить отменённое действие
      • Ctrl+C – копировать выделенный текст
      • Ctrl+X – вырезать выделенный текст
      • Ctrl+V – вставить текст из буфера обмена
      • Ctrl+U – загрузить прошивку в Arduino
      • Ctrl+R – скомпилировать (проверить)
      • Ctrl+Shift+M – открыть монитор порта

      Также для отодвигания комментариев в правую часть кода используйте TAB, а не ПРОБЕЛ. Нажатие TAB перемещает курсор по некоторой таблице, из-за чего ваши комментарии будут установлены красиво на одном расстоянии за вдвое меньшее количество нажатий!

      Видео

      Здравствуйте! Я Аликин Александр Сергеевич, педагог дополнительного образования, веду кружки «Робототехника» и «Радиотехника» в ЦДЮТТ г. Лабинска. Хотел бы немного рассказать об упрощенном способе программирования Arduino с помощью программы «ArduBloсk».

      Эту программу я ввел в образовательный процесс и восхищен результатом, у детей она пользуется особым спросом, особенно при написании простейших программ или для создания какого-то начального этапа сложных программ. ArduBloсk является графической средой программирования, т. е. все действия выполняются с нарисованными картинками с подписанными действиями на русском языке, что в разы упрощает изучение платформы Arduino. Дети уже со 2-го класса с легкостью осваивают работу с Arduino благодаря этой программе.

      Да, кто-то может сказать, что еще существует Scratch и он тоже очень простая графическая среда для программирования Arduino. Но Scratch не прошивает Arduino, а всего лишь управляет им по средством USB кабеля. Arduino зависим от компьютера и не может работать автономно. При создании собственных проектов автономность для Arduino — это главное, особенно при создании роботизированных устройств.

      Даже всеми известные роботы LEGO, такие как NXT или EV3 нашим ученикам уже не так интересны с появлением в программировании Arduino программы ArduBloсk. Еще Arduino намного дешевле любых конструкторов LEGO и многие компоненты можно просто взять от старой бытовой электронной техники. Программа ArduBloсk поможет в работе не только начинающим, но и активным пользователям платформы Arduino.

      Итак, что же такое ArduBloсk? Как я уже говорил, это графическая среда программирования. Практически полностью переведена на русский язык. Но в ArduBloсk изюминка не только это, но и то, что написанную нами программу ArduBloсk конвертирует в код Arduino IDE. Эта программа встраивается в среду программирования Arduino IDE, т. е. это плагин.

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

      В результате работы на программе можно не только программировать Arduino, но и изучать непонятные нам команды в текстовом формате Arduino IDE, ну а если же «лень» писать стандартные команды — стоит быстрыми манипуляциями мышкой набросать простенькую программку в ArduBlok, а в Arduino IDE её отладить.

      Чтобы установить ArduBlok, необходимо для начала загрузить и установить Arduino IDE с официального сайта Arduino и разобраться с настройками при работе с платой Arduino UNO. Как это сделать описано на том же сайте или же на Амперке, либо посмотреть на просторах YouTube. Ну, а когда со всем этим разобрались, необходимо скачать ArduBlok с официального сайта, вот ссылка. Последние версии скачивать не рекомендую, для начинающих они очень сложны, а вот версия от 2013-07-12 — самое то, этот файл там самый популярный.

      Затем, скачанный файл переименовываем в ardublock-all и в папке «документы». Создаем следующие папки: Arduino > tools > ArduBlockTool > tool и в последнею кидаем скачанный и переименованный файл. ArduBlok работает на всех операционных системах, даже на Linux, проверял сам лично на XP, Win7, Win8, все примеры для Win7. Установка программы для всех систем одинакова.

      Читайте также:  Как отменить изменения в тексте

      Ну, а если проще, я приготовил на Mail-диске 7z архив, распаковав который найдете 2 папки. В одной уже рабочая программа Arduino IDE, а в другой папке содержимое необходимо отправить в папку документы.

      Для того, чтобы работать в ArduBlok, необходимо запустить Arduino IDE. После чего заходим во вкладку Инструменты и там находим пункт ArduBlok, нажимаем на него — и вот она, цель наша.

      Теперь давайте разберемся с интерфейсом программы. Как вы уже поняли, настроек в ней нет, а вот значков для программирования предостаточно и каждый из них несет за собой команду в текстовом формате Arduino IDE. В новых версиях значков еще больше, поэтому разобраться с ArduBlok последней версии сложно и некоторые из значков не переведены на русский.

      В разделе «Управление» мы найдем разнообразные циклы.

      В разделе «Порты» мы можем с вами управлять значениями портов, а также подключенными к ним звукоизлучателя, сервомашинки или ультразвукового датчика приближения.

      В разделе «Числа/Константы» мы можем с вами выбрать цифровые значения или создать переменную, а вот то что ниже вряд ли будите использовать.

      В разделе «Операторы» мы с вами найдем все необходимые операторы сравнения и вычисления.

      В разделе «Утилиты» в основном используются значки со временем.

      «TinkerKit Bloks»- это раздел для приобретенных датчиков комплекта TinkerKit. Такого комплекта у нас, конечно же, нет, но это не значит, что для других наборов значки не подойдут, даже наоборот — ребятам очень удобно использовать такие значки, как включения светодиода или кнопка. Эти знаки используются практически во всех программах. Но у них есть особенность — при их выборе стоят неверные значки обозначающие порты, поэтому их необходимо удалить и подставить значок из раздела «числа/константы» самый верхний в списке.

      «DF Robot» — этот раздел используется при наличии указанных в нем датчиков, они иногда встречаются. И наш сегодняшний пример — не исключение, мы имеем «Регулируемый ИК выключатель» и «Датчик линии». «Датчик линии» отличается от того, что на картинке, так как он от фирмы Амперка. Действия их идентичны, но датчик от Амперки намного лучше, так как в нем имеется регулятор чувствительности.

      «Seeedstudio Grove» — датчики этого раздела мной ни разу не использовались, хотя тут только джойстики. В новых версиях этот раздел расширен.

      И последний раздел это «Linker Kit». Датчики, представленные в нем, мне не попадались.

      Хочется показать пример программы на роботе, двигающемся по полосе. Робот очень прост, как в сборке, так и в приобретении, но обо всем по порядку. Начнем с его приобретения и сборки.

      Вот сам набор деталей все было приобретено на сайте Амперка.

      1. AMP-B001 Motor Shield (2 канала, 2 А) 1 890 руб
      2. AMP-B017 Troyka Shield 1 690 руб
      3. AMP-X053 Батарейный отсек 3×2 AA 1 60 руб
      4. AMP-B018 Датчик линии цифровой 2 580 руб
      5. ROB0049 Двухколёсная платформа miniQ 1 1890 руб
      6. SEN0019 Инфракрасный датчик препятствий 1 390 руб
      7. FIT0032 Крепление для инфракрасного датчика препятствий 1 90 руб
      8. A000066 Arduino Uno 1 1150 руб

      Для начала соберем колесную платформу и припаяем к двигателям провода.

      Затем установим стойки, для крепления платы Arduino UNO, которые были взяты от старой материнской платы ну или иные подобные крепления.

      Затем крепим на эти стойки плату Arduino UNO, но один болтик прикрутить не получиться — разъемы мешают. Можно, конечно, их выпаять, но это уже на ваше усмотрение.

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

      Теперь устанавливаем цифровые датчики линии, тут придется поискать пару болтиков и 4 гайки к ним Две гайки устанавливаем между самой платформой и датчиком линии, а остальными фиксируем датчики.

      Следующим устанавливаем Motor Shield или по другому можно назвать драйвер двигателей. В нашем случае обратите внимание на джампер. Мы не будем использовать отдельное питание для двигателей, поэтому он установлен в этом положение. Нижняя часть заклеивается изолентой, это чтобы не было случайных замыканий от USB разъема Arduino UNO, это на всякий случай.

      Сверху Motor Shield устанавливаем Troyka Shield. Он необходим для удобства соединения датчиков. Все используемые нами сенсоры цифровые, поэтому датчики линии подключены к 8 и 9 порту, как их еще называют пины, а инфракрасный датчик препятствий подключен к 12 порту. Обязательно обратите внимание, что нельзя использовать порты 4, 5, 6, 7 так как оны используются Motor Shield для управлением двигателями. Я эти порты даже специально закрасил красным маркером, чтобы ученики разобрались.

      Если вы уже обратили внимание, мной была добавлена черная втулка, это на всякий случай, чтобы установленный нами батарейный отсек не вылетел. И наконец, всю конструкцию мы фиксируем обычной резинкой.

      Подключения батарейного отсека может быть 2-х видов. Первый подключение проводов к Troyka Shield. Также возможно подпаять штекер питания и подключать уже к самой плате Arduino UNO.

      Вот наш робот готов. Перед тем как начать программировать, надо будет изучить, как все работает, а именно:
      — Моторы:
      Порт 4 и 5 используются для управления одним мотором, а 6 и 7 другим;
      Скоростью вращения двигателей мы регулируя ШИМом на портах 5 и 6;
      Вперед или назад, подавая сигналы на порты 4 и 7.
      — Датчики:
      У нас все цифровые, поэтому дают логические сигналы в виде 1 либо 0;
      А что бы их отрегулировать, в них предусмотрены специальные регуляторы а при помощи подходящей отвертки их можно откалибровать.

      Подробности можно узнать на Амперке. Почему тут? Потому что там очень много информации по работе с Arduino.

      Ну что ж, мы, пожалуй, все просмотрели поверхностно, изучили и конечно же собрали робота. Теперь его необходимо запрограммировать, вот она — долгожданная программа!

      И программа конвертированная в Arduino IDE:

      В заключении хочу сказать, эта программа просто находка для образования, даже для самообучения она поможет изучить команды Arduino IDE. Самая главная изюминка — это то, что более 50 значков установки, она начинает «глючить». Да, действительно, это изюминка, так как постоянное программирование только на ArduBlok не обучит вас программированию в Arduino IDE. Так называемый «глюк» дает возможность задумываться и стараться запоминать команды для точной отладки программ.

      Ссылка на основную публикацию
      Политическая ситуация в азербайджане
      18 октября 2015, 14:05 В Азербайджане быстро растет число религиозных радикалов. Прибытие в Закавказье новых партий экстремистов, получивших боевой опыт...
      Пленка для экрана монитора
      Экраны защиты информации для экранов сохраняют конфиденциальность ваших данных. Посторонние не увидят ваш экран. Сохраните учетные данные, информацию о заработной...
      Плинтус напольный мдф отзывы
      Выбирая качественный материал для завершающего штриха в оформлении полового покрытия своего дома, люди отдают предпочтение такому товару, как МДФ плинтус....
      Полное и неполное ветвление алгоритма
      Команда ветвления в полной и неполной форме (урок 1) (Данная разработка урока по теме «Команда ветвления в полной и неполной...
      Adblock detector