Лабораторные работы Технологии+Бизнес
Цель работы: научиться управлять яркостью светодиода
Задачи:
1. Собрать установку
2. Написать программу
3. Выполнить все задания
Кнопка - простейший механизм управления различными устройствами посредством замыкания или размыкания контактов.
Что такое "дребезг" кнопки и как он возникает?
В этой лабораторной работе будем регулировать яркость светодиода с помощью двух кнопок: одной кнопкой будем увеличивать яркость, а другой - уменьшать.
Сборка лабораторной установки
Схема лабораторной установки:
Подготовим все необходимые нам детали.
Компоненты лабораторной установки:
1. Контроллер
2. Макетная плата
3. Кнопка
4. Резисторы 220 Ом - 1 шт
5. Резисторы 10 кОм - 2 шт
6. Провода
Алгоритм выполения работы:
1. Подключаем светодиод:
а) Анод светодиода соединяем с выводом №11;
б) Катод RGB-светодиода подключаем к земле через резистор 220 Ом;
2. Подключаем кнопки:
а) Соединяем пины 9 и 10 с контактами тктовой кнопки;
б) К этому же контакту подключаем подтягивающий резистор 10 кОм, который соединяем с землей;
в) Другой выход кнопки соединяем с питанием 5 v;
Каким образом еще можно подключать кнопку?
Работа в среде программирования Arduino IDE
Напишем код программы.
Определим пины для кнопок и светодиода.
Создадим переменную для хранения текущего значения яркости,
а также переменные для хранения последнего значения кнопок (LOW - кнопки не нажаты, HIGH - кнопки нажаты, изначально кнопки не нажаты, значит присвоим им значение LOW).
В функции setup() устанавливаем пины кнопок на вход, а пин светодиода на выход.
Переходим к функции loop().
Считываем значение кнопок в переменные valueButton1 и valueButton2.
Ждем 10 миллисекунд. Это позволит нам избежать "дребезга" кнопки.
Если кнопка1 была нажата 10 миллисекунд назад, и до этого она нажата не была, то присваиваем переменной для хранения последнего значения кнопки 1 HIGH и увеличиваем переменную яркости на 50.
В противном случае проверяем нажатие второй кнопки. Если кнопка 2 была нажата 10 миллисекунд назад, и до этого она нажата не была, то присваиваем переменной для хранения последнего значения кнопки 2 HIGH и уменьшаем переменную яркости на 50.
Если два предыдущих условий не выполняется, то переменным для хранения последнего значения кнопок присваиваем значения valueButton1 и valueButton2.
Далее проверяем, лежит ли яркость в пределах от 0 до 255. Если переменная bright меньше нуля, присваиваем ей значение 0,
а если она больше 255, присваиваем ей значение 255.
И подаем значение bright на пин светодиода.
В результате получаем следующий код:
Задание: измените код программы так, чтобы яркость увеличивалась/уменьшалась после второго нажатия на кнопку.
Сформулируйте замечания к лабораторной работе. Есть ли в описании работы непонятные места?