Что такое 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-32E | Raspberry Pi 4 (4 ГБ) | Офисный компьютер (Core i5, 6 ядер) | |
|---|---|---|---|---|
| Тактовая частота | 16 МГц | 240 МГц | 1,8 ГГц | 4,4 ГГц |
| Ядер | 1 | 2 | 4 | 6 |
| Оперативная память | 2 КБ | 520 КБ | 4 ГБ | 16 ГБ |
| Память для программы | 32 КБ | 4 МБ | 32 ГБ | 512 ГБ |
| Потребление | 250 мВт | 500 мВт | 4 Вт | 100 Вт |
| Операционная система | нет | FreeRTOS | Linux | Windows или Linux |
| Готов к работе через | сразу, доли секунды | меньше секунды | 20–30 секунд | 20–40 секунд |
| Чем цепляется к электронике | 14 цифровых выводов, 6 аналоговых входов | около 30 выводов, Wi-Fi и Bluetooth | 40 выводов GPIO, но АЦП нет — аналоговый датчик напрямую не подключить | выводов для электроники нет — только через USB-переходник |
| Цена, ₽ | 700–1500 | 400–900 | 7000–12000 | от 40000 |
Что означают колонки, если класс спросит:
- Тактовая частота — сколько тактов в секунду делает ядро. У ATmega328P большинство команд выполняется за один-два такта, поэтому 16 МГц — это примерно 16 миллионов простых операций в секунду.
- Оперативная память (SRAM) — то, что теряется при выключении: переменные, стек, буферы. Именно она заканчивается первой, и обычно из-за строк.
- Память для программы — у микроконтроллера это Flash, куда записывается скомпилированный скетч (у UNO 32 КБ, около полукилобайта занимает загрузчик). Плюс 1 КБ EEPROM для настроек, которые должны пережить выключение. У компьютера в этой строке — накопитель, вещь другой природы; строки сопоставимы только по порядку величины.
- Потребление — типичное в работе. Для батарейного питания важнее средний ток и режимы сна, в которых AVR уходит в микроамперы.
Шкала логарифмическая — каждое деление в десять раз. На линейной шкале точка 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; собственная плата в редакторе печатных плат. Хороший следующий шаг — Практика: там устройства с настоящими критериями проверки, от светофора до блока управления двигателем.
Как начать урок
Три вопроса, которые хорошо работают в начале:
- Что общего у стиральной машины, светофора и кормушки для кота? (Внутри каждого — маленький компьютер.)
- Почему в них не поставили обычный компьютер? (Цена, размер, питание, и он полминуты загружается.)
- Что такой компьютер должен уметь, чего не умеет ваш ноутбук? (Мгновенно просыпаться, работать годами, напрямую управлять электричеством.)
После этого таблица выше читается уже не как список цифр, а как ответ.