Что такое Arduino
Arduino — открытая платформа для быстрого прототипирования на микроконтроллерах: плата (чаще на AVR ATmega328 — Uno/Nano) плюс простая среда и библиотеки. Её цель — снизить порог входа: не нужно вручную настраивать регистры и прошивать программатором, всё делается в пару кликов через USB-бутлоадер.
Структура программы
Программа («скетч») пишется на C++ с готовыми функциями и состоит из двух частей: setup() — однократная настройка, loop() — бесконечно повторяемый основной код.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
Функции pinMode, digitalWrite, analogRead, Serial скрывают работу с регистрами, ускоряя разработку.
Библиотеки и экосистема
Сила Arduino — в огромной библиотеке готовых модулей: дисплеи, датчики, радиомодули, двигатели — подключаются несколькими строками. Есть множество совместимых плат, в том числе на ESP32/STM32, работающих в той же среде.
Arduino и «чистый» AVR
Под капотом Arduino Uno — обычный AVR ATmega328. Всё, что делает Arduino-функция, можно написать напрямую через регистры (см. AVR на C) — это эффективнее и компактнее, но дольше. Многие начинают с Arduino ради скорости результата, а затем переходят к регистровому программированию для оптимизации.
Частые вопросы
Arduino — это язык или плата?
И то, и другое в обиходе: «Arduino» — это и семейство плат, и среда с упрощённым C++ API. Сам код компилируется тем же avr-gcc, что и обычные AVR-программы.
Можно ли программировать Arduino на чистом C?
Да. В скетч можно вставлять прямой доступ к регистрам (DDRx, PORTx) вместо digitalWrite — это быстрее и компактнее. Arduino не мешает работать с «железом» напрямую.
Итоги
Arduino — самый быстрый путь от идеи к работающему прототипу: простая среда, функции вместо регистров, богатая библиотека модулей и прошивка по USB. Под капотом — обычный AVR, поэтому по мере роста задач всегда можно перейти к эффективному регистровому программированию.
Смотрите также: AVR на C · AVR контроллеры · ШИМ · Все инструменты.