简介
LED Keypad Shield 是一款专为Arduino设计的4位8段共阴数码管显示扩展板,板载4个方向按钮和1个菜单选择按钮。采用I2C通信方式,大大节约了管脚资源,减少了数码管繁琐的接线过程。使您能够更加专注于项目本身,缩短开发时间。
扩展板兼容Arduino UNO和 Arduino Leonardo主流主控器,即插即用。适用于数码管教学和仪表控制等。
产品参数
- 工作电压:5V
- 4位8段共阴数码管(0.56英寸)
- 5个按键输入(驱动管脚:A0)
- 尺寸:53*54mm
- 重量:30g
引脚说明
引脚名称 | 功能描述 |
---|---|
模拟口0(A0) | 按钮 (选择, 上, 右, 下,左) |
SCL(A5) | I2C时钟线 |
SDA(A4) | I2C数据线 |
RST | 复位脚 |
使用教程
准备
- 硬件
- UNO x1
- LED Keypad Shield x1
接线图
LED Keypad Shield 直接插在UNO主板上即可。
样例代码
/*!
* @file LedKeypad.ino
* @brief test all LedKeypad API
* Press the key corresponding to the digital self plus one
*
* @author linfeng(490289303@qq.com)
* @version V1.0
* @date 2015-12-11
*/
#include <LedKeypad.h>
char brightness =0;
char buf[5]="2456";
void setup() {
ledkeypad.begin(); /*Enable*/
ledkeypad.setBrightness(0);/*Sets the brightness level*/
ledkeypad.display(2015);/*Display data*/
delay(5000);
ledkeypad.display(buf);/*Display character for testing*/
for(int i=0;i<4;i++){/*for testing*/
ledkeypad.dotShow(i);
delay(1000);
ledkeypad.dotVanish(i);
}
}
void loop() {
unsigned char keyValue=0;
keyValue = ledkeypad.getKey();/*Get key value*/
switch(keyValue){
case KEY_DOWN:
buf[0]++;
if(buf[0] > '9')
buf[0] = '0';
ledkeypad.display(0,buf[0]);
break;
case KEY_LEFT:
buf[1]++;
if(buf[1] > '9')
buf[1] = '0';
ledkeypad.display(1,buf[1]);
break;
case KEY_UP:
buf[2]++;
if(buf[2] > '9')
buf[2] = '0';
ledkeypad.display(2,buf[2]);
break;
case KEY_RIGHT:
buf[3]++;
if(buf[3] > '9')
buf[3] = '0';
ledkeypad.display(3,buf[3]);
break;
case KEY_SELECT:
brightness++;
if(brightness > 7)
brightness = 0;
ledkeypad.setBrightness(brightness);
break;
default:
break;
}
}
结果
使用例程中的程序可显示数字2456。按键功能如下:
按键 | 功能 |
---|---|
down键 | 第一位数码管+1 |
left键 | 第二位数码管+1 |
up键 | 第三位数码管+1 |
right键 | 第四位数码管+1 |
select键 | 调节亮度,按一次增加亮度 |
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!