ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1602 LCDKeypad Shield

2021-08-15 16:02:56  阅读:182  来源: 互联网

标签:return Shield 1602 LCDKeypad lcd adc key 按键 print


LCD Keypad Shield 是一款提供2行16字符液晶显示的Arduino扩展板。扩展了多个按键输入,可供用户作为LCD显示屏的菜单选择按键或者操控按键使用。

 

具有对比度调节和背光灯,使用1个模拟口便完成5个按键的输入,1个复位按键,未使用的IO口都扩展出来备用,充分利用IO口。占用数字端口:PIN4(DB4),5(DB5),6(DB6),7(DB7),8(RS),9(E),10(背光控制),模拟按键端口A0。

按键控制

 1 #include <LiquidCrystal.h>
 2 
 3 /*******************************************************
 4 
 5 这个程序用来测试LCD液晶显示模块和5个按键。
 6 
 7 ********************************************************/
 8 
 9 // 选择LCD上使用到的引脚
10 LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
11 
12 // 定义各按键
13 int lcd_key     = 0;
14 int adc_key_in  = 0;
15 
16 #define btnRIGHT  0
17 #define btnUP     1
18 #define btnDOWN   2
19 #define btnLEFT   3
20 #define btnSELECT 4
21 #define btnNONE   5
22 
23 //读取按键值
24 int read_LCD_buttons()
25 {
26  adc_key_in = analogRead(0);          // 从模拟口0读值 
27  // 直接读到的5个按键值在以下值附近:0,144,329,504,741
28  // 通过设定不同的阀值,就可以对应读到相应的按键
29  if (adc_key_in > 1000) return btnNONE; 
30  if (adc_key_in < 50)   return btnRIGHT;  
31  if (adc_key_in < 250)  return btnUP; 
32  if (adc_key_in < 450)  return btnDOWN; 
33  if (adc_key_in < 650)  return btnLEFT; 
34  if (adc_key_in < 850)  return btnSELECT;  
35 
36  // V1.0的版本使用以下的阀值:
37 /*
38  if (adc_key_in < 50)   return btnRIGHT;  
39  if (adc_key_in < 195)  return btnUP; 
40  if (adc_key_in < 380)  return btnDOWN; 
41  if (adc_key_in < 555)  return btnLEFT; 
42  if (adc_key_in < 790)  return btnSELECT;   
43 */
44 
45  return btnNONE; 
46 }
47 
48 void setup()
49 {
50  lcd.begin(16, 2);              // 开始
51  lcd.setCursor(0,0);
52  lcd.print("Push the buttons"); // 输出“Push the buttons”
53 }
54  
55 void loop()
56 {
57  lcd.setCursor(9,1);            // 光标定在第二行,空开9格
58  lcd.print(millis()/1000);      // 输出等待时间
59 
60 
61  lcd.setCursor(0,1);            // 光标移动到第二行开头
62  lcd_key = read_LCD_buttons();  // 读取按键
63 
64  switch (lcd_key)               // 选择按键
65  {
66    case btnRIGHT:
67      {
68      lcd.print("RIGHT ");
69      break;
70      }
71    case btnLEFT:
72      {
73      lcd.print("LEFT   ");
74      break;
75      }
76    case btnUP:
77      {
78      lcd.print("UP    ");
79      break;
80      }
81    case btnDOWN:
82      {
83      lcd.print("DOWN  ");
84      break;
85      }
86    case btnSELECT:
87      {
88      lcd.print("SELECT");
89      break;
90      }
91      case btnNONE:
92      {
93      lcd.print("NONE  ");
94      break;
95      }
96  }
97 }
按键控制

 

标签:return,Shield,1602,LCDKeypad,lcd,adc,key,按键,print
来源: https://www.cnblogs.com/bymeet/p/15143621.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有