Набор
функций
Serial служит
для связи устройства
Ардуино
с ПК
или другими устройствами, поддерживающими
последовательный интерфейс обмена
данными. Все
платы
Arduino
имеют хотя бы один
последовательный порт
(UART).
Для обмена данными
Serial
используют
цифровые порты ввод/вывода
0
(RX)
и 1
(TX)
,
а также USB порт. Важно учитывать, что
если вы используете функции
Serial,
то
нельзя
одновременно с этим использовать
пины
0 и 1
для других целей.
Среда
разработки
Arduino
IDE
имеет
встроенный монитор
порта.
Для начала обмена данными необходимо
запустить монитор нажатием кнопки
«
Монитор
порта
»
и
выставить
ту же скорость
связи, с которой вызвана функция begin().
Основные
функции
Serial
-
begin()
-
end()
-
available()
-
read()
-
flush()
-
print()
-
println()
-
write()
-
peek()
В
нашем примере мы рассмотрим только
часть функция Serial.
Serial.write()
–
записывает в порт данные в двоичном
виде.
Serial.print()
-
может
иметь много значений, но все они служат
для вывода информации в удобной для
человека форме. Например, если информация,
указанная как параметр для передачи,
выделена кавычками – терминальная
программа выведет ее без изменения.
Если вы хотите вывести какое-либо
значение в определенной системе
исчисления, то необходимо добавить
служебное слово:
BIN-двоичная,
OCT
– восьмеричная, DEC
– десятичная, HEX
– шестнадцатеричная. Например:
Serial.print(25,HEX).
Serial.println()
делает
то же, что и
Serial.print(),
но еще переводит строку после вывода
информации.
SerialEvent()
Автоматически вызывается при поступлении
новых данных.
Serial.begin() Инициирует последовательное соединение
и задает скорость передачи данных вбит/c (бод). Для обмена данными с
компьютером используйте следующие
значения: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800,
38400, 57600 или 115200.
Первое
что мы с вами сделаем это будем управлять
встроенным светодиодом на плату Arduino
который подключен к 13 пину.
int LED = 13;
int val = 0;
void setup() {
Serial.begin(9600); //Инициирует последовательное
//соединение и задает скорость передачи данных в бит/c (бод)
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
}
void loop() {
if (Serial.available() > 0) // пришли данные
{
val = Serial.read();
if (val=='1') // если 1 то включаем светодиод
digitalWrite(LED,HIGH);
if (val=='0') // если 0 то выключаем светодиод
digitalWrite(LED,LOW);
}
}
В
монитор порта ни какой информации не
возвращается. Также можно вывести в
монитор порта информацию полученную
от Arduino.
При
включении светодиода выведем: «
Светодиод
вкл
.». И также выведем слово
«
Portal-Pk.ru», с переносом строки. Чтобы
следующая запись выводилась строчкой
ниже.
При
выключении светодиода выведем: «Светодиод
выкл.». И также выведем слово «Portal-Pk.ru»
с переносом строки.
int LED = 13;
int val = 0;
void setup() {
Serial.begin(9600); //Инициирует последовательное
//соединение и задает скорость передачи данных в бит/c (бод)
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
}
void loop() {
if (Serial.available() > 0) // пришли данные
{
val = Serial.read();
if (val=='1') // если 1 то включаем светодиод
{
digitalWrite(LED,HIGH);
Serial.print("Светодиод вкл. "); // вывод данных
Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки
}
if (val=='0') // если 0 то выключаем светодиод
{
digitalWrite(LED,LOW);
Serial.print("Светодиод выкл. "); // вывод данных
Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки
}
}
}
Данный
инструмент помогает при отладки
программы
. В монитор порта модно
вывести состояние оборудования, на
коком этапе выводит ошибку и пр.
Смотрите также: Уроки Arduino: Подключение датчиков и модулей к Arduino
Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Спасибо за внимание!
Понравилась статья? Поделитесь ею с друзьями:
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.