| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| products:aruno:exp9 [2020/05/29 10:03] – alexnik | products:aruno:exp9 [2020/05/29 12:03] (текущий) – alexnik |
|---|
| |
| **“Монитором порта”** – небольшая утилита, входящая в состав Arduino IDE. Она предназначена для обмена данными с помощью последовательного порта. Так как в Arduino IDE нет встроенных средств для отладки прошивок, монитор порта является единственным доступным для этого средством.\\ | **“Монитором порта”** – небольшая утилита, входящая в состав Arduino IDE. Она предназначена для обмена данными с помощью последовательного порта. Так как в Arduino IDE нет встроенных средств для отладки прошивок, монитор порта является единственным доступным для этого средством.\\ |
| | Запустить данную утилиту можно несколькими способами: |
| | * через меню **Инструменты>Монитор порта** |
| | * сочетанием клавиш **Ctrl+Shift+M** |
| | * либо кнопкой на панели быстрого доступа |
| | {{ :products:ardu:monitorport.png?direct |}} |
| | Рисунок 1. Монитор порта Arduino IDE\\ |
| | * в верхней части окна находится поле ввода, для отправки данных в последовательный порт; |
| | * в центральной части отображаются данные, полученные из последовательного порта; |
| | * в нижней части расположено меню настроек. |
| |
| Давайте на примере предыдущего эксперимента посмотрим, как это работает. | Давайте используя предыдущий эксперимент выведем данные аналогового сигнала в монитор порта. |
| ==== Схема эксперимента ==== | ==== Схема эксперимента ==== |
| {{ :products:ardu:adcexp_sch.png?nolink |}} | {{ :products:ardu:adcexp_sch.png?nolink |}} |
| //Рисунок 1. Электрическая принципиальная схема эксперимента// | //Рисунок 1. Электрическая принципиальная схема эксперимента// |
| |
| {{ :products:ardu:exp05.png?direct&400 |}} | {{ :products:ardu:exp05.png?direct&600 |}} |
| //Рисунок 2. Монтажная схема эксперимента// | //Рисунок 2. Монтажная схема эксперимента// |
| |
| |
| void setup() { | void setup() { |
| Serial.begin(9600);// | Serial.begin(9600);//открываем последовательный порт со скоростью 9600 бод/с |
| } | } |
| |
| void loop() { | void loop() { |
| inputValue = analogRead(analogPin);//считываем аналоговый сигнал и записываем его в переменную | inputValue = analogRead(analogPin);//считываем аналоговый сигнал и записываем его в переменную |
| Serial.println(inputValue);//выводим значение переменной **inputValue** на монитор порта | Serial.print("Аналоговый сигнал ");//подпись данных |
| | Serial.println(inputValue);//выводим значение переменной **inputValue** в монитор порта |
| outputValue = map(inputValue,0,1023,0,255);//преобразуем считанные данные из интервала 0-1023 пропорционально в интервал 0 to 255 | outputValue = map(inputValue,0,1023,0,255);//преобразуем считанные данные из интервала 0-1023 пропорционально в интервал 0 to 255 |
| analogWrite(ledPin,outputValue);//формируем ШИМ сигнал в соответствии с конвертированными данными | analogWrite(ledPin,outputValue);//формируем ШИМ сигнал в соответствии с конвертированными данными |
| } | } |
| </file> | </file> |
| | |
| | Для вывода данных необходимо немного дополнить программу.\\ |
| | В блоке функции **setup()**, вызываем метод **begin** класса **Serial** и указать скорость соединения:\\ |
| | ''Serial.begin(9600);''\\ |
| | И в блоке функции **loop()** вызываем метод **print()** для вывода текста и метод для вывода данных **println()**, в качестве аргумента указываем переменную **inputValue**, в которую записывается значение считанного сигнала с пина **A0**:\\ |
| | ''Serial.println(inputValue);''\\ |
| | |
| | |
| | ==== Дополнительное задание ==== |
| | <WRAP center round tip 60%> |
| | Измените программу так, чтобы в монитор порта также выводилось значение ШИМ сигнала |
| | </WRAP> |
| |