Первая программа на Arduino. Aрдуино для начинающих

Первая программа на Arduino. Aрдуино для начинающих

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

Сегодня разберём принцип работы Ардуино и загрузим свой первый скетч. Узнаем структуру программы и научимся мигать светодиодом.
Бытует мнение, что первая программа обычного программиста – это написать код, который выведет на экран фразу «HELLO WORLD », а программист работающий с микроконтроллерами должен помигать светодиодами. Не будем нарушать эту традицию.

Запускаем программу Arduino IDE. Если вы в первый раз открываете эту программу, то у вас откроется вот такое окно. Если вы уже работали с каким-нибудь примером, то откроется последний пример. 
Конечно этот код ничего сделать не сможет, но это вполне работоспособный код. Разберём его.

Сверху идёт название файла и версия установленной программы Arduino IDE.
По умолчанию название скетчу даётся в виде текущей даты. Сегодня 8 мая, и файл имеет такое же название. Дальше идёт буква А. Если вы создадите ещё один скетч, то эта буква изменится на Б. И так далее.
При сохранении файла, он сохранится в папку прописанную в настройках программы. Как изменить эту настройку я рассказывал в прошлом видео.

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

Строчки с двумя слэшами в начале это комментарии. Они необязательны, но я советую всегда их использовать. И даже если вы не планируете давать этот код кому-то ещё. Через некоторое время, открыв свой пример, в будете долго вспоминать что он делает. А прочитав комментарии вы сразу вспомните.
Вот один из моих рабочих примеров. Я всегда комментирую код и даже через год я смогу вспомнить что и за что в нём отвечает.

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

Теперь перейдём к функциям.
Первая функция это void setup(),
void означает, что эта функция ничего не возвращает, а просто отработает и передаст управление следующей функции.
setup() начинает работать сразу при подачи питания к Ардуине, или после перезагрузки платы. Эта функция срабатывает только 1 раз.
Весь код надо писать внутри фигурных скобок.
Вот пример часто используемых команд, что мы будем использовать очень часто.
 
Serial.begin (9600); //Говорим, что последовательный порт будет работать на скорости 9600bod
pinMode(2, INPUT ); // Определяем, что PIN 2(вывод на плате Ардуино подписанный D2) будет входом
pinMode(13, OUTPUT ); // PIN 13(на этом выводе находится светодиод на плате) будет выходом
lcd.init(); // Инициализируем дисплей


Следующая функция это void loop(). 
Она тоже ничего не возвращает, но в отличии от setup она работает всё время пока на плату подано напряжение.
Это бесконечный цикл.
Если не заданы особые условия, программа выполняется по очереди, сверху вниз. Дойдя до конца, программа начнёт свою работу сначала.
Здесь так же действует принцип, что все команды должны находиться внутри фигурных скобок.
Повлиять на программу можно используя функцию delay().
delay() - Останавливает программу на заданное время. Время задаётся в миллисекундах
1000 миллисекунд = 1 секунде.
Сегодня, так как мы только учимся, мы будем использовать delay(), но это плохая практика, и в следующих примерах мы постараемся обходиться без delay(). Внизу статьи есть ссылка на различные примеры работы со светодиодами.
Чем плох delay().
Он полностью останавливает выполнение программы, и пока не закончится время указанное в delay(), программа не будет выполняться. Например, если указать delay(60000) , то программа остановится на 1 минуту.
Вот мы вкратце познакомились с основными функциями Ардуино.
Теперь рассмотрим пример.

Давайте откроем пример Blink.
 
Кстати после установки Arduino IDE, у вас появились десятки примеров, которые можно открыть и загрузить в Плату Ардуино.
Вот код примера Blink.
 
Здесь загрузилось много строчек кода, но не все они нужны. Больше половины – это комментарии.
Комментарии – это текст который не является частью кода, а только рассказывает о том, что делает программа и разные команды.
// Он бывает однострочный. В начале ставятся 2 слэша
/* И многострочный. Обозначается так */
Сейчас я удалю лишнее, переведу на русский и мы посмотрим более короткую версию.
 
Разберём код.
В setup() - мы даём команду, что 13 вывод платы Ардуино будет работать как Выход. А на этом выводе микроконтроллера установлен светодиод который находится на плате.
Рассмотрим loop()
digitalWrite(LED_BUILTIN, HIGH);
Это значит, что на цифровой выход 13 подаётся высокий уровень, +5 вольт и светодиод загорится.
delay(1000); Пауза в 1 секунду. Так как светодиод горел, он и продолжит гореть.
digitalWrite(LED_BUILTIN, LOW);
Подаём Низкий уровень на 13 вывод, 0 вольт. Светодиод гаснет.
delay(1000); Опять пауза 1 секунду. Так как светодиод не горел, то он и продолжит Не гореть.
После этого цикл закончится и начнётся снова, с верхней строки функции loop().
И так без конца, пока включена Ардуина.
Теперь осталось скомпилировать код и прошить его в плату Ардуино.
Для этого нажимаем

и ждём когда прошивка завершится.
На этом мы заканчиваем этот урок.
Мы сегодня узнали:
Из чего состоит программа

  • Функции setup() и loop()

  • Как загружать примеры,

  • Разобрались как мигать светодиодом.

Если вам понравилось, то ставим лайк, а если вы ещё не подписались, то не забудьте это сделать, ведь впереди ещё много интересных уроков.
Это только начало. Надеюсь что заинтересовал вас, и мы ещё не раз встретимся на моём канале.
PS.
Вот на этой странице моего сайта "Ардуино для начинающих" находятся много примеров работы со светодиодами, а также видео по работе со светодиодами. Рассказано как найти у светодиода + и -, расчёт токоограничивающего резистора и много другого.
Вот список примеров.

1. Мигание 1 светодиодом
2. Мигание 3 светодиодами
3. Мигание светодиодом без delay
4. Светофор из 3-х светодиодов
5. Светодиодный модуль RGB. Случайное смешение цветов
6. Светодиодный модуль RGB. Поочерёдное включение цветов
7. Светодиодный модуль "Светофор". Имитация работы светофора
8. Плавное включение светодиодов.


Если вам нравятся мои видеоуроки, то вы можете подписаться на них, и незаб+удьте нажать на колокольчик, так вы непроп+устите следующее видео.
Вы видите ссылки на видео, которые, я думаю будут вам интересны. Перейдя на любое из этих видео вы узнаете что-то новое, а ещё поможете мне. Ведь любой ваш просмотр - это знак YOUTUBE, что это кому-то интересно и что его надо показывать чаще.
Спасибо.
А пока на этом всё.


Дополнительные материалы по теме.
Ардуино. Что это, и для чего. Ардуино для начинающих #1
Arduino IDE где скачать и как установить
Первая программа на Arduino. Aрдуино для начинающих
Управление светодиодами кнопкой на Ардуино
Arduino: История развития платформы и создание первой платы Arduino Nano
Проекты с Arduino. Множество вдохновляющих идей и увлекательных проектов
Arduino Nano описание
Arduino Nano v 3.0 Установка драйвера ch340g и первое подключение
Arduino первое подключение
Ардуино Подключение, Особенности Перспективы

Скетчи