Статьи

Подключение LCD Keypad Shield

Как подключить LCD keypad shield.


LCD Keypad shield является одной из популярных плат расширения для Arduino. Он состоит из двухстрочного LCD индикатора и 5 кнопок. Посредством ножек с номерами 4, 5, 6, 7, 8, 9 и 10 происходит взаимодействие arduino и LCD, а считывание состояния всех кнопок через ножку A0.

LCD Keypad shield разработан для применения в устройствах, которые требуют внешнего управления пользователем. Например, отображение показание какого-либо датчика, организация интерактивных меню и др.


Спецификация:


• Напряжение питания: 5V;
• 5 кнопок пользователя;
• 1 кнопка для сброса arduino;
• Потенциометр для подстройки подсветки;
• Светодиодный индикатор питания;

Подключение LCD Keypad Shield

Для проверки работоспособности LCD keypad shield напишем программу, которая выводит на LCD Keypad shield название нажатой кнопки и яркость подсветки. При нажатии на кнопки «вверх» и «вниз» яркость изменяется плавно, при нажатии «влево» и «вправо» грубо.

Для проверки работоспособности keypadshield напишем программу, которая выводит на LCD название нажатой кнопки и яркость подсветки. При нажатии на кнопки «вверх» и «вниз» яркость изменяется плавно, при нажатии «влево» и «вправо» грубо.
1. #include <LiquidCrystal.h> // Библиотека LCD
2.
3. LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Подключение LCD
4.
5. int key = 0; // Переменная для считывания значения кнопок
6. unsigned int bri = 128; // Переменная для хранения значения яркости
7.
8. #define btnRIGHT 0 // Определение окнопок
9. #define btnUP 1
10. #define btnDOWN 2
11. #define btnLEFT 3
12. #define btnSELECT 4
13. #define btnNONE 5
14.
15. int read_buttons()// Функция для считывания значения кнопок
16. {
17. int adc_key_in = analogRead(0);
18. if (adc_key_in > 1000) return btnNONE;
19. if (adc_key_in < 50) return btnRIGHT;
20. if (adc_key_in < 195) return btnUP;
21. if (adc_key_in < 380) return btnDOWN;
22. if (adc_key_in < 555) return btnLEFT;
23. if (adc_key_in < 790) return btnSELECT;
24. return btnNONE;
25. }
26.
27. void setup(){
28. lcd.begin(16, 2); // Настройка LCD 2 строки 16 символов
29. lcd.clear(); // Очистка LCD
30. lcd.setCursor(0,0); // Установка курсора в начало
31. lcd.print("Button Brightness"); // Вывод строчки на LCD (Название кнопки, Яркость подстветки)
32. }
33.
34. void loop(){
35.
36. lcd.setCursor(0,1); // Переход на вторую строку
37. key = read_buttons(); // Считывание значения кнопки
38.
39. switch (key){ //Выбор действия по нажатию кнопки
40. //(отобразить название кнопки, отобразить значение яркости)
41.
42. case btnRIGHT:{
43. lcd.print("RIGHT ");
44. bri = bri+100;
45. lcd.setCursor(8,1);
46. lcd.print(" ");
47. lcd.setCursor(8,1);
48. break;
49. }
50. case btnLEFT:{
51. lcd.print("LEFT ");
52. bri = bri-100;
53. lcd.setCursor(8,1);
54. lcd.print(" ");
55. lcd.setCursor(8,1);
56. break;
57. }
58. case btnUP:{
59. lcd.print("UP ");
60. bri = bri+10;
61. lcd.setCursor(8,1);
62. lcd.print(" ");
63. lcd.setCursor(8,1);
64. break;
65. }
66. case btnDOWN:{
67. lcd.print("DOWN ");
68. bri = bri-10;
69. lcd.setCursor(8,1);
70. lcd.print(" ");
71. lcd.setCursor(8,1);
72. break;
73. }
74. case btnSELECT:{
75. lcd.print("SELECT");
76. break;
77. }
78. case btnNONE:{
79. lcd.print("NONE ");
80. break;
81. }
82. }
83.
84. analogWrite(10,bri/256); //изменить значение яркости подсветки
85. lcd.setCursor(8,1);
86. lcd.print(bri/256); //отобразить текущую яркость на LCD
87.
88. }


Теперь ваш LCD Keypad Shield готов к работе.

Нет комментариев

Добавить комментарий