Arduino — с чего начать?

Что такое Arduino мы уже писали недавно. Сегодня же мы проделаем вместе с вами первые шаги с Arduino – начнем с установки программного обеспечения и закончим написанием и запуском первой программы.

Мы полагаем, что саму плату Arduino вы уже себе приобрели:). Если кто-то проспал предыдущий пост, то напомним, что Arduino можно приобрести здесь (сама плата Arduino UNO) или здесь (стартовый комплект Arduino). Имея в руках Arduino, мы можем перейти к изучению.

Программное обеспечение "Arduino IDE"

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

В случае с Windows достаточно скачать нужный архив и распаковать его в папку (желательно  в корне диска «С»). После распаковки «Arduino IDE» мы уже можем подключить плату Arduino к персональному компьютеру.

Подключение Arduino к компьютеру и установка драйверов

Arduino подключаем к компьютеру с помощью USB кабеля типа A-B (такой же, как для принтера). При подключении операционная система попытается сама установить соответствующие драйверы, но скорее всего ей это не удастся и нужно будет установить эти драйвера вручную.

Ручная установка драйверов выглядит примерно так:

  1. Подключите Arduino к USB
  2. Подождите пока система закончит поиск драйвера
  3. Зайдите в «Панель Управления» и откройте «Диспетчер устройств»arduino-c-chego-nachat-10
  4. Нажмите правой кнопкой мыши на «USB-Serial CH340» и выберите «Обновить драйвер».arduino-c-chego-nachat-11
  5. Выберите «Выполнить поиск драйверов на этом компьютере».arduino-c-chego-nachat-12
  6. Выберите папку "Drivers", находящуюся в распакованной папке «Arduino IDE».
  7. Подтвердите, что действительно хотите установить эти драйверы.
  8. Запомните номер COM-порта, который после установки драйверов отображается в верхней части окна.

 

Первый запуск Arduino IDE

Запустите «Arduino IDE», кликнув два раза на файл arduino.exe. Вы увидите такое окно:

запуск Arduino IDE

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

В меню «Инструменты - Плата» выберите версию Arduino, которая у вас уже есть (например, Arduino UNO):

ардуино - выбор платы

а в «Инструменты - Порт» выберите порт, к которому подключена плата Arduino (это тот порт, который нужно было запомнить во время установки драйверов).

ардуино порт

 

На этом все, теперь мы можем уже перейти к программированию :)

Первая программа Arduino

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

Из меню «Файл – Примеры – Basics» выберите «Blink»

arduino Blink

Это очень простая программа, отвечающая за мигание светодиода, расположенного на плате Arduino, который подключен к выводу 13:

 

arduino светодиод

Давайте рассмотрим по порядку всю программу:

// Все что стоит после (//…) или между (/* … */) являются комментариями в коде
/*
Функция setup () выполняется только один раз, в начале программы.
Она чаще всего используется для загрузки различных параметров.
*/
void setup() {
pinMode(13, OUTPUT);      // Установить вывод 13 в качестве выхода
}
//Функция loop () - это цикл, который выполняется все время пока включено питание.
void loop() {
digitalWrite(13, HIGH);   //  подать   высокий уровень (+5В) на вывод 13
delay(1000);              // ждать секунду (1000 мсек = 1 сек)
digitalWrite(13, LOW);    // подать   низкий уровень (0В) на вывод 13
delay(1000);              // ждать секунду
// После достижения конца цикла loop () все начнется с самого начала
}

Для загрузки программы в Arduino достаточно нажать на кнопку со стрелкой.

arduino-c-chego-nachat-5

После загрузки программы, в нижней части окна появится надпись: «Загрузка завершена, после чего светодиод начнет мигать с интервалом в 1 сек.

В самом низу окна «Arduino IDE» будут отображаться различные сообщения компилятора. В данном случае отображается информация о размере нашей программы (скетч) и максимально доступной памяти микроконтроллера. В случае появления каких-то ошибок  они будут отображаться в этом месте.

Самая простая схема на Arduino

Нам удалось заставить моргать светодиод, расположенный на плате Arduino. Теперь построим максимально простую аналогичную схему: заставим мигать светодиод, подключенный через резистор (около 220 Ом) к одному из выводов Arduino.

Наша программа «Blink» из примера управляет сигналом на контакте 13, к которому подключен светодиод на плате. Однако ничто не мешает нам подключить к этому выводу (13) и «земле» (GND) любой другой внешний светодиод. Имея макетную плату  мы можем быстро собрать такую схему:

 простая схема на Arduino

Конечно, контакт 13, здесь только как пример. Мы так же можем в программе изменить  номер контакта (например, на 6) и к этому контакту подключить дополнительный светодиод.

Чтобы нам не менять номер контакта в нескольких местах (в нашем примере программы он встречается 3 раза), мы можем его присвоить переменной, к которой мы будем ссылаться:

int led = 13;               // назначаем переменной led  номер контакта 13
void setup() {
pinMode(led, OUTPUT);     // подставить переменную led вместо номера контакта 13
}
void loop() {
digitalWrite(led, HIGH);   // подставить переменную led вместо номера контакта 13
delay(1000);
digitalWrite(led, LOW);    // подставить переменную led вместо номера контакта 13
delay(1000);
}

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

Все самое интересное в микроконтроллерах обретает смысл только тогда, когда кроме выходов мы начнем использовать и входы. В следующем примере подключим потенциометр к Arduino, с помощью которого мы будем регулировать частоту мигания светодиода.

Подключение потенциометра к Arduino

Потенциометр здесь использован в роли делителя напряжения. То есть,  напряжение на его крайних выводах (+5В и «земля») делится на две части, из которых одна часть подается (центральный вывод потенциометра) на вход A0 (аналоговый вход Arduino). Вращая потенциометр, мы меняем величину напряжения, которое подается на аналоговый вход.

Подключение потенциометра к Arduino

Напряжение, поступающее на аналоговый вход, определяется Arduino как число в диапазоне от 0 (0В) до 1023 (для 5В). Таким образом, если мы, например, подадим на аналоговый вход 2,5В, это будет истолкована Arduino как 512.  Надеемся, что до этого момента все ясно :)

Все остальное объясним  уже в самой программе:

int led = 13;  // это уже для нас понятно
int potPin = 0;     // назначаем  переменной номер аналогового входа
int pot;            // переменная, в которой мы будем сохранять  значение  потенциометра
int bk;        // переменная, в которой мы будем сохранять значение скорости мигания светодиода
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
pot = analogRead(potPin);     // считываем A0 и сохраняем в переменной pot
/*
Использованная ниже функция map() служит для преобразования одного диапазона чисел  в другой. В нашем случае, перерасчет числа из диапазона от 0 до 1023 (значение, полученное с A0) на диапазон чисел от 50 до 3000 (интервал между включением и выключением светодиода). Пересчитанный диапазон чисел будет сохранен в переменной «bk».
*/
bk = map(pot, 0, 1023, 50, 3000);
digitalWrite(led, HIGH);
delay(bk);               // пауза зависит от положения потенциометра
digitalWrite(led, LOW);
delay(bk);               // пауза зависит от положения потенциометра
}

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

подключение фоторезистора к ардуино

Фоторезистор, проще говоря, это резистор, сопротивление которого изменяется в зависимости от интенсивности падающего на него света.

Как видно на рисунке выше, фоторезистор подключен между +5В и контактом A0, а затем A0 через резистор на массу. Это точно такое же подключение, как и в случае с потенциометром. Здесь просто вместо двух крайних выводов потенциометра у нас ножка от фоторезистора и резистор, а вместо среднего вывода потенциометра, мы соединили друг с другом  оставшиеся свободные выводы фоторезистора и резистора.

Программу в принципе менять не нужно, потому что наша схема практически не изменился. После монтажа достаточно подать питание и можно наслаждаться светодиодом, скорость мигания которого зависит от степени освещенности фоторезистора.

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

редактор

Добавить комментарий

Ваш электронный адрес не будет опубликован.

*