
1922 ₽
2159 ₽
экономия 237 ₽
Цена в бонусных баллах: 1922
2 строки по 16 символов, регулируемая подсветка дисплея благодаря встроенному потенциометру.
Позволяет настроить многоуровневое меню и управлять передвижением с использованием кнопочной клавиатуры.
6 кнопок
#include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // выберите контакты, используемые на ЖК-панели // определить некоторые значения, используемые панелью и кнопками int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 int read_LCD_buttons(){ // чтение кнопки adc_key_in = analogRead(0); // считывать значение с датчика // мои кнопки при чтении центрируются в следующих значениях: 0, 144, 329, 504, 741 // мы добавляем примерно 50 к этим значениям и проверяем, близки ли мы // Мы делаем это 1-м вариантом из соображений скорости, так как это будет наиболее вероятный результат if (adc_key_in > 1000) return btnNONE; // For V1.1 us this threshold if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 650) return btnLEFT; if (adc_key_in < 850) return btnSELECT; // Для V1.0 прокомментируйте другой порог и используйте тот, который указан ниже: /* if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 195) return btnUP; if (adc_key_in < 380) return btnDOWN; if (adc_key_in < 555) return btnLEFT; if (adc_key_in < 790) return btnSELECT; */ return btnNONE; // когда все остальные терпят неудачу, верните это. } void setup(){ lcd.begin(16, 2); // запустить библиотеку lcd.setCursor(0,0); // установить положение курсора ЖК-дисплея lcd.print("Push the buttons"); // распечатать простое сообщение на ЖК-дисплее } void loop(){ lcd.setCursor(9,1); // переместите курсор на вторую строку "1" и на 9 пробелов lcd.print(millis()/1000); // отображение секунд, прошедших с момента включения lcd.setCursor(0,1); // перейти к началу второй строки lcd_key = read_LCD_buttons(); // прочитай кнопки switch (lcd_key){ // в зависимости от того, какая кнопка была нажата, выполняем действие case btnRIGHT:{ // нажмите кнопку "ВПРАВО" и покажите слово на экране lcd.print("RIGHT "); break; } case btnLEFT:{ lcd.print("LEFT "); // нажмите кнопку "ВЛЕВО" и покажите слово на экране break; } case btnUP:{ lcd.print("UP "); // нажмите кнопку «ВВЕРХ» и покажите слово на экране break; } case btnDOWN:{ lcd.print("DOWN "); // нажмите кнопку "ВНИЗ" и покажите слово на экране break; } case btnSELECT:{ lcd.print("SELECT"); // нажмите кнопку «ВЫБРАТЬ» и покажите слово на экране break; } case btnNONE:{ lcd.print("NONE "); // При отсутствии действий на экране отображается "Нет". break; } } }
-
Еще не было вопросов