Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:aruno:exp10 [2020/05/29 13:44] alexnikproducts:aruno:exp10 [2020/06/01 12:28] (текущий) alexnik
Строка 1: Строка 1:
 ===== Эксперимент 10. Программный выключатель=====  ===== Эксперимент 10. Программный выключатель===== 
  
 +Монитор порта можно использовать не только для вывода значения, но и управлять платой контроллера, отправляя команды.\\ 
 +Соберем проект в котором будем управлять включением и выключением светодиода посредством отправки команд через монитор порта.\\
 ==== Схема эксперимента ==== ==== Схема эксперимента ====
 {{ :products:ardu:exp2.1.png?nolink&400 |}} {{ :products:ardu:exp2.1.png?nolink&400 |}}
Строка 9: Строка 10:
  
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
-<file cpp Exp2 [enable_line_numbers="2", start_line_numbers_at="1"]> +<file cpp Exp10 [enable_line_numbers="2", start_line_numbers_at="1"]> 
-  void setup() {                 +const int Led = 2; 
-       pinMode(2, OUTPUT);      + 
-  +void setup() { 
-  +   Serial.begin(9600); 
-  void loop() { +   Serial.println("Введите ON для включения и OFF для выключения светодиода"); 
-      digitalWrite(2, HIGH); +   pinMode(Led, OUTPUT); 
-    delay(1000);                + } 
-    digitalWrite(led, LOW); + 
-    delay(1000); +void loop() { 
-  }+  // Получаем команды на включение-выключение светодиода на 2 пине. 
 +   String str = Serial.readString(); 
 +  // Если команда «ON» то включаем светодиод. 
 +   if (str == "ON" or str == "on"digitalWrite(Led, HIGH); 
 +  // Если команда «OFF» то выключаем светодиод. 
 +   if (str == "OFF" or str == "off") digitalWrite(Led, LOW);   
 + }
 </file> </file>
  
 +Для взаимодействия с монитором порта в функции ''setup()'' вызываем метод **begin** класса **Serial** и указываем скорость соединения.
 +Для удобства пользователя, здесь же выводим в монитор инструкции, какие команды нужно вводить для управления.
 +В основном цикле программы при помощи метода ''readString()'' класса ''Serial'' считываем введенные команды в переменную ''str'' типа **String**.
 +В условиях операторов **if** проверяем какая команда была введена, и соответственно включаем или выключаем светодиод.
  
 ==== Дополнительное задание ==== ==== Дополнительное задание ====
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-Попробуй подключить светодиод к другим контактам и поменяй номер в программе+Попробуй добавить другие команды, к примеру, что бы светодиод начинал мигать.
 </WRAP> </WRAP>