Управляющие кнопки
Практическая работа № 3 «Использование датчиков»
Практическая работа № 4 «Движение робота по линии»
• порт ввода
• чтение из порта
• датчик касания
• датчик расстояния
• датчик освещённости
• ошибка измерения
• калибровка датчика
• движение по линии
• релейный регулятор
• П-регулятор
Простейший управляющий элемент — кнопка, с помощью которой включается или выключается какой-то режим работы робота. Например, с помощью кнопки можно управлять светодиодом: при нажатии кнопки лампочка загорается, после отпускания кнопки — гаснет. Схема, которую можно собрать на плате Arduino, показана на рис. 1.7.
Рис. 1.7
На один контакт кнопки подаётся питание, второй подсоединён к входному пину, с которого микроконтроллер может прочитать значение сигнала. При нажатии кнопки цепь замыкается, так что на входной пин подаётся сигнал высокого уровня (величиной 5 вольт, на рис. 1.7 он обозначен как +5V). А какой сигнал будет на этом пине, если кнопка не нажата? Оказывается, в этом случае он может «плавать», т. е. меняться случайным образом из-за электромагнитных шумов. Чтобы этого не происходило, ставят специальный «стягивающий» резистор, который связывает входной пин с сигналом нулевого уровня (см. рис. 1.7).
Перейдём к программированию. Нам нужно постоянно читать значение напряжения на пине. Если подан высокий уровень сигнала (кнопка нажата), нужно включить лампочку, т. е. подать сигнал высокого уровня (255) на выходной пин, с которым она связана. Если кнопка не нажата, на выходной пин подаём сигнал низкого уровня (0), лампочка выключается. Будем считать, что лампочка управляется пином 11, а сигнал от кнопки приходит на пин 2. Команда прочитать читает значение на входном пине, номер которого записан в скобках. Это функция, она возвращает значение, которое можно записать в переменную.
цел х
нц
х:=прочитать(2)
если х=255 то
записать (11, 255)
иначе
записать (11, 0)
все
кц
Запишите в тетради вариант программы, в котором нет оператора если.
Запишите в тетради программу для схемы, которая работает «наоборот» — когда кнопка нажата, лампочка не горит, а когда отпущена — лампочка включается. Постарайтесь найти два варианта решения задачи.
Следующая страница Движение в лабиринте