Этот пример кода находится в открытой области.
# Определить key1ValueMin 96
# Определить key1ValueMax 106
# Определить key2ValueMin 144
# Определить key2ValueMax 159
# Определить key3ValueMin 193
# Определить key3ValueMax 213
# Определить key4ValueMin 242
# Определить key4ValueMax 255
Int adpin = A0;/Выберите ввода ПИН-кода для потенциометр
Int keyValue;
Int keyValue_r;
Int keyValue_rr;
/Ключ сканирования
Int key_scan (void)
{
Int adValue;
Int ключ;
Adзначение = аналог (adPin);/чтение ad значение
Значение = значение/4;
Если (adValue; при заказе на сумму> = key1ValueMin & adValue <= key1ValueMax)/k1
{
Ключей =-1 шт.;
} Долл. США
Остальное в том случае, если (adValue; при заказе на сумму> = key2ValueMin & adValue <= key2ValueMax)/k2
{
Ключей = 2;
} Долл. США
Остальное в том случае, если (adValue; при заказе на сумму> = key3ValueMin & adValue <= key3ValueMax)/k3
{
Ключ = комплект из 3 предметов;
} Долл. США
Остальное в том случае, если (adValue; при заказе на сумму> = key4ValueMin)/k4
{
Ключей = 4;
} Долл. США
Другое/недействительным и соотношение цена/качество
{
Ключей = 0;
} Долл. США
Копка возврата;
} Долл. США
Настройка void () {
Сериал. начать (9600);
} Долл. США
Void loop () {
/Сохранение значения сканирования трех клавиш
KeyValue_rr = keyValue_r;
KeyValue_r = keyValue;
Клавишное значение = key_scan ();
/Три отсканированных значения одинаковы, указывая, что ключ действителен
Если (keyValue> 0 & keyValue = keyValue_r & keyValue_r = keyValue_rr)
{
Серийный. печать ("keyValue =");
Серийный. печатающий элемент (ключевое значение);
} Долл. США
Задержка (100);/каждый интервал сканирования 100-200 мс
} Долл. США