Arduino — это не просто плата, а входной билет в мир встраиваемых систем (embedded). Если ты уже знаком с C/C++ или Python, освоить базу будет делом одного вечера.

1. Архитектура скетча

Любая программа в Arduino IDE состоит из двух обязательных функций:


void setup() {
  // Код выполняется ОДИН раз при запуске
  // Здесь мы инициализируем пины и периферию
}

void loop() {
  // Код выполняется циклично бесконечное количество раз
  // Здесь живет основная логика устройства
}

2. Работа с пинами (GPIO)

Для управления периферией (датчиками, моторами, светодиодами) используются три основные команды:

pinMode Устанавливает роль пина:

pinMode(pin, mode);

mode может быть INPUT, OUTPUT или INPUT_PULLUP (внутренняя подтяжка к питанию).

digitalWrite Подает на цифровой пин HIGH (5V/3.3V) или LOW (0V):

digitalWrite(pin, value); 

digitalRead Считывает состояние пина (есть напряжение или нет):

digitalRead(pin);

3. Аналоговые сигналы и ШИМ (PWM)

Хотя микроконтроллеры цифровые, они могут имитировать аналоговое напряжение с помощью ШИМ (например, для регулировки яркости или оборотов кулера 3D-принтера).

analogRead Читает напряжение (0-5V) и преобразует его в число от 0 до 1023 (10-битный АЦП):

analogRead(pin);

analogWrite Генерирует ШИМ-сигнал от 0 до 255.

analogWrite(pin, value):

4. Общение с миром (Serial)

Для отладки и связи с компьютером (или Orange Pi в проектах мониторинга) используется Serial-порт:

void setup() {
  Serial.begin(9600); // Скорость обмена
}

void loop() {
  Serial.println("Система активна"); 
  delay(1000); // Задержка в 1 секунду
}