Программирование Arduino урок 9 — условный оператор if-else

Всем привет! Сегодня мы поговорим с вами об условном операторе ifв контексте программирования платы ardiuno uno. Тема условных операторов уже освещалась на сайте, кто не читал, советую ознакомиться.

Кроме конструкции условного оператора if

 

или if-else

 

также используется структура else-if. С помощью этой конструкции программа будет проверять следующее условие на предмет истинности, если предыдущее условие ложное:

 

В качестве примера, рассмотрим следующую задачу:

Программа считывает значения с аналогового вывода (пина) платы ардуино уно и сравнивает его со значением, что присвоено переменной attentionLimit (с англ. порог сигнализации). В случае, если считываемое значение выше заложенного, светодиод включается.

Для того, чтобы выполнить практическую часть проекта, нам понадобится:

  • Плата Arduino Uno;
  • 1 переменный/подстроечный резистор (далее – ПР);
  • 3 резистора на 220 Ом;
  • 3 светодиода (зеленый, красный, белый);
  • Джамперы.

Схема подключения

Рассмотрим алгоритм работы программы.

Переменная analogValueFromResistant принимает значения полученные в результате считывания данных с аналогового вывода (пина) A0, к которому подключен средняя нога ПР. Как писал ранее, значение, что присваивается переменной analogValueFromResistant сравнивается со значением переменной attentionLimit, которое мы задали при написании программы. В случае, когда значение analogValueFromResistant будет превышать значение переменной attentionLimit, светодиод, что подключен на 9 вывод (пин) платы будет включатся. Если же считанное значение будет меньше сравниваемого, светодиод останется в выключенном состоянии или выключится, если до этого был включён.

 

С включением одного светодиода разобрались. Доработаем схему, добавив два светодиода и два резистора. Вращая вал ПР, мы будем включать один из трех светодиодов. Для реализации данной задачи воспользуемся конструкцией условного оператора else-if.

Программа будет сравнивать считываемое значение с заданными пределами:

 

  • от 0 (min) до 400 – включается зеленый светодиод (выполняется первое условие);
  • от 400 до 800 – включается красный светодиод (не выполняется ни первого, ни второго условия);
  • от 800 до 1023 (max) – включается белый светодиод (выполняется второе условие).

Урок 9

P.S. Красный светодиод включается при невыполнении первого и второго условия. То есть значение на аналоговом входе больше 400 (предел зеленого), но меньше 800 (предел белого).

Картотека программирования

Рекомендуемые посты

4 Replies to “Программирование Arduino урок 9 — условный оператор if-else”

  1. На вопрос о «реальных знаниях» отвечу прямо — с картой памяти и работой с файлами ещё не сталкивался. В планах, на этой недели приобрести модуль SD карт для Arduino, и в плотную заняться данным вопросом.

    1. дякую за відповідь. мені простіше було зробити картрідер. є купа китайских магнітол з розємом під картку. а далі ставиться дільники, і на 3.3в стабілізатор. карт памяті загалом теж чимало. єдина фігня великих карт пам’яті не бачить. 1-2 гб без проблем. для теста 4 засунув. 4 гб 4 класу вже не побачив. з екранами працював, з датчиками працював, з шаговими движками працював. RTC, акселерометр, карта пам’яті, і серво движки, GSM, GPS, і звуковими картами ще не стикався. якось не було потреби

  2. питання на засипку. а реальні знання оп ардуіні в наявності ? воюю з SD карткою. не можу «построчно» виводити дані з файла. зчитав рядок, відправив в порт, і чекаю відповіді. зчитування дампа файла працює але призупинити потік даних не виходить.
    жаба давить купувати готовий блок до станка. намагаюсь написати.

Добавить комментарий