Начало работы
Прежде чем начать сборку цепей на основе arduino, следует узнать о некоторых важных вещах и выполнить пару действий. давайте взглянем на аппаратное и программное обеспечение, которое вам понадобится для работы с проектами из этой книги, и настроим компьютер для работы с ними. затем вы опробуете arduino в простом проекте со светодиодами и изучите несколько полезных приемов, таких как пайка и загрузка полезных библиотек кода.
Аппаратное обеспечение
Для начала взглянем на плату Arduino Uno и некоторые дополнительные компоненты, которые вы будете использовать практически в каждом проекте.
Arduino Uno
Доступно множество плат Arduino, но в этой книге используется наиболее популярная из них — Arduino Uno, показанная на рис. 0.1. Arduino Uno — продукт с открытым кодом (т. е. его архитектура может копироваться для других изделий бесплатно), поэтому помимо оригинальной платы стоимостью около 2000 рублей в магазинах вы найдете еще множество совместимых клонов примерно за 700 рублей. Давайте рассмотрим плату Arduino Uno.

Компьютер Arduino управляет подключенными к нему компонентами, такими как электромоторы или светодиоды, пересылая им выходные данные (которые передаются с платы Arduino). Данные, которые Arduino считывает с датчиков, называются входными (т. е. поступающими на Arduino). Плата оборудована 14 цифровыми контактами ввода/вывода (контакты 0-13). Каждый из них может быть настроен как вход, так и как выход.
Питание
Плата Arduino Uno получает электропитание через интерфейс USB от компьютера при подключении к нему для загрузки программы. Если Arduino не подключена к компьютеру, вы можете обеспечить ее автономную работу, подключив блок питания постоянного тока на 9 вольт или батарейный отсек на 9В со штекером 2,1 мм, в котором центральный контакт - положительный. Штекер нужно вставить в соответствующий разъем на плате Arduino Uno.
Макетные платы
Макетная плата используется в качестве строительной основы для прототипирования электронных цепей. Во многих проектах макетные платы используются вместо пайки.
Современные макетные платы, сделаны из пластика с просверленными отверстиями (называемыми точками привязки), в которые вставляются ножки электронных компонентов или перемычки и удерживаются с помощью защелок. Отверстия соединены между собой полосами проводящего материала, которые проходят под платой.

Макетные платы бывают разных размеров. для сборки цепей, вам понадобятся макетные платы полноразмерные, обычно с 830 отверстиями, 420 отверстиями и с 170 отверстиями. Полноразмерная макетная плата идеальна для проектов, в которых используется жк-дисплеи или большое количество компонентов. Полуразмерная и мини-платы удобнее для небольших проектов.
В области электроники принято использовать красные провода для подключения к контактам 5 В (+) и черные — к контактам заземления (-), чтобы случайно не перепутать схему подключения. Остальные провода могут иметь любой другой цвет.

Эти отверстия соединены по горизонтали. Красные линии обозначают положительный контакт, а голубые — отрицательный (или заземление, как вы вскоре увидите).
Провода-перемычки
Для подключения компонентов на макетной плате вы будете использовать провода-перемычки. Они представляют собой изолированные одножильные провода с обработанными концами, что упрощает вставку и снятие проводов. Вы можете использовать и обычные провода, но убедитесь, что они одножильные, т.к. многожильный провод будет проблематично воткнуть в отверстие для зажима.
Когда вы вставляете перемычку в отверстие макетной платы, провод удерживается маленьким пружинным зажимом, образуя электрическое соединение в этом ряду, состоящее обычно из пяти отверстий. Затем вы можете установить компонент в соседнее отверстие, чтобы замкнуть цепь, как это показано на рис. 0.5.

Т. к. версии среды разработки могут меняться довольно часто, поэтому описывать процесс их установки мы не будем. Все версии среды разработки и подробное описание процесса установки для той или иной операционной системы доступны в Интернете по адресу www.arduino.cc.
Программирование arduino
Чтобы компоненты в проекте выполняли необходимые нам действия, нам нужно написать программу, которая предоставит Arduino нужные инструкции. Разработка программ для Arduino ведется в инструменте, именуемом интегрированной средой разработки (ЮЕ). Эту среду разработки можно скачать бесплатно с сайта www.arduino.cc/en/Main/Software, выбрав дистрибутив для операционной системы Windows, macOS или Linux. После установки и запуска среды вы сможете писать компьютерные программы (наборы пошаговых инструкций, известных в мире Arduino под термином скетчи), которые затем передаются в память Arduino через USB-интерфейс. Микрокомпьютер Arduino будет выполнять инструкции из скетча, попутно взаимодействуя с окружающей средой.
Интерфейс среды разработки
Запустив среду разработки Arduino, вы должны увидеть окно, показанное на рис. 0.6. Окно среды разработки Arduino содержит в верхней части панель инструментов с кнопками для наиболее часто используемых действий, в центре область скетча, в которой вы будете писать или просматривать свои программы, и в нижней части монитор порта. На панели монитора порта выводятся уведомления о соединении между вашим компьютером и Arduino, а также возникающие ошибки, если ваш скетч не компилируется должным образом.

Скетчи Arduino
Подобно любой программе, скетчи представляют собой небольшой набор инструкций и весьма критичны к ошибкам. Чтобы убедиться в правильности кода скетча, нажмите кнопку Проверить (Verify) в верхней части окна. С ее помощью производится проверка кода на ошибки, а результат выводится на панели монитора порта, например что скетч скомпилирован правильно. Если возникает ошибка, вы всегда можете скопировать авторскую версию скетча, а затем скопировать его код и вставить в окне среды разработки
Библиотеки
В мире Arduino библиотека представляет собой небольшой фрагмент кода, выполняющий определенную функцию. Вместо того чтобы постоянно вводить один и тот же код в каждый скетч, вы можете добавить команду, которая добавит код из библиотеки. Этот прием экономит время и позволяет легко подключаться к таким электронным компонентам, как датчик, индикатор или модуль.
Среда разработки Arduino содержит множество встроенных библиотек, таких как LiquidCrystal, позволяющей легко обмениваться данными с ЖК-дисплеями.
В Интернете вы можете найти гораздо больше библиотек. Для выполнения проектов, вам нужно будет импортировать следующие библиотеки: RFID,Tone, Pitches, Keypad, Password, Ultrasonic, NewPing, IRRemote и DHT.
После того как библиотеки будут загружены и распакованы, вам нужно их установить. Чтобы установить библиотеку в среде разработки Arduino версии 1.0.6 и выше, выполните следующие шаги.
1. Выберите команду меню Скетч ► Подключить библиотеку ► Добавить .ZIP библиотеку (Sketch ► Include Library ► Add .ZIP Library).
2. Выберите загруженный ZIP-файл и нажмите кнопку Open (Открыть). В более старых версиях среды разработки Arduino нужно будет распаковать архив с библиотекой и скопировать каталог с содержимым в папку sketchbook/libraries (Linux), Му Documents\Arduino\ Libraries (Windows) или Documents/Arduino/libraries (macOS).
Чтобы установить библиотеку вручную, найдите и распакуйте ZIP-файл с библиотекой. Например, если вы устанавливаете библиотеку под названием keypad из архивного файла keypad.zip, вам следует открыть файл keypad.zip, который будет распакован в каталог с именем keypad, содержащий файлы наподобие keypad.cpp и keypad.h. Перетащите каталог keypad в папку с библиотеками в соответствии с вашей операционной системой: sketchbook/libraries в Linux, Му Documents\Arduino\ Libraries в Windows и Documents/Arduino/libraries в macOS. Затем перезапустите среду разработки Arduino.
Библиотеки перечисляются в начале скетча. Эти строки легко определить, т.к. код начинается с команды #indude. Имена библиотек заключены в угловые скобки о и заканчиваются расширением ,h, как показано в следующем вызове библиотеки Servo:
#include <Servo.h>
Сразу установите перечисленные библиотеки, которые вам понадобятся в проектах, чтобы сэкономить в будущем немного времени.
Первый тест arduino: мигающий светодиод
Теперь, когда мы ознакомились с аппаратной и программной частями наших проектов, начнем с классического первого проекта Arduino: мигающего светодиода.
Это не только простейший способ убедиться в работоспособности платы Arduino, но также знакомство с простейшим скетчем. Как я упоминал ранее, скетч — это просто набор инструкций, выполняемых на компьютере. В памяти Arduino одновременно может храниться только один скетч, поэтому, как только вы загрузите ваш скетч в память Arduino, он будет выполняться каждый раз при включении Arduino, пока вы не загрузите новый скетч.
В этом проекте мы будем использовать тестовый скетч, поставляемый в составе со средой разработки Arduino. Эта программа включает светодиод на 1 секунду, затем выключает на 1 секунду и т.д. Светодиод излучает видимый свет, когда через него проходит ток с небольшим напряжением. Светодиод будет работать только при постоянном токе, текущем в одном направлении, поэтому более длинная ножка должна быть подключена к положительному контакту. Для работы светодиода также требуется резистор, снижающий силу тока, иначе светодиод может перегореть. На контакте 13 платы Arduino встроен резистор, которым мы и воспользуемся.

Выполните следующие шаги, чтобы провести тестирование:
1. Вставьте длинную ножку (также известную как +5 В, положительный контакт или анод) светодиода в контакт 13 на плате Arduino, как показано на рис. 0.7. Подключите короткую ножку (также известную как отрицательный контакт или катод) к контакту GND (рядом с контактом 13).
2. Подключите Arduino к вашему компьютеру с помощью USB-кабеля.
3. Введите следующий код в окне среды разработки:
//Проект мигающего светодиода int led = 13; void setup() { pinMode(led, OUTPUT);} void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }
4. Нажмите кнопку Verify (Проверить) в виде галочки и убедитесь, что программа работает правильно.
5. Теперь нажмите кнопку Upload (Загрузка), чтобы передать ваш скетч на Arduino.
Структура кода
Рассмотрим, что происходит в каждой строке скетча.
Каждая строка программы, которая начинается с символов //, предназначена для чтения только пользователем и игнорируется Arduino, что вы можете использовать для добавления комментариев и описания вашего кода (этот процесс называется комментированием кода). Если комментарий занимает больше одной строки, начните его с символов /* и закончите символами */. Строки текста внутри этих символов будут проигнорированы Arduino.
int led = 13; Присваиваем контакту 13 имя led. Каждое упоминание led в скетче относится к контакту 13.
void setup() {Обозначает, что код настройки между фигурными скобками {} после этой инструкции будет выполнен однократно при запуске программы. С открывающей фигурной скобки { начинается код настройки.
pinMode(led, OUTPUT);} Сообщает Arduino, что контакт 13 работает в режиме вывода. Таким образом мы будем подавать питание на светодиод. Закрывающая фигурная скобка} обозначает конец кода настройки.
void loop() { Создает цикл. Код, который находится между фигурными скобками {}, после инструкции lоор() запустится один раз при включении Arduino и будет повторяться, пока на Arduino подается питание.
digitalWrite(led, HIGH); Инструктирует Arduino перевести led (контакт 13) в режим HIGH, что значит подать питание на этот контакт. Другими словами, это перевод контакта во включенное состояние. В этом скетче обозначает включение светодиода.
delay(1000); Инструктирует Arduino подождать 1 секунду. Т.к. время в Arduino отсчитывается в миллисекундах, а 1 секунда = 1000 миллисекунд, здесь указано значение 1000.
digitalWrite(led, LOW); Инструктирует Arduino перевести led (контакт 13) в режим LOW, т. е. отключить питание на контакте. Эта инструкция отключает светодиод.
delay(1000); Инструктирует Arduino опять подождать 1 секунду.
}Этой закрывающей фигурной скобкой заканчивается цикл. Весь код, следующий после кода настройки (setup), должен быть заключен в фигурные скобки. Часто пользователи допускают ошибку, пропуская открывающую или закрывающую скобку в скетче, тем самым не позволяя ему скомпилироваться правильно. После этой фигурной скобки скетч возвращается назад к началу цикла и повторяется заново.
Запустив этот код, вы увидите, как светодиод начал мигать. Вы протестировали плату Arduino и поняли принцип работы скетча и процесс его загрузки.
Теги: