Сегодня мы будем создавать устройство, использующее матричную клавиатуру как
устройство ввода, а пьезоизлучатель как устройство вывода.
Сделаем так, чтобы устройство издавало звук при нажатии на кнопку матричной
клавиатуры, пусть каждой кнопке будет назначен свой звук. Больше всего такое
устройство напоминает пианино, но довольно странное, так как вместо клавиш -
набор кнопок. Возьмем схему из прошлого занятия (см.
Урок 10) и добавим к ней пьезоизлучатель, подключив его к выводу 13:
tone(13, (int)customKey*15, 300);
#include < Keypad.h> const byte ROWS = 4; // четыре строки в матричной клавиатуре const byte COLS = 4; // четыре колонки в матричной клавиатуре char hexaKeys[ROWS][COLS] = { // определяем названия кнопок на клавиатуре {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; // подключаем строки к соответвующим пинам контроллера byte colPins[COLS] = {5, 4, 3, 2}; // подключаем колонки к соответвующим пинам контроллера //инициализируем клавиатуру Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); tone(13, (int)customKey*15, 300); // 13 - номер вывода к которому подключен пьезоизлучатель } }
x == y (x равно y)
x != y (x не равно y)
x < y (x меньше чем y)
x > y (x больше чем y)
x <= y (x меньше чем или равно y)
x >= y (x больше чем или равно y)
например условие: (x < 100) - истинно, если x действительно меньше 100, и
ложно если x больше или равно 100.
Обратите внимание, на то, что знак простого равенства - это оператор
присваивания, и например запись (x = 3) - присвоит значению x новое значение 3.
А если нам нужно сравнить переменную x с числом три, то используется
двойное равенство, запись (x == 3), проверяет равно ли x трем или нет, не меняя
значение переменной x.