Урок №0
Старт с Arduino IDE и загрузка необходимых библиотек
Описание
Arduino IDE – это бесплатная среда программирования созданная для разработки приложений на базе плат совместимых с архитектурой Arduino. В нашем учебном курсе таких плат будет 2 – Arduino Uno и ESP32.

Среда программирования предназначена для написания, компиляции и загрузки собственных программ на память микроконтроллера. Основой Arduino IDE является язык Processing/Wiring – фактически это С++, дополненный простыми и понятными функциями для управления вводом\выводом на контактах.

В нашем первом уроке мы будем устанавливать среду разработки и скачивать библиотеки для комфортной дальнейшей работы.

! Библиотекой называется программный код, который добавляет функциональности программе. Например, для управления дополнительными устройствами или манипуляций с данными. Специализированных библиотек существует множество. Те, которые понадобятся нам, вы найдете на диске, идущем вместе с набором либо можете скачать на сайте STEMKIT.KZ/downloads
1. Зайдите на сайт

https://www.arduino.cc/en/main/software

2. Выберите вариант с вашей операционной системой. Вам скорее всего понадобится первая строчка – Windows installer
Начнем установку
3. Программное обеспечение бесплатное, но еси вы хотите помочь проекту это можно сделать, нажав на кнопку «Contribute&Download», для простого скачивания нажмите «Just download"
4. После загрузки файла откройте его и установите на компьютер.

5. Загрузите библиотеки и скетчи кода с сайта http://www.STEMKIT.KZ либо скачайте их с диска в комплекте.

6. Перенесите папки библиотек с расширением .h с диска, либо скачанные на сайте по адресу C:\Users\User\Documents\Arduino\libraries
( Этот компьютер\ Документы\ Arduino\libraries)
Готово! На данный момент вы полностью готовы к работе с платой Arduino Uno.

Откроем нашу среду разработки:
Выберите в окне Сервис плату Arduino Uno, первые 8 уроков мы будем проводить на ней.
Что нам понадобится?
Достаньте и подготовьте необходимые детали из коробки.
Arduino Uno
Мозг нашей схемы
Популярный микроконтроллер, его мощности достаточно пока нам для начальных экспериментов
Светодиод
Любого цвета
Длинная ножка на положительно заряженный, короткая на отрицательно
Макетная плата
на 400 точек
Соединения идут параллельно, плата разделена на 2 части горизонтальной линией
Резистор
На 10 кОм
О резисторах подробно мы подробно поговорим чуть ниже в разделе "Базовые знания"
Закон Ома
Впервые, закон открыл и описал в 1826 году немецкий физик Георг Ом, показавший (с помощью гальванометра) количественную связь между электродвижущей силой, электрическим током и свойствами проводника, как пропорциональную зависимость. В честь этого самого Георга Ома и назван закон.
Теперь давай выведем определение закона Ома.
Величина тока на участке цепи, прямо пропорциональна напряжению приложенному к этому участку цепи и обратно пропорциональна его сопротивлению.
Теперь разберем эту абракадабру по частям.
Часть первая - Величина тока на участке цепи, прямо пропорциональна напряжению приложенному к этому участку цепи. В принципе все понятно и логично, чем выше напряжение подключенное к цепи, тем больше ток.
Вторая часть закона - и обратно пропорциональна его сопротивлению. Это означает что чем больше сопротивление на участке, тем меньше ток.

Формула закона Ома
I = U / R - формула тока
R = U / I - формула сопротивления
U = I * R - формула напряжения


этой формуле –
I– Сила тока (Ампер),
U– Напряжение (Вольт),
R– Сопротивление (Ом­).

Прикладываю к этому объяснению шуточный рисунок ты мог видеть его и раньше на других сайтах, это очень хороший "рисунок – пример" многие его используют для интуитивного понимания закона



Что можно рассчитать пи помощи этой формулы?

Как найти силу тока, что такое сила тока - это значит, если к концам проводника сопротивлением R = 1 Ом приложено напряжение U = 1 Вольт, тогда величина тока I в проводнике будет равна 1/1 = 1 Ампер.
Я рассказал тебе очень кратко и простым языком о законе Ома, но этого вполне достаточно, чтобы ты смог самостоятельно на первых парах производить расчеты для своих будущих электронных шедевров!

Все схемы будут представлены в виде подобного рисунка. На нем интуитивно понятно к какому пину и что подключается.
Схема сборки
Пояснения к коду

Теперь, когда светодиод подключен а Ардуино, настало время программирования.

Команда #define служит для присвоения порту имени, это удобно чтобы не запоминать на каком порту что подключено

Функция void setup () выполняется один раз при включении устройства

Чтобы контакт №2 именно выводил сигнал, а не принимал его, потребуется использовать специальную функцию для установки режима контактов — pinMode. Формат этой функции таков:

pinMode( номер_контакта, режим_контакта );
где аргумент режим_контакта может принимать значения: OUTPUT (вывод) и INPUT (ввод).

То есть нам, чтобы помигать светодиодом, надо будет добавить в программу строчку:
pinMode( 2, OUTPUT );

Функция void loop () выполняет все что в ней написано ( в фигурных скобках {} ) бесконечное количество раз до выключения устройства.

Для вывода высокого или низкого уровня сигнала на один из контактов общего назначения, в редакторе программ Arduino IDE используется функция digitalWrite. Вызов этой функции имеет вид:

digitalWrite( номер_контакта, уровень_сигнала );
где аргумент уровень_сигнала может принимать два значения: HIGH (высокий, +5В) или LOW (низкий, заземлен).

Другими словами, если написать:
digitalWrite( 2, HIGH ); то Ардуино соединит ногу №2 с питанием +5В и светодиод вспыхнет!

Если же напишем:
digitalWrite( 2, LOW ); Анод светодиода замкнется на землю, и светодиод погаснет.

В программе присутствует еще одна полезная функция — delay. Это просто пауза, задаваемая в миллисекундах. delay (1000) — означает паузу в 1000 миллисекунд, что равно одной секунде.

Все! Загружаем программу на Ардуино, и смотрим на мигающий светодиод! Вы сделали это сами. Запрограммировали микроконтроллер! Круто, не правда ли?:)

Поле с кодом которое надо вставить в среду Arduino IDE
Если у вас возникли вопросы по данному этапу - пересмотрите нулевой урок
#define led = 2; /* даём разумное имя для пина №2 со светодиодом - (англ. Light Emitting Diode или просто «LED») Так нам не нужно постоянно вспоминать куда он подключён*/
void setup() { 
pinMode(led, OUTPUT) // установка 2-го контакта в режим вывода
}
void loop() {
    digitalWrite(led, HIGH); // вывод 2 порта в активное состояние
    delay(1000); // пауза 1-секунда
    digitalWrite(led, LOW); // вывод 2 порта в неактивное состояние
    delay(1000); // пауза 1-секунда
}
Задания для самопроверки
Для закрепления рекомендуем сделать несколько простых устройств со светодиодами.

1. Проблесковые маячки. Пусть в схеме будет два светодиода: красный и желтый. Нужно написать программу, которая будет мигать двумя светодиодами одновременно. Когда один загорается, другой гаснет. И наоборот.

2. Сигнал SOS. Светодиод должен мигнуть три раза с периодом 500 мс, затем три раза с периодом 1000 мс, и, наконец, еще три раза опять быстро — 500 мс. Таким образом, светодиод будет передавать сигнал SOS, который на азбуке Морзе состоит из трёх точек, трех тире и еще трёх точек.

3. Отключите питание, отключите светодиод от 2-го порта и подключите к 11-му. Измените программу так, чтобы схема снова заработала