ArduinoIDE

Материал из scratchduino
Перейти к: навигация, поиск

Содержание

Где взять и как установить

Для выполнения заданий этой главы Вам потребуется программное обеспечение Arduino IDE. Загрузить последнюю версию ПО вы можете с официального сайта Arduino. После установки и запуска программы Arduino IDE, Вам потребуется указать тип платы и номер последовательного порта. Найдите в меню опцию Tools – Board. Так как робот ScratchDuino работает на основе контроллера Arduino Uno, выберите из списка это наименование. Затем в меню опции Tools – Serial Port (Сервис – Последовательный порт) необходимо указать номер последовательного порта. На компьютерах с Windows это будет COM*, где * - некоторое число, соответствующее номеру последовательного порта. На компьютерах с Linux и Mac порт обозначен как dev/tty.usbmodem* или /dev/tty.usbserial*, где * - строка алфавитно-цифровых символов. Теперь робот подключен к Arduino IDE и мы можем начать программировать его на языке Arduino.


О языке программирования Arduino

Arduino – язык программирования, основанный на C/C++. Он прост в освоении, и на данный момент Arduino — это, пожалуй, самый удобный способ программирования устройств на микроконтроллерах.

Что должно быть в каждой программе

Давайте рассмотрим базовую структуру любой программы, написанной на Arduino

  • Функция setup() - одна из двух функций, без которой программа не будет компилироваться. Компиляция — это процесс перевода программы, составленной на исходном языке, понятном человеку, в эквивалентную программу на языке, понятном машине. Функция – это фрагмент кода, выполняющий определённую задачу. Функция setup() выполняется единожды в начале программы, мы будем прописывать в ней начальные параметры настройки, режимы портов ввода-вывода и т.д.

Обратите внимание на то, как правильно обозначается функция: void setup(){ } Первым делом мы объявляем, что функция будет возвращать. Некоторые функции создаются для того, чтобы вернуть числовое, текстовое или логическое значение. Если функция не возвращает ничего, как в случае с функцией setup(), то необхолдимо обозначить это, написав void, что переводится как пустота. Далее идёт имя функции, в нашем случае это setup. В круглых скобках мы можем указать, будет ли функция принимать какое-то значение для дальнейшей работы с ним. В случае с функцией setup() мы не хотим передавать фунцкии никакого значения, поэтому в круглых скобках не указываем ничего. После этого ставятся фигурные скобки, внутри которых прописывается то, что функция будет делать.

  • Функция loop() - вторая обязательная функция в программеArduino. Это функция представляет собой бесконечный цикл, то, что мы пропишим внутри фигурных скобок, будет выполняться снова и снова.

Программирование цифровых каналов (пинов) Arduino

На плате Arduino UNO есть 14 цифровых контактов. Датчики, которые мы подключаем к роботу, соединены с цифровыми пинами 8-12. Для управления двигателями нам потребуются цифровые каналы 4,5,6,7. Цифровые контакты могут быть запрограммированы на вход либо на выход. Для того, чтобы указать контроллеру, будет ли устройство через определённый цифровой пин принимать или передавать данные, используется функция pinMode(). В круглых скобках эта функция принимает 2 параметра, которые должны быть указаны через запятую: 1. Номер пина, или цифрового контакта 2. Направление контатка. Если устройство, подключенное к пину, будет передавать данные контроллеру (например, кнопка), в качестве второго параметра указывается INPUT, контакт прогрммируется на вход. Если устройство будет получать данные от контроллера (например, двигатели) – указывается OUTPUT, контакт программируется на выход.

Аналоговые контакты

На плате Arduino есть 6 аналоговых контакта, А0-А5. Датчики, установленные на робота, подключаются к контактам А1-А5.

Фунция digitalWrite() и функция analogWrite() С помощью функции digitalWrite() мы можем подать на выходной контакт напряжение либо подать 0В напряжение. В круглых скобках указывается два параметра: первый – номер пина, к которому подлючено устройство, второй – значение HIGH для подачи напряжения (5В) либо значение LOW для подачи напряжения в 0В. Функция analogWrite() нужна тогда, когда необходимо передавать не бинарное значение (либо 1, либо 0), а 8-ми разрядное значение в диапазоне от 0 до 255. Эта функия, так же, как функция digitalWrite(), принимает в круглых скобках два параметра. Первый – это номер контака. Необходимо помнить о том, что здесь мы можем использовать только аналоговые контакты А0-А5 и некоторые цифровые контакты(3,5,6,9,10,11). Вторым параметром будет являться значение от 0 до 255.

Продолжение следует...

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты
Печать/экспорт