Что такое Arduino

Маленький компьютер, который управляет вещами, а не человеком: сравнение с ESP32, Raspberry Pi и офисным ПК в цифрах и на диаграммах, что к нему подключают и что на нём делают. Три варианта текста — для младших, для тех, кто пишет на C++, и для преподавателя.

Уровень подготовки: Новичок · Средний · Преподавателю

Что такое Arduino: разбор для преподавателя

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

Термины, которые стоит развести на первом уроке

  • Микроконтроллер — микросхема, в которой объединены вычислительное ядро, ОЗУ, энергонезависимая память программ и периферия (порты ввода-вывода, АЦП, таймеры, интерфейсы). У Arduino UNO это ATmega328P фирмы Microchip (ранее Atmel), 8-разрядное ядро AVR.
  • Плата Arduino — микроконтроллер плюс обвязка: стабилизатор питания, кварцевый резонатор, преобразователь USB-UART, разъёмы. Не «Arduino внутри Arduino»: плата — это корпус, микроконтроллер — жилец.
  • Arduino как экосистема — среда разработки, библиотеки, загрузчик и соглашения о выводах. Именно поэтому фразу «мы программируем на Arduino» стоит поправлять: программируют на C++, а Arduino — это плата и среда.

Полная таблица

Arduino UNO (ATmega328P)ESP32-WROOM-32ERaspberry Pi 4 (4 ГБ)Офисный компьютер (Core i5, 6 ядер)
Тактовая частота16 МГц240 МГц1,8 ГГц4,4 ГГц
Ядер1246
Оперативная память2 КБ520 КБ4 ГБ16 ГБ
Память для программы32 КБ4 МБ32 ГБ512 ГБ
Потребление250 мВт500 мВт4 Вт100 Вт
Операционная системанетFreeRTOSLinuxWindows или Linux
Готов к работе черезсразу, доли секундыменьше секунды20–30 секунд20–40 секунд
Чем цепляется к электронике14 цифровых выводов, 6 аналоговых входовоколо 30 выводов, Wi-Fi и Bluetooth40 выводов GPIO, но АЦП нет — аналоговый датчик напрямую не подключитьвыводов для электроники нет — только через USB-переходник
Цена, ₽700–1500400–9007000–12000от 40000

Что означают колонки, если класс спросит:

  • Тактовая частота — сколько тактов в секунду делает ядро. У ATmega328P большинство команд выполняется за один-два такта, поэтому 16 МГц — это примерно 16 миллионов простых операций в секунду.
  • Оперативная память (SRAM) — то, что теряется при выключении: переменные, стек, буферы. Именно она заканчивается первой, и обычно из-за строк.
  • Память для программы — у микроконтроллера это Flash, куда записывается скомпилированный скетч (у UNO 32 КБ, около полукилобайта занимает загрузчик). Плюс 1 КБ EEPROM для настроек, которые должны пережить выключение. У компьютера в этой строке — накопитель, вещь другой природы; строки сопоставимы только по порядку величины.
  • Потребление — типичное в работе. Для батарейного питания важнее средний ток и режимы сна, в которых AVR уходит в микроамперы.

Сравнение по частоте, ядрам, оперативной и программной памяти

Потребление: Arduino — доли ватта, компьютер — сотня

Шкала логарифмическая — каждое деление в десять раз. На линейной шкале точка Arduino слилась бы с нулём: разрыв по оперативной памяти составляет 8 388 608 раз. На диаграммах намеренно точки, а не столбики: длина столбика на логарифмической шкале не пропорциональна величине, и «вдвое длиннее» означало бы не «вдвое больше», а «в сто раз больше».

Где проходят границы

Класс устройстваЧто этоКогда берут
Микроконтроллер (Arduino, ESP32, STM32)ядро + память + периферия в одной микросхеме; без настольной ОС, иногда с RTOSнужна предсказуемая реакция, малое питание, быстрый старт
Одноплатный компьютер (Raspberry Pi)полноценный ПК с Linux на одной платенужны экран, сеть, файлы, камера, тяжёлые вычисления
Промышленный контроллер (ПЛК)контроллер в защищённом корпусе, гарантированный цикл, ремонтопригодностьпроизводство: станок, конвейер, котельная
Персональный компьютеруниверсальная машина для человекаразработка, обработка данных, интерфейс оператора

Про ПЛК стоит сказать классу отдельно: это тот же по смыслу прибор, только рассчитанный на цех — питание 24 В, защита входов, работа годами без перезагрузки. Программируют его на языках стандарта МЭК 61131-3: релейная логика (LD), функциональные блоки (FBD), структурированный текст (ST). Ученику, который спросит «а где это в жизни», честный ответ такой: на производстве часто используют ПЛК, а Arduino удобна для обучения, прототипов и любительских устройств. Сравнивать их цену одной цифрой бессмысленно: ПЛК покупают вместе с защищёнными входами, сертификацией и промышленной поддержкой.

Отдельно про Raspberry Pi: у него нет АЦП. Аналоговый датчик к нему напрямую не подключается, нужна внешняя микросхема или тот же микроконтроллер рядом. Это часто оказывается сюрпризом при выборе платы под задачу.

Языки

  • C++ (диалект Wiring) — то, что называют «языком Arduino». Настоящий C++ с готовыми функциями и автоматически подставляемым каркасом.
  • Чистый C с avr-libc — когда нужно управлять регистрами напрямую. Полезно показать один раз: PORTB |= (1 << PB5) вместо digitalWrite(13, HIGH) — и объяснить, почему второе медленнее.
  • Ассемблер AVR — для считанных случаев (точные задержки), но как урок «что на самом деле делает процессор» бесценен.
  • MicroPython — работает на ESP32 и подобных; на UNO не помещается.
  • Блоки — для младших. Программа из блоков превращается в тот же C++, и переход «блоки → текст» стоит показать явно: это снимает страх перед кодом.

Рекомендация по возрасту: до 10–11 лет блоки, дальше текст. Тот же материал, разные способы записи.

Что покупать в кружок

  • Arduino UNO (оригинал или клон) — базовая плата. Клон дешевле в два-три раза и в учебных задачах неотличим; отличается качеством разъёмов и тем, что на некоторых стоит другой USB-мост (нужен драйвер CH340).
  • Набор датчиков и мелочи: макетная плата, провода-перемычки, резисторы, светодиоды, кнопки, потенциометры, пищалка, пара сервоприводов, датчик температуры, ультразвуковой дальномер.
  • На 10 учеников разумно брать 5–6 комплектов (работа парами) и один-два запасных.
  • Начать можно без железа. Лаборатория на этом сайте — та же плата и та же схема, только виртуальные: сжечь нельзя, а собрать и запрограммировать можно. Это снимает главный барьер — «а если сломают».

Типичные заблуждения (и как отвечать)

  • «Arduino — это язык программирования». Нет: это плата и среда, язык — C++.
  • «Чем больше мегагерц, тем лучше». Для задачи, где надо раз в секунду полить цветок, лишние мегагерцы — только лишний ток и цена.
  • «Arduino может всё то же, что компьютер, только медленнее». Нет: разница качественная. 2 КБ оперативной памяти — это не «мало для фотографии», это меньше одной строки текста этой статьи.
  • «Плата сгорит от любой ошибки в программе». Обычный логический баг плату не сжигает. Но программа может включить неправильно собранную силовую часть или столкнуть два соединённых выхода в разные уровни. Поэтому проверяют и схему, и то, какие режимы выводов задаёт код.
  • «Раз есть симулятор, железо не нужно». Нужно: дрожащий контакт, севшая батарейка и перепутанные провода — часть предмета. Симулятор снимает страх и экономит платы, но не отменяет паяльник.

Чем занять того, кто уже всё умеет

Прерывания и таймеры вместо delay(); шины I²C и SPI и несколько устройств на одной шине; работа с EEPROM; режимы сна и питание от батареи; ESP32 и передача данных по Wi-Fi; собственная плата в редакторе печатных плат. Хороший следующий шаг — Практика: там устройства с настоящими критериями проверки, от светофора до блока управления двигателем.

Как начать урок

Три вопроса, которые хорошо работают в начале:

  • Что общего у стиральной машины, светофора и кормушки для кота? (Внутри каждого — маленький компьютер.)
  • Почему в них не поставили обычный компьютер? (Цена, размер, питание, и он полминуты загружается.)
  • Что такой компьютер должен уметь, чего не умеет ваш ноутбук? (Мгновенно просыпаться, работать годами, напрямую управлять электричеством.)

После этого таблица выше читается уже не как список цифр, а как ответ.

← Ко всем урокам