void setup() {
Serial.begin(9600); // Инициализация на скорости 9600 бод
}
Отправка чисел:
void setup() {
Serial.begin(9600);
}
void loop() {
int number = 123;
// Базовый вывод числа
Serial.print(number); // выведет "123"
// Вывод в разных системах счисления
Serial.print(number, DEC); // десятичная система
Serial.print(number, HEX); // шестнадцатеричная
Serial.print(number, OCT); // восьмеричная
Serial.print(number, BIN); // двоичная
delay(1000);
}
void setup() {
Serial.begin(9600);
}
void loop() {
float pi = 3.14159265;
// Базовый вывод
Serial.print(pi); // выведет "3.14"
// Указание количества знаков после запятой
Serial.print(pi, 2); // выведет "3.14"
Serial.print(pi, 4); // выведет "3.1416"
delay(1000);
}
Serial.print('A'); // Отправка символа A
Serial.print('1'); // Отправка символа 1
Serial.print('*'); // Отправка символа *
Serial.print('65'); // Выведет букву A (ASCII код 65)
Serial.print(65); // Выведет число 65
Serial.print("Hello"); // Отправка строки Hello
Serial.print("123"); // Отправка строки 123
void setup() {
Serial.begin(9600);
}
void loop() {
// Отправка отдельных символов
Serial.print('H');
Serial.print('e');
Serial.print('l');
Serial.print('l');
Serial.print('o');
// Отправка строки
Serial.print(" World");
delay(1000);
}
void setup() {
Serial.begin(9600);
}
void loop() {
// Массив символов
char letters[] = {'A', 'B', 'C'};
Serial.print(letters);
// Массив чисел
int numbers[] = {1, 2, 3, 4, 5};
for(int i = 0; i < 5; i++) {
Serial.print(numbers[i]);
Serial.print(" ");
}
// Массив строк
String names[] = {"Анна", "Борис", "Виктор"};
for(String name : names) {
Serial.println(name);
}
delay(1000);
}
Serial.write(val); // отправка одного байта
Serial.write(str); // отправка строки
Serial.write(buf, len); // отправка массива байтов
для int
void setup() {
Serial.begin(9600);
int number = 45;
Serial.write(number); // отправит байт со значением 45
}
для byte
void setup() {
Serial.begin(9600);
byte b = 65; // ASCII код буквы A
Serial.write(b); // выведет букву A
}
для char
void setup() {
Serial.begin(9600);
char c = 'A';
Serial.write(c); // отправит байт 65
}
для sting
void setup() {
Serial.begin(9600);
String str = "Hello";
Serial.write(str); // отправит строку как последовательность байтов
}
для массива
void setup() {
Serial.begin(9600);
byte buffer[] = {72, 101, 108, 108, 111};
Serial.write(buffer, 5); // отправит массив из 5 байтов
}
Базовые примеры конкатенации
void setup() {
Serial.begin(9600);
// Пример 1: простая конкатенация строк
String str1 = "Привет";
String str2 = "мир";
String result = str1 + " " + str2;
Serial.println(result); // Выведет: "Привет мир"
// Пример 2: конкатенация с числом
int number = 2025;
String yearStr = "Год: " + String(number);
Serial.println(yearStr); // Выведет: "Год: 2025"
}
void loop() {
// Пример 3: динамическая конкатенация
int sensorValue = analogRead(A0);
String sensorData = "Значение датчика: " + String(sensorValue);
Serial.println(sensorData);
delay(1000);
}
Примеры с разными типами данных
void setup() {
Serial.begin(9600);
// Конкатенация char и String
char letter = 'A';
String message = "Буква: " + String(letter);
Serial.println(message); // Выведет: "Буква: A"
// Конкатенация нескольких типов
float temp = 23.5;
String tempStr = "Температура: " + String(temp) + "°C";
Serial.println(tempStr); // Выведет: "Температура: 23.5°C"
}
Сложная конкатенация
void setup() {
Serial.begin(9600);
// Пример с массивом
char name[] = "Arduino";
int id = 123;
String deviceInfo = String(name) + " ID: " + String(id);
Serial.println(deviceInfo); // Выведет: "Arduino ID: 123"
// Пример с форматированием
int hour = 14;
int minute = 30;
String time = String(hour) + ":" + String(minute);
Serial.println("Текущее время: " + time); // Выведет: "Текущее время: 14:30"
}
Неоптимизированный вывод (лишние объекты String:)
void loop() {
int value1 = 42;
int value2 = 24;
// Создание промежуточных String объектов
String value1Str = String(value1);
String value2Str = String(value2);
String comma = ", ";
String result = "Значения: " + value1Str + comma + value2Str;
// Вывод через один Serial.println
Serial.println(result);
delay(1000);
}
Оптимизированный вывод
void loop() {
// Оптимизированный вывод без создания лишних объектов
int value1 = 42;
int value2 = 24;
Serial.print("Значения: ");
Serial.print(value1);
Serial.print(", ");
Serial.print(value2);
delay(1000);
}
Оптимизированный вывод с "ассоциацией" расположения строк в порте вывода
Оптимизированный вывод
void loop() {
// Оптимизированный вывод без создания лишних объектов
int value1 = 42;
int value2 = 24;
Serial.print("Значения: "); Serial.print(value1); Serial.print(", "); Serial.print(value2);
delay(1000);
}
ЗАДАНИЕ
Научиться выполнять арифметические вычисления с различными типами данных в Arduino и формировать информативный вывод результатов.Вариант | Пример 1 (целые числа) | Пример 2 (целые и вещественные) |
---|---|---|
1 | Переменные: a = 12, b = 5, c = 3 Выражение: a * b - c / 2 | Переменные: x = 4.5, y = 6, z = 2.75 Выражение: x + y * z - x / 2 |
2 | Переменные: m = 20, n = 8, k = 4 Выражение: m / n + k * 3 | Переменные: p = 7.2, q = 5, r = 1.5 Выражение: p * q - r / 2 + p |
3 | Переменные: x1 = 15, y1 = 9, z1 = 6 Выражение: x1 - y1 / z1 | Переменные: a1 = 3.14, b1 = 4, c1 = 2.5 Выражение: a1 * b1 + c1 / 2 |
4 | Переменные: s = 30, t = 10, u = 5 Выражение: s / t * u | Переменные: v = 6.25, w = 8, x = 1.2 Выражение: v + w * x - v / 2 |
5 | Переменные: p1 = 25, q1 = 5, r1 = 2 Выражение: p1 / q1 + r1 * 3 | Переменные: s1 = 5.5, t1 = 7, u1 = 3.25 Выражение: s1 * t1 - u1 / 2 |
6 | Переменные: a2 = 18, b2 = 6, c2 = 4 Выражение: a2 / b2 * c2 | Переменные: d = 4.8, e = 9, f = 2.1 Выражение: d + e * f - d / 2 |
7 | Переменные: x3 = 24, y3 = 8, z3 = 3 Выражение: x3 / y3 + z3 * 2 | Переменные: a3 = 6.7, b3 = 5, c3 = 1.5 Выражение: a3 * b3 - c3 / 2 |
8 | Переменные: w1 = 16, x1 = 4, y1 = 7 Выражение: w1 / x1 + y1 | Переменные: z1 = 8.4, a1 = 3, b1 = 2.2 Выражение: z1 * a1 - b1 / 2 |
9 | Переменные: a4 = 14, b4 = 7, c4 = 2 Выражение: a4 * b4 / c4 | Переменные: x4 = 5.6, y4 = 4, z4 = 1.8 Выражение: x4 + y4 * z4 |
10 | Переменные: m2 = 22, n2 = 11, k2 = 3 Выражение: m2 / n2 * k2 | Переменные: p2 = 9.1, q2 = 6, r2 = 2.4 Выражение: p2 - q2 * r2 / 2 |