Лабораторные работы       Технологии+Бизнес

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

Задачи:
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 на пин светодиода.

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




Задание: измените код программы так, чтобы яркость увеличивалась/уменьшалась после второго нажатия на кнопку. 

 
 

Сформулируйте замечания к лабораторной работе. Есть ли в описании работы  непонятные места? 

 


Лабораторные работы        Технологии+Бизнес