Программирование микроконтроллеров Arduino осуществляется на языке программирования C++. Этот язык является низкоуровневым, поэтому считается сложным и имеет высокий порог вхождения. Но для программирования Arduino используется упрощенная версия этого языка программирования. Так же для упрощения разработки прошивок существует множество функций, классов, методов и библиотек. Благодаря этому работать с этими микроконтроллерами очень удобно и легко. Описание большинства необходимых функций и операторов вы найдете на этой странице. Этого хватит для написания прошивок под самые разнообразные устройства на базе ардуино. Для всех функций есть небольшие примеры, показывающие как вы можете их использовать.

Операторы
Основные операторы
setup()

Функция setup() вызывается, когда скетч начинает исполняться. Используется для определения режимов работы выводов, запуска используемых библиотек и т.д. Функция setup выполняется только один раз, после каждой подачи питания или перезагрузки платы Arduino.

Код:
int buttonPin = 3;
void setup()
{
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}
void loop()
{
   // ...
}
loop()
Управляющие операторы
if
if…else
for
switch case
while
do… while
break
continue
return
goto
Синтаксис
; (точка с запятой)
{} (фигурные скобки)
// (одностроковый коментарий)
/* */ (многостроковый коментарий)
#define
#include
Арифметические операторы
= (оператор присваивания)
+ (сложение)
— (вычитание)
* (умножение)
/ (деление)
% (остаток от деления)
Операторы сравнения
== (равно)
!= (не равно)
< (меньше чем)
> (больше чем)
<= (меньше или равно)
>= (больше или равно)
Логические операторы
&& (И)
|| (ИЛИ)
! (НЕ)
Указатели доступа
* указатель
& ссылка
Битовые операторы
& (побитовое И)
| (побитовое ИЛИ)
^ (побитовое XOR или исключающее ИЛИ)
~ (побитовое НЕ)
<< (побитовый сдвиг влево)
>> (побитовый сдвиг вправо)
Составные операторы
++ (инкремент)
— (декремент)
+= (составное сложение)
-= (составное вычитание)
*= (составное умножение)
/= (составное деление)
&= (составное побитовое И)
|= (составное побитовое ИЛИ)
Данные
Константы
HIGH | LOW
INPUT | OUTPUT| INPUT_PULLUP
true | false
целочисленные константы
константы с плавающей точкой
Типы данных
void
boolean
char
unsigned char
byte
int
unsigned int
word
long
unsigned long
short
float
double
string — массив символов
массивы
Преобразование типов
char()
byte()
int()
word()
long()
float()
Область видимости переменной и спецификаторы
Область видимости переменной
static
volatile
const
Вспомогательная функция
sizeof()
Функции
Цифровой ввод/вывод
pinMode()
digitalWrite()
digitalRead()
Аналоговый ввод/вывод
analogReference()
analogRead()
analogWrite() — PWM
Расширенный ввод/вывод
tone()
noTone()
shiftOut()
shiftIn()
pulseIn()
Время
millis()
micros()
delay()
delayMicroseconds()
Математические вычисления
min()
max()
abs()
constrain()
map()
pow()
sqrt()
sq()
Тригонометрия
sin()
cos()
tan()
Случайные числа
randomSeed()
random()
Биты и байты
lowByte()
highByte()
bitRead()
bitWrite()
bitSet()
bitClear()
bit()
Прерывания
interrupts()
noInterrupts()
Внешние прерывания
attachInterrupt()
detachInterrupt()