Начало работы
Прежде чем начать сборку цепей на основе arduino, следует узнать о некоторых важных вещах и выполнить пару действий. давайте взглянем на аппаратное и программное обеспечение, которое вам понадобится для работы с проектами из этой книги, и настроим компьютер для работы с ними. затем вы опробуете arduino в простом проекте со светодиодами и изучите несколько полезных приемов, таких как пайка и загрузка полезных библиотек кода.
Аппаратное обеспечение
Для начала взглянем на плату Arduino Uno и некоторые дополнительные компоненты, которые вы будете использовать практически в каждом проекте.
Arduino Uno
Доступно множество плат Arduino, но в этой книге используется наиболее популярная из них — Arduino Uno, показанная на рис. 0.1. Arduino Uno — продукт с открытым кодом (т. е. его архитектура может копироваться для других изделий бесплатно), поэтому помимо оригинальной платы стоимостью около 2000 рублей в магазинах вы найдете еще множество совместимых клонов примерно за 700 рублей. Давайте рассмотрим плату Arduino Uno.
Рисунок 0.1: Плата Arduino Uno
Компьютер Arduino управляет подключенными к нему компонентами, такими как электромоторы или светодиоды, пересылая им выходные данные (которые передаются с платы Arduino). Данные, которые Arduino считывает с датчиков, называются входными (т. е. поступающими на Arduino). Плата оборудована 14 цифровыми контактами ввода/вывода (контакты 0-13). Каждый из них может быть настроен как вход, так и как выход.
Питание
Плата Arduino Uno получает электропитание через интерфейс USB от компьютера при подключении к нему для загрузки программы. Если Arduino не подключена к компьютеру, вы можете обеспечить ее автономную работу, подключив блок питания постоянного тока на 9 вольт или батарейный отсек на 9В со штекером 2,1 мм, в котором центральный контакт - положительный. Штекер нужно вставить в соответствующий разъем на плате Arduino Uno.
Макетные платы
Макетная плата используется в качестве строительной основы для прототипирования электронных цепей. Во многих проектах макетные платы используются вместо пайки.
Современные макетные платы, сделаны из пластика с просверленными отверстиями (называемыми точками привязки), в которые вставляются ножки электронных компонентов или перемычки и удерживаются с помощью защелок. Отверстия соединены между собой полосами проводящего материала, которые проходят под платой.
Рисунок 0.3: Схема соединений контактов макетной платы
Макетные платы бывают разных размеров. для сборки цепей, вам понадобятся макетные платы полноразмерные, обычно с 830 отверстиями, 420 отверстиями и с 170 отверстиями. Полноразмерная макетная плата идеальна для проектов, в которых используется жк-дисплеи или большое количество компонентов. Полуразмерная и мини-платы удобнее для небольших проектов.
В области электроники принято использовать красные провода для подключения к контактам 5 В (+) и черные — к контактам заземления (-), чтобы случайно не перепутать схему подключения. Остальные провода могут иметь любой другой цвет.
Рисунок 0.4: Положительная и отрицательная шины питания макетной платы
Эти отверстия соединены по горизонтали. Красные линии обозначают положительный контакт, а голубые — отрицательный (или заземление, как вы вскоре увидите).
Провода-перемычки
Для подключения компонентов на макетной плате вы будете использовать провода-перемычки. Они представляют собой изолированные одножильные провода с обработанными концами, что упрощает вставку и снятие проводов. Вы можете использовать и обычные провода, но убедитесь, что они одножильные, т.к. многожильный провод будет проблематично воткнуть в отверстие для зажима.
Когда вы вставляете перемычку в отверстие макетной платы, провод удерживается маленьким пружинным зажимом, образуя электрическое соединение в этом ряду, состоящее обычно из пяти отверстий. Затем вы можете установить компонент в соседнее отверстие, чтобы замкнуть цепь, как это показано на рис. 0.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, а также возникающие ошибки, если ваш скетч не компилируется должным образом.
Рисунок 0.6: Среда разработки 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 встроен резистор, которым мы и воспользуемся.
Рисунок 0.7: Сборка проекта мигающего светодиода
Выполните следующие шаги, чтобы провести тестирование:
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 и поняли принцип работы скетча и процесс его загрузки.
Теги: