-
概述:
LCD Keypad Shield 是一款提供2行16字符液晶显示的扩展版。扩展了多个按键输入,可供用户作为LCD显示屏的菜单选择按键使用,通过模拟口A0读取不同数值,判断哪个按键按下,既节省I/O口,又方便用户与Arduino设备进行互动。扩展版上的电位器,可以帮助用户调节LCD屏幕的对比度。Reset按键,方便用户进行调试。
引出了多余的端口,包括数字接口Pin0到3,Pin10到13。模拟接口A1到A5,预留ICSP端口。
LCD Keypad Shield 简化了电路,只需要将此扩展版直接插到Uno等控制器上就可以使用,省去了复杂的连线。通过调用Arduino自带LCD库就可以实现数字和字符的显示。
-
参数及特点:
蓝色背景1602 LCD(2行16字节)
5个按键输入
PWM背光调节
LCD对比度调节
尺寸:83mm x 60mm
-
Arduino 示例程序:(测试IDE版本1.0.5)
#include <LiquidCrystal.h> /******************************************************* 这个程序用来测试LCD液晶显示模块和5个按键。 ********************************************************/ //定义LCD上使用到的引脚 LiquidCrystal lcd(8, 9, 7, 6, 5, 4); // 定义各按键 int lcd_key = 0; int adc_key_in = 0; #define RIGHTValue 0 #define UPValue 1 #define DOWNValue 2 #define LEFTValue 3 #define SELECTValue 4 #define NONEValue 5 //读取按键值 int read_LCD_buttons() { adc_key_in = analogRead(0); // 从模拟口0读值 // 直接读到的5个按键值在以下值附近:0,143,342,512,743 // 通过设定不同的阀值,就可以对应读到相应的按键 if (adc_key_in > 1000) return NONEValue; if (adc_key_in < 50) return LEFTValue; if (adc_key_in < 250) return SELECTValue; if (adc_key_in < 450) return UPValue; if (adc_key_in < 650) return RIGHTValue; if (adc_key_in < 850) return DOWNValue; return NONEValue; } void setup() { lcd.begin(16, 2); // 开始 lcd.setCursor(0,0); lcd.print("Push the buttons"); // 输出“Push the buttons” } void loop() { lcd.setCursor(0,1); // 光标移动到第二行开头 lcd_key = read_LCD_buttons(); // 读取按键 switch (lcd_key) // 选择按键 { case RIGHTValue: { lcd.print("RIGHT "); break; } case LEFTValue: { lcd.print("LEFT "); break; } case UPValue: { lcd.print("UP "); break; } case DOWNValue: { lcd.print("DOWN "); break; } case SELECTValue: { lcd.print("SELECT"); break; } case NONEValue: { lcd.print("NONE "); break; } } }
- 其他文档: