Как подключить Arduino: плату к компьютеру и всё остальное к плате
Под словами «подключить Arduino» люди имеют в виду две разные вещи. Первая — заставить компьютер увидеть плату и залить в неё программу. Вторая — подключить к плате датчик, дисплей или мотор так, чтобы всё заработало и ничего не сгорело. Эта страница про обе, по порядку: сначала плата оживает, потом к ней подключается всё остальное.
Главная мысль, ради которой стоит дочитать: подключение любого модуля к Arduino подчиняется одному правилу из трёх проводов. Выучив его один раз, вы читаете схему любого компонента без объяснений.
Шаг первый: плата и компьютер
Никаких драйверов заранее, никаких настроек. Порядок такой:
- 1
Поставьте Arduino IDE
Среда бесплатная, скачивается с arduino.cc. Какую версию брать и как русифицировать — на отдельной странице. Для UNO и Nano достаточно версии 1.8.
- 2
Подключите плату кабелем
На плате загорится светодиод питания. Если не загорелся — кабель только для зарядки, в нём нет линий данных. Это самая частая причина, по которой «плата не работает» в первые пять минут.
- 3
Выберите плату и порт
Меню «Инструменты → Плата» и «Инструменты → Порт». Если порт не появился — на клоне стоит микросхема CH340, и ей нужен драйвер. Разбор всех причин, почему порта нет.
- 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Четыре провода: питание, земля, SDA на A4, SCL на A5. Несколько модулей вешаются на те же два вывода.
Пример: OLED SSD1306Питание, земля и четыре линии на выводы 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Язык, структура скетча, десять команд, которых хватает на первые проекты
Моторы, реле и свет: как управлять нагрузкойПочему мотор нельзя вешать на вывод платы и чем транзистор отличается от реле
I2C, SPI и UARTЧем отличаются три интерфейса, на каких выводах живут и как подключить модуль
Питание ArduinoОт USB, от батарейки, от блока: сколько вольт, сколько ампер и что сгорит первым
Конденсатор в схемеКак обозначается, что делает и куда его ставят: по питанию, против дребезга, в фильтр
Мелодия на зуммереФункция tone и noTone, частоты нот, массив мелодии и почему ноты сливаются в писк
Что дальше
- Распиновка Arduino UNO — каждый вывод по имени
- Компоненты: схема, библиотека и скетч для каждой детали
- Плата не прошивается: порт, драйвер, ошибки
Каждый скетч на сайте проверен реальной компиляцией под Arduino UNO