10. Механический выключатель - кнопка

Описание устройства выключателя

Выключатель ­ это прибор, который позволяет замыкать и размыкать электрическую цепь. При этом, смена состояния выключателя может происходить разными способами, в зависимости от типа устройства. Механические выключатели наиболее распространены, и используются непосредственно человеком. К такому типу относятся различные тумблеры, кнопки, клавиши и рубильники. Электромагнитные и электронные, напротив, применяются в автоматических системах, и
управляются при помощи электрических сигналов. Самым известным электромагнитным выключателем является реле (relay). Примером электронного выключателя может служить транзистор (transistor).

В нашей работы мы будем использовать простой механический выключатель (push­button), который встречается в двух вариантах:

а) справа ­ в виде кнопки с двумя выводами;
б) слева ­ с четырьмя выводами.

По сути, четыре вывода нужны лишь для удобства монтажа.

Функция ввода цифровых данных

Теперь попробуем запрограммировать Arduino для работы с кнопками. Для чтения цифрового сигнала с одного из контактов Arduino, необходимо воспользоваться функцией: digitalRead​. Формат функции имеет вид:

результат = digitalRead( номер_контакта );

после вызова этой функции, переменная результат​ будет хранить уровень цифрового cигнала, детектируемый на соответствующем контакте.

Задания

Задание 1 . Выключатель и зуммер
Результат работы
После запуска, программа начинает постоянно проверять состояние кнопки. По нажатию кнопки, зуммер включается, а при отпускании, напротив ­ выключается.

Используемые компоненты

Принципиальная схема

Внешний вид макета

Программа

const int btn = 3;
const int buzz = 4;
byte val = 0;
void setup() {
pinMode(btn, INPUT); // установка 3­го контакта в режим ввода
pinMode(buzz, OUTPUT); // установка 4­го контакта в режим вывода
}v
oid loop() {
val = digitalRead(btn);
if( val == HIGH){ // условие
digitalWrite(buzz, HIGH); // перевод зуммера в активное состояние
} else {
digitalWrite(buzz, LOW); // перевод зуммера в неактивное состояние
}
}

Задание 2. Управление включением и выключением (важно)

Результат работы
В схеме присутствуют одна кнопка и зуммер. При нажатии на одну из кнопок, зуммер начинает издавать звук, до тех пор, пока кнопка не будет нажата второй раз.
В этом примере мы введем дополнительную переменную ­ state​, в которой будем хранить текущее состояние зуммера. Нажимаем кнопку один раз: в переменную состояния записывается 1 , нажимаем второй ­ 0, третий ­ снова 1 , и т.д. И уже в зависимости от того, какое значение принимает эта переменная, мы будем активировать, или деактивировать зуммер. Вот как это будет выглядеть на языке си.

Программа

const int btn = 3;
const int buzz = 4;
byte val = 0;
bool state = 0;
void setup() {
pinMode(btn, INPUT); // установка 3­го контакта в режим ввода
pinMode(buzz, OUTPUT); // установка 4­го контакта в режим вывода
}v
oid loop() {
val = digitalRead(btn);
if( val == HIGH){ // условие смены состояния
state = !state;
delay(200);
}if
( state == true){ // условие активации зуммера
digitalWrite(buzz, HIGH); // перевод зуммера в активное состояние
} else {
digitalWrite(buzz, LOW); // перевод зуммера в неактивное состояние
}
}

Задание 3. Запуск и остановка проблескового маячка и сирены кнопкой (самостоятельно)

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

Задание 4. Генератор сигнала SOS (самостоятельно)

Результат работы
В схеме присутствует одна кнопка, светодиод и зуммер. После нажатия на кнопку, зуммер начинает передавать сигнал SOS. Параллельно с зуммером, светодиод отражает сигнал SOS световыми импульсами. Выключается генератор с помощью второго нажатия кнопки.

Категория: Arduino теория | Добавил: shadrinuro (2019-04-10)
Просмотров: 1093 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar