Эксперимент 9. Монитор порта

“Монитором порта” – небольшая утилита, входящая в состав Arduino IDE. Она предназначена для обмена данными с помощью последовательного порта. Так как в Arduino IDE нет встроенных средств для отладки прошивок, монитор порта является единственным доступным для этого средством.
Запустить данную утилиту можно несколькими способами:

  • через меню Инструменты>Монитор порта
  • сочетанием клавиш Ctrl+Shift+M
  • либо кнопкой на панели быстрого доступа

Рисунок 1. Монитор порта Arduino IDE

  • в верхней части окна находится поле ввода, для отправки данных в последовательный порт;
  • в центральной части отображаются данные, полученные из последовательного порта;
  • в нижней части расположено меню настроек.

Давайте используя предыдущий эксперимент выведем данные аналогового сигнала в монитор порта.

Схема эксперимента

Рисунок 1. Электрическая принципиальная схема эксперимента

Рисунок 2. Монтажная схема эксперимента

Программный код эксперимента

Exp8
  1. const int analogPin = A0;//константа с номером пина для переменного резистора
  2. const int ledPin = 3;//константа с номером пина(ШИМ) для светодиода
  3. int inputValue = 0;//значение считанного аналогового сигнала
  4. int outputValue = 0;//коэффициент заполнения ШИМ сигнала
  5.  
  6. void setup() {
  7. Serial.begin(9600);//открываем последовательный порт со скоростью 9600 бод/с
  8. }
  9.  
  10. void loop() {
  11. inputValue = analogRead(analogPin);//считываем аналоговый сигнал и записываем его в переменную
  12. Serial.print("Аналоговый сигнал ");//подпись данных
  13. Serial.println(inputValue);//выводим значение переменной **inputValue** в монитор порта
  14. outputValue = map(inputValue,0,1023,0,255);//преобразуем считанные данные из интервала 0-1023 пропорционально в интервал 0 to 255
  15. analogWrite(ledPin,outputValue);//формируем ШИМ сигнал в соответствии с конвертированными данными
  16. }

Для вывода данных необходимо немного дополнить программу.
В блоке функции setup(), вызываем метод begin класса Serial и указать скорость соединения:
Serial.begin(9600);
И в блоке функции loop() вызываем метод print() для вывода текста и метод для вывода данных println(), в качестве аргумента указываем переменную inputValue, в которую записывается значение считанного сигнала с пина A0:
Serial.println(inputValue);

Дополнительное задание

Измените программу так, чтобы в монитор порта также выводилось значение ШИМ сигнала