Переключатель
Переключатель позволяет передать на микроконтроллер информацию об одном из нескольких своих положений. Переключатель можно установить в одно из нескольких положений. Для изменения положения переключателя необходимо передвинуть его бегунок в новое положение, или указать пальцем непосредственно в новое положение.
Структура данных
Данные | Тип | Значение |
Положение переключателя | unsigned char | 0 - положение A 1 - положение B 2 - положение C 3 - положение D и т.д. |
Настройка
Свойства переключателя позволяют задать следующие значения:
- Имя переменной - имя переключателя и переменной в исходном коде для микроконтроллера, допускается задавать имя по правилам именования переменных языка C.
- Количество положений - задается количество возможных положений переключателя. Может принимать значение от 2 до 10.
- Ориентация - можно задать ориентацию переключателя на поле интерфейса. Ориентация может быть "Вертикальная" или "Горизонтальная".
Примеры использования
Общий пример, показывающий, как проверить текущее положение четырехпозиционного переключателя:
if (RemoteXY.select_1==0) {
/* текущее состояние A */
}
else if (RemoteXY.select_1==1) {
/* текущее состояние B */
}
else if (RemoteXY.select_1==2) {
/* текущее состояние C */
}
else if (RemoteXY.select_1==3) {
/* текущее состояние D */
}
То же самое, но используя оператор switch .. case:
switch (RemoteXY.select_1) {
case 0:
/* текущее состояние A */
break;
case 1:
/* текущее состояние B */
break;
case 2:
/* текущее состояние C */
break;
case 3:
/* текущее состояние D */
break;
}
Следующий пример показывает, как можно управлять четырьмя выводами микроконтроллера, включая их в зависимости от текущего положения переключателя.
Код для Arduino IDE, управление пинами 4..7:
if (RemoteXY.select_1==0) digitalWrite(4, HIGH);
else digitalWrite(4, LOW);
if (RemoteXY.select_1==1) digitalWrite(5, HIGH);
else digitalWrite(5, LOW);
if (RemoteXY.select_1==2) digitalWrite(6, HIGH);
else digitalWrite(6, LOW);
if (RemoteXY.select_1==3) digitalWrite(7, HIGH);
else digitalWrite(7, LOW);