В этом уроке мы познакомимся со встроенной в Arduino IDE утилитой — монитором последовательного интерфейса. Это удобный для работы инструмент.
Необходимые компоненты
qПлата для прототипирования;
qArduino Nano.
Практическое задание
Рассмотрим взаимодействие контроллера ArduinoNano с портом.
- Сначала напишем простой скетч, который будет записывать в порт фразу с заданной периодичностью (листинг У3.1).
Листинг У3.1
void setup () { // Функция setup () вызывается
// при старте программы
Serial.begin(9600); // Инициализируем, чтобы открыть порт.
// (9600)- это скорость работы
// порта 9600 битов (бод)
}
void loop(){ //Функция loop () — это основной цикл программы
Serial.println("Ardino Nano"); //Печатает данные в порт
delay(1000);//Задержка 1 секунда
}
- Загрузим этот скетч в контроллер (Файл | Загрузить).
- 3.Для начала обмена данными необходимо открыть монитор, выбрав в меню команду Сервис| Монитор порта (рис. У3.1).
Рис. У3.1. Открытие монитора порта
- Мы видим, что контроллер непрерывно пересылает нашу фразу в порт (рис. У3.2)
Рис. У3.2. Пересылка данных в порт
Теперь наладим обратную связь. Мы будем пересылать команду посредством порта Arduino, чтобы она включала и выключала встроенный на плате светодиод.
- Для этого напишем следующий скетч (листинг У3.2).
Листинг У3.2
int outputPin = 13; // здесь храним номер контакта
int val; // здесь будет храниться принятый символ
void setup()
{
Serial.begin(9600); // установка порта на
// скорость 9600 бит/сек
pinMode(outputPin, OUTPUT); // устанавливаем 13-й контакт
// в режим вывода
}
void loop()
{
if (Serial.available()) { // если есть принятый символ,
val = Serial.read(); // то читаем его и сохраняем в val
if (val == 'H') { // если принят симовол 'H',...
digitalWrite(outputPin, HIGH); // то включаем светодиод
}
if (val == 'L') { // если принят симовол 'L',
digitalWrite(outputPin, LOW); // то выключаем светодиод
}
}
}
- Загрузим скетч У3.2 в контроллер (Файл | Загрузить).
- Теперь необходимо открыть монитор порта и отправлять из него на Arduinoсимволы H и L. То есть, вводим в поле ввода символы H или L и нажимаем кнопку Послать (рис. У3.3). Пересылая с компьютера в порт Arduino команды, мы управляем встроенным светодиодом (рис. У4.4).
Рис. У3.3. Пересылка на Arduinoсимвола H
Рис. У3.4. Управление встроенным светодиодом: а — диод включен (принят символ H); б — диод выключен (принят символ L)