Подготовка

  • Найти в интернете и прочитать описание принципа Широтно-Импульсной модуляции (ШИМ).

В принципе можно особо и не заморачиваться с ШИМ. Рабочую программу можно написать, двигаясь по тексту раздела “Работа в классе”. Но всё-таки лучше понимать, что собственно происходит в плате MotorShield, когда Вы задаёте в тексте программы соответствующие операторы.

  • Найти в интернете и прочитать описание платы MotorShield. Особое внимание обратить на номера контактов Arduino UNO, которые задействованы для управления моторами.
  • Найти в интернете и разобраться, как работают операторы
    • if (условие) {действие;}.
    • if (условие) {действие_1;} else {действие_2;}
  • Если что-то непонятно – не отчаивайтесь, так бывает часто и со многими – просто переходите к следующему разделу.

В этой главе мы напишем и отладим нашу первую функцию – управление тяговыми моторами. Но прежде чем мы начнём, надо немного поговорить о том, какие функции бывают.

В прошлой главе мы познакомились с функцией delay ().  Это встроенная функция. Она так называется потому, что она живёт внутри Arduino IDE (встроена в него).

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

  • Синтаксис – как её надо записывать в исходном коде, чтобы компилятор знал, что делать.
  • Руководство пользователя – описание того, что она делает.

Для встроенной функции delay () руководство пользователя записывается так –

  • Функция delay (value) обеспечивает задержку выполнения программы.

Синтаксис функции delay () следующий –

  • delay (value); , где value – целое число миллисекунд, на которое происходит задержка.

 

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

Для этого нам надо будет последовательно выполнить несколько этапов:

  1. Постановка задачи.
  2. Разработка алгоритма и списка локальных переменных.
  3. Написание исходного кода.
  4. Отладка исходного кода совместно с аппаратной частью.
  5. Написание рабочей документации.
    1. Описание постановки задачи.
    2. Алгоритм и список локальных переменных.
    3. Исходный текст.
    4. Руководство пользователя.

До сих пор я не упоминал о локальных переменных.

Что это такое и для чего они нужны Вы узнаете чуть позже.