Главная » Статьи » Arduino с нуля » Работа с Arduino |
Хотелось бы начать урок с ознакомления с особенностями программирования Arduino. Arduino IDE - это бесплатная программа, позволяющая писать и загружать готовые алгоритмы в платформу. Язык, на котором происходит программирование, это C++ но в очень упрощенном виде. Так что если вы не знакомы с языком, не пугайтесь, освоить программирование Arduino не так уж и сложно.
Как только мы открываем Arduino IDE, перед нами, в окне редактора, отображается следующий код: void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: } В любой код на Arduino входят две главные функции: setup() и loop(). void обозначает, что эти функции не возвращают никакие значения.
Типы функций мы будем рассматривать в последующих уроках, на данном этапе нам этих знаний не требуется.
Фигурные скобки означают начало и конец конкретной функции, к которой они относятся. Теперь поговорим подробнее об этих функциях.
В данную функцию мы закладываем тот код программы, который выполнится всего лишь один раз - при подключении Arduino к питанию. В основном это настройки для пинов Arduino. Их мы выставляем либо в режим INPUT (вход), либо в режим OUTPUT (выход). А также для однократного выполнения какого-либо действия. Например включения индикации питания, или же для запуска начальной проверки всех узлов на нашем устройстве.
Это главная функция всей программы. В нее будет закладываться основной код, который будет выполняться многократно (циклично). Т.е как только пройдут все операции с начала до конца, так сразу же программа перейдет в начало и все операции будут выполняться заново. Это основное что вы должны знать о главных функциях в программировании Arduino. Теперь давайте разберем код, который мы использовали в предыдущем уроке. int led = 13; void setup() { pinMode (led, OUTPUT); } void loop() { digitalWrite (led, HIGH); delay (1000); digitalWrite (led, LOW); delay (1000); } В самой первой строке int led = 13; объявляется переменная led, целого типа int (integer) и присваивается этой переменной значение 13. Эта переменная носит в себе значение нашего порта. Конечно же, мы можем просто писать в программе число 13, не объявляя переменную. Но если мы захотим изменить номер порта, придется менять это везде. А если у нас очень огромный код? Мы затратим очень большое время для поиска и изменения данного значения. И не факт, что мы что-нибудь не пропустим. Поэтому и используется переменная. При изменении номера порта, нужно будет только изменить ее значение в начале программы.
В качестве имени переменной может использоваться любая совокупность букв латинского алфавита. В имени переменной могут также использоваться цифры и знак подчеркивания (led1, foto_3 , _moto_2 и т.д). Но переменная не должна начинаться с цифры. int означает, что значение, которое будет хранить переменная, будет целого типа, например: 1, 5, -3, 100 и т.д. Так же бывают и другие типы переменных, например символьные (char = 'H'), с плавающей точкой (double = 1.5) и прочие.
Далее мы видим знакомую нам функцию setup(): void setup() { pinMode (led, OUTPUT); }
Функция, внутри нее (pinMode), в общем случае имеет вид: pinMode (pin, mode);
OUTPUT - режим, при котором пин Arduino становится источником тока. В этом режиме к пину можно подключать светодиоды, небольшие двигатели и датчики. INPUT - режим, при котором пин Arduino работает на вход. Т.е в таком режиме к нему можно подключать емкостные датчики касания, фотодиоды и т.д.
В данном случае функция pinMode настраивает пин с именем led в режим OUTPUT, т.к к этому пину будет подключен светодиод. Далее мы видим еще одну знакомую нам функцию loop(): void loop() { digitalWrite (led, HIGH); delay (1000); digitalWrite (led, LOW); delay (1000); } Внутри нее мы видим две незнакомые функции digitalWrite и delay.
Таким образом, в функции loop() реализуются следующие операции:
После этого программа переходит в самое начало (первый пункт функции loop() ) и все происходит заново. Простыми словами: светодиод будет загораться, ждать одну секунду и выключаться, снова ждать одну секунду и включаться. И этот процесс будет длиться пока Arduino подключено к питанию.
С кодом и основными функциями в программировании Arduino мы разобрались. Урок не очень сложный. Главные операции находятся в функции loop() и зависят от аргументов находящихся в скобках (задержка, высокий/низкий уровни). Попробуйте сами немного поэкспериментировать с изменением аргументов функций. Сделать мигание более быстрыми, или же наоборот замедлить их. Реализовать мигание из трех, четырех комбинаций и т.д. Все зависит от вашей фантазии.
Было составлено несколько заданий, чтобы Вам было легче закрепить полученные знания. Это своего рода небольшая проверка того, на сколько хорошо вы поняли материал. Задания:
Пояснение к заданию:
Первый урок проекта "Arduino с нуля" подошел к концу. Надеюсь тема была для вас полезной, и вы узнали что-нибудь новое. Также надеюсь, что при выполнении заданий у вас не возникнет вопросов и вы справитесь самостоятельно. Если же что-нибудь не будет получаться, или у вас появятся какие-либо вопросы, не стесняйтесь, и оставляйте их в комментариях или же на форуме.
Если Вам понравился наш урок, поделитесь им с друзьями.
←Предыдущий урок | Следующий урок→
| |
Просмотров: 3153 | Комментарии: 2 | | |
Всего комментариев: 2 | |
| |