Размер шрифта
-
+

Робототехника для начинающих: Arduino и Raspberry Pi - стр. 6

Программирование Arduino: от простого к сложному

Программирование на Arduino открывает широкие горизонты для создания интересных проектов. Эта глава поможет вам постепенно освоить основы программирования, начиная с простых примеров и поднимаясь к более сложным задачам. Мы рассмотрим ключевые концепции, примеры кода, структуры и методики, которые позволят вам уверенно разрабатывать собственные программы.

Основы языка программирования Arduino

Arduino использует упрощённую версию языка C/C++, что делает его доступным для новичков. Начнем с важных элементов структуры программы – функций `setup()` и `loop()`. Функция `setup()` выполняется один раз при запуске устройства, обеспечивая инициализацию переменных, конфигурацию выводов и другой начальный код. Функция `loop()` выполняется многократно и содержит основной код, который будет постоянно исполняться в цикле.

Пример кода, который заставляет светодиод мигать:

```cpp


void setup() {


..pinMode(LED_BUILTIN, OUTPUT); // Устанавливаем пин светодиода как выход


}

void loop() {


..digitalWrite(LED_BUILTIN, HIGH);..// Включаем светодиод


..delay(1000);......................// Ждем 1 секунду


..digitalWrite(LED_BUILTIN, LOW);.. // Выключаем светодиод


..delay(1000);......................// Ждем 1 секунду


}


```

Этот простой код демонстрирует основные конструкции: настройка режимов с помощью pinMode, управление выводами с помощью digitalWrite и использование функции delay для создания временных пауз.

Переменные и типы данных

Чтобы работать с программируемыми устройствами более эффективно, нужно понимать переменные и типы данных. Они используются для хранения информации, и существуют несколько основных типов, таких как `int` (целые числа), `float` (числа с плавающей запятой), `char` (символы) и `String` (строки текста).

Пример объявления переменной:

```cpp


int ledPin = 13; // Создаем переменную для пина светодиода


float temperature = 22.5; // Переменная для хранения температуры


String message = "Привет, Arduino!"; // Строка с сообщением


```

Следующий шаг – использование переменных в программе. Например, можно написать код, который будет считывать значение с аналогового пина и использовать его для управления светодиодом:

```cpp


int sensorValue = analogRead(A0); // Чтение значения с аналогового пина


digitalWrite(ledPin, sensorValue > 512 ? HIGH : LOW); // Включаем светодиод, если значение больше 512


```

Управление логикой: условия и циклы

Управление логикой – важный аспект программирования. Оператор `if` позволяет выполнять код в зависимости от условий. Также полезны циклы, которые позволяют повторять действия. На Arduino часто используются циклы `for` и `while`.

Пример условия:

```cpp


if (sensorValue > 512) {


..digitalWrite(ledPin, HIGH); // Включаем светодиод


} else {


..digitalWrite(ledPin, LOW); // Выключаем светодиод


}


```

Для циклов можно написать простой код, который мигает светодиодом определенное количество раз:

```cpp


for (int i = 0; i < 5; i++) {


..digitalWrite(ledPin, HIGH);


..delay(500);


..digitalWrite(ledPin, LOW);


..delay(500);


}


```

Работа с функциями

Функции помогают структурировать код и делают его более читаемым. Создавая собственные функции, вы можете избежать повторений и улучшить модульность кода. Например:

```cpp


void blink(int pin, int duration) {

Страница 6