СөЖ №2. Микроконтроллер негізінде логикалық шарттарды орындау. Жұмыстың орындалыуы



Дата21.10.2023
өлшемі142,4 Kb.
#120058
Байланысты:
РГР1


СӨЖ №2. Микроконтроллер негізінде логикалық шарттарды орындау.
Жұмыстың орындалыуы.
Необходимо реализовать систему на Arduino – три кнопки ,светодиод и, при наличии, пьезо-извещатель. Алгоритм работы - при нажатии любой из кнопок у нас должен звучать сигнал и гореть светодиод. Можно, конечно, написать три отдельных условия для контроля каждой из кнопок, но код в таком случае выглядит нагроможденным и при увеличении количества кнопок становится жутко не удобным (см.рис.1).

Рис.1 – Скетч для задачи на 3-х условиях


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

В нашей задаче необходимо включить оповещение при срабатывании первой или второй или третьей кнопки, следовательно выполнить – логическое ИЛИ.
Давайте создадим три переменных типа boolean, в которые будем сохранять считанный сигнал от каждой из кнопок, и объединим эти переменные в одном условии, поставив между ними логическое ИЛИ. Эта операция записывается в виде двух вертикальных черточек и, чтобы понять логику ее работы, давайте взглянем на так называемую таблицу истинности, где указываются операнды, над которыми совершается операция (см.рис.2).
Рис.2 – Таблица истинности для лог.ИЛИ

Для нашей системы мы можем составить таблицу из трех колонок и перебрать все возможные нажатия кнопок, логика останется прежней – если существует хоть одна единица – ответ будет равен одному (см.рис.3)


Рис.3 - Таблица истинности для лог.ИЛИ для нашей задачи


Это отлично подходит к нашей задаче, ведь нам как раз и требовалось при нажатии любой из кнопок запускать оповещение, а при отпущенных кнопках ничего не делать. Давайте взглянем на получившийся программный код (см.рис.4).



Рис. 4 – Скетч для лог.ИЛИ


Задание: Необходимо реализовать систему на Arduino – три кнопки
,светодиод и, при наличии, пьезо-извещатель (рис.4). Алгоритм работы - нажатие одной кнопки никак не влияет на истинность условия, требуется нажать сразу все кнопки для того, чтобы загорелся светодиод и запищал пьезо- излучатель


Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет