Краткая шпаргалка

Эта страница нужна как быстрый справочник по материалам раздела. За подробностями лучше возвращаться к соответствующим статьям и официальной документации Arduino.
Где искать справку
| Ресурс | Чем полезен | Как использовать в разделе |
|---|---|---|
| Arduino Docs | официальный справочник языка и функций Arduino | проверять синтаксис, параметры и особенности плат |
| Arduino.ru | русскоязычный справочник базовых команд | быстро вспомнить назначение команды |
| Амперка Вики | практические статьи по модулям и подключению | сверять схемы и примеры с реальными устройствами |
| AlexGyver | практические уроки и прикладные приёмы | брать идеи проектов и сравнивать реализации |
| iarduino | материалы по датчикам, модулям и библиотекам | смотреть примеры для конкретных модулей |
Основные команды
| Команда | Минимальный пример | Для чего |
|---|---|---|
void setup() | void setup() { } | код однократной настройки |
void loop() | void loop() { } | повторяющийся код программы |
pinMode() | pinMode(13, OUTPUT); | выбрать режим цифрового пина |
digitalWrite() | digitalWrite(13, HIGH); | установить HIGH или LOW на выходе |
digitalRead() | int x = digitalRead(7); | прочитать цифровой вход |
analogRead() | int x = analogRead(A0); | прочитать код АЦП |
analogWrite() | analogWrite(9, 120); | задать PWM-команду на подходящем пине |
delay() | delay(1000); | остановить выполнение на время в миллисекундах |
millis() | unsigned long t = millis(); | узнать время с момента запуска |
Serial.begin() | Serial.begin(9600); | запустить обмен с Serial Monitor |
Serial.print() | Serial.print("x="); | вывести без обязательного переноса строки |
Serial.println() | Serial.println(x); | вывести и закончить строку |
Serial.available() | if (Serial.available() > 0) { } | проверить, пришли ли данные |
Serial.read() | int b = Serial.read(); | прочитать один байт из Serial |
map() | int y = map(x, 0, 1023, 0, 255); | линейно пересчитать диапазон |
constrain() | x = constrain(x, 0, 1023); | ограничить значение сверху и снизу |
tone() | tone(8, 1000); | включить простой звуковой сигнал |
noTone() | noTone(8); | выключить сигнал tone() |
attachInterrupt() | attachInterrupt(digitalPinToInterrupt(2), onPulse, RISING); | вызвать обработчик по внешнему событию |
Wire.begin() | Wire.begin(); | запустить I2C |
Wire.requestFrom() | Wire.requestFrom(0x27, 1); | запросить байты у I2C-устройства |
Wire.write() | Wire.write(value); | отправить байт в I2C |
Wire.read() | int b = Wire.read(); | прочитать байт из I2C |
SPI.begin() | SPI.begin(); | запустить SPI |
SPI.transfer() | byte r = SPI.transfer(0x00); | передать и принять байт SPI |
Частые шаблоны
| Задача | Пример |
|---|---|
| мигание LED | digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); |
| чтение кнопки с подтяжкой | bool pressed = digitalRead(7) == LOW; |
| чтение датчика | int raw = analogRead(A0); |
| перевод АЦП в PWM | int pwm = map(raw, 0, 1023, 0, 255); |
| ограничение команды | pwm = constrain(pwm, 0, 255); |
| вывод пары имя-значение | Serial.print("raw="); Serial.println(raw); |
проверка интервала без delay() | if (millis() - previousMs >= intervalMs) { previousMs = millis(); } |
Типы данных Arduino UNO

| Тип | Диапазон на Arduino UNO | Типичное применение |
|---|---|---|
bool | false или true | логическое состояние |
byte | от 0 до 255 | байт, маленький счётчик, PWM-значение |
char | от -128 до 127 | символ или маленькое число |
int | от -32768 до 32767 | обычные целые числа |
unsigned int | от 0 до 65535 | неотрицательный счётчик |
long | от -2147483648 до 2147483647 | большой счётчик со знаком |
unsigned long | от 0 до 4294967295 | время millis() |
float | примерно от -3.4E38 до 3.4E38 | дробные значения с ограниченной точностью |
double | как float на Arduino UNO | совместимость с кодом, где ожидают double |
Практика
По таблицам на этой странице составьте фрагмент loop(), который раз в 500 мс читает A0, переводит диапазон 0…1023 в 0…255, ограничивает результат и выводит обе величины в Serial Monitor. Затем найдите в подробных статьях объяснение каждой использованной функции.
Результат готов, если код компилируется для Arduino Uno, для времени используется unsigned long, а ссылки ведут к статьям про analogRead, Serial и работу без блокирующего delay().
Проверьте себя
- Почему эта шпаргалка не заменяет описание функции в официальном справочнике?
- Почему значение
millis()хранят вunsigned long? - Чем
analogRead()отличается отanalogWrite()на Arduino Uno? - Зачем после
map()иногда используютconstrain()?
Сначала ответьте без подсказки. Ответ можно считать полным, если вы:
- формулируете основную мысль своими словами;
- называете важные условия, ограничения или меры безопасности;
- для схемы, кода или расчёта показываете ход решения и ожидаемый результат.
Если один из пунктов объяснить не получается, найдите соответствующую главу статьи, перечитайте её и повторите ответ.
Словарь статьи
- Справочник — краткое описание синтаксиса и назначения команд.
- Тип данных — правило хранения значения и допустимый диапазон.
- PWM — импульсное управление средней мощностью через быстрое переключение выхода.
- Serial Monitor — окно обмена текстовыми данными между платой и компьютером.