ELECTRONICS

Как подключить Arduino: плату к компьютеру и всё остальное к плате

Под словами «подключить Arduino» люди имеют в виду две разные вещи. Первая — заставить компьютер увидеть плату и залить в неё программу. Вторая — подключить к плате датчик, дисплей или мотор так, чтобы всё заработало и ничего не сгорело. Эта страница про обе, по порядку: сначала плата оживает, потом к ней подключается всё остальное.

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

Шаг первый: плата и компьютер

Никаких драйверов заранее, никаких настроек. Порядок такой:

  1. 1

    Поставьте Arduino IDE

    Среда бесплатная, скачивается с arduino.cc. Какую версию брать и как русифицировать — на отдельной странице. Для UNO и Nano достаточно версии 1.8.

  2. 2

    Подключите плату кабелем

    На плате загорится светодиод питания. Если не загорелся — кабель только для зарядки, в нём нет линий данных. Это самая частая причина, по которой «плата не работает» в первые пять минут.

  3. 3

    Выберите плату и порт

    Меню «Инструменты → Плата» и «Инструменты → Порт». Если порт не появился — на клоне стоит микросхема CH340, и ей нужен драйвер. Разбор всех причин, почему порта нет.

  4. 4

    Залейте первый скетч

    Скетч ниже, или «Файл → Примеры → 01.Basics → Blink». Кнопка со стрелкой вправо — загрузка. Замигал светодиод на плате — всё, компьютер и плата друг друга видят.

// Светодиод на выводе 13 мигает раз в секунду
void setup() {
  pinMode(13, OUTPUT);      // вывод 13 работает на выход
}

void loop() {
  digitalWrite(13, HIGH);   // 5 В на выводе — светодиод горит
  delay(500);               // ждём полсекунды
  digitalWrite(13, LOW);    // 0 В — светодиод гаснет
  delay(500);
}
Запустить в симулятореСхема с этим скетчем — запустить в браузере

На UNO, Nano и Mega к выводу 13 уже припаян светодиод, поэтому скетч работает без единого провода. Что означает каждая строка — в разборе структуры скетча.

Шаг второй: что за выводы на плате

Гребёнки по краям платы — это и есть всё, с чем вы будете работать. Выводов много, но типов всего четыре.

Питание: 5V, 3.3V, GND, VIN

5V и 3.3V — отсюда плата питает подключённые модули. GND — земля, их несколько, и все они одно и то же. VIN — наоборот, вход: сюда подают 7–12 В от внешнего источника. Сколько плата может отдать и откуда её саму питать — страница про питание.

Цифровые: 0–13

Понимают только два состояния: 5 В или 0 В. На выход — зажечь светодиод, щёлкнуть реле. На вход — узнать, нажата ли кнопка. Выводы с волнистой чертой (~3, ~5, ~6, ~9, ~10, ~11) умеют ШИМ — быстро мигать так, что это выглядит как плавная яркость или скорость мотора.

Аналоговые: A0–A5

Измеряют напряжение от 0 до 5 В и переводят его в число от 0 до 1023. Сюда подключаются датчики, у которых сигнал плавный: потенциометр, фоторезистор, термистор. Работать цифровыми выводами они тоже умеют.

Интерфейсные: те же выводы, но с ролью

A4 и A5 — это ещё и I2C. 10–13 — ещё и SPI. 0 и 1 — UART, по которому плата общается с компьютером, поэтому их лучше не занимать. Где какой интерфейс на каждой плате — в распиновках, чем они отличаются — на странице про интерфейсы.

Правило трёх проводов

Почти любой модуль для Arduino подключается одинаково: питание, земля и сигнал. Питание берём с 5V или 3.3V — смотрите, что написано на модуле. Землю — с любого GND. Сигнал — на вывод, который назначите в коде: цифровой для кнопок и цифровых датчиков, аналоговый для плавных, с ШИМ для всего, что должно менять яркость или скорость.

У интерфейсных модулей сигнальных проводов два или четыре, а у самых простых деталей — кнопки, светодиода — питание не нужно вовсе. Но логика та же: цепь начинается на выводе платы и обязана замкнуться на её землю.

Самая первая схема, которую собирает каждый. Наведите на провод — он объяснит, зачем нужен.

Наведите на провод или нажмите на него — расскажу, зачем он нужен.
Запустить в симулятореЭта схема со скетчем — запустить в браузере

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

Что к чему подключается

Восемь классов, которые покрывают почти всё, что продаётся под словом «модуль для Arduino». У каждого — ссылка на страницу с интерактивной схемой и проверенным скетчем.

Кнопка, геркон, концевик

Два провода: цифровой вывод и земля. Подтяжка включается в коде, резистор не нужен.

Пример: Тактовая кнопка
Светодиод

Цифровой вывод через резистор 220 Ом на анод, катод на землю. Яркость — на выводе с ШИМ.

Пример: RGB-светодиод
Аналоговый датчик

Питание, земля и сигнал на вывод A0–A5. Плата читает напряжение числом от 0 до 1023.

Пример: Фоторезистор
Цифровой датчик

Те же три провода, но сигнал идёт на цифровой вывод, а разбирает его библиотека.

Пример: DHT22
Модуль с I2C

Четыре провода: питание, земля, SDA на A4, SCL на A5. Несколько модулей вешаются на те же два вывода.

Пример: OLED SSD1306
Модуль с SPI

Питание, земля и четыре линии на выводы 10–13. Быстрее I2C, но проводов больше.

Пример: TFT ILI9341
Сервопривод

Питание, земля, сигнал на вывод с ШИМ. Под нагрузкой — питание от отдельного источника.

Пример: Сервопривод SG90
Мотор, лампа, реле

Никогда напрямую. Только через транзистор, драйвер или модуль реле — вывод платы даёт 20 мА.

Пример: Модуль реле

Все схемы сайта разом, с описанием, чему каждая учит, — на странице «Что можно собрать». Полный справочник по деталям — в разделе компонентов.

На чём попадаются

Нет общей земли

Модуль питается от своего источника, сигнал идёт на плату, а земли не соединены. Сигналу не с чем сравниваться, и плата читает случайные числа. Правило: все земли в схеме соединяются между собой, всегда.

5 вольт на вывод платы с 3,3-вольтовой логикой

ESP32, ESP8266 и часть модулей работают от 3,3 В. Датчик, выдающий 5 В на сигнальном проводе, для такого вывода — перегрузка. Иногда выдерживает, иногда нет. Между ними ставят делитель напряжения или преобразователь уровней.

Мотор прямо на вывод

Вывод Arduino отдаёт 20 мА и рассчитан на 40. Даже маленький моторчик просит 200. Итог — сгоревший вывод, а бывает, и вся плата. Всё, что крутится, греется или ярко светит, подключается через ключ.

RX в RX, TX в TX

Интуиция говорит соединять одинаковые надписи, а надо крест-накрест: то, что один передаёт, другой принимает. Касается всех модулей с UART — Bluetooth, GPS, GSM.

Светодиод без резистора

Загорится ярко, проживёт недолго. Резистор 220 Ом решает вопрос; точный номинал под любой светодиод считает калькулятор.

Разобраться глубже

Схемы для Arduino: что можно собрать

Все схемы сайта в одном месте: от кнопки и светодиода до метеостанции и кодового замка

Программирование Arduino

Язык, структура скетча, десять команд, которых хватает на первые проекты

Моторы, реле и свет: как управлять нагрузкой

Почему мотор нельзя вешать на вывод платы и чем транзистор отличается от реле

I2C, SPI и UART

Чем отличаются три интерфейса, на каких выводах живут и как подключить модуль

Питание Arduino

От USB, от батарейки, от блока: сколько вольт, сколько ампер и что сгорит первым

Конденсатор в схеме

Как обозначается, что делает и куда его ставят: по питанию, против дребезга, в фильтр

Мелодия на зуммере

Функция tone и noTone, частоты нот, массив мелодии и почему ноты сливаются в писк

Что дальше

Каждый скетч на сайте проверен реальной компиляцией под Arduino UNO