arduino数码管按键加一
作者:野牛程序员:2023-07-23 09:52:00Arduino阅读 3010
编写Arduino代码来实现按键加一的功能。在这个例子中,会假设使用一个4位共阳数码管(common cathode)和一个按钮。
首先,请确保已经正确连接了电路。按钮的一端连接到Arduino板上的一个数字引脚,另一端连接到地(GND)。数码管的各个引脚通过适当的电阻连接到Arduino的数字引脚。
接下来,将编写Arduino代码:
// 定义数码管引脚连接
const int digitPins[] = {2, 3, 4, 5}; // 依次连接到数码管的A, B, C, D引脚
const int segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; // 依次连接到数码管的a, b, c, d, e, f, g, dp引脚
// 定义按钮引脚连接
const int buttonPin = 14; // 连接到按钮的引脚
// 全局变量
int number = 0; // 初始数字为0
bool buttonState = HIGH; // 按钮状态(默认为未按下)
// 设置数码管显示数字的函数
void displayNumber(int num) {
// 数码管显示0-9的数字
const byte numbers[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 数字0
{0, 1, 1, 0, 0, 0, 0}, // 数字1
{1, 1, 0, 1, 1, 0, 1}, // 数字2
{1, 1, 1, 1, 0, 0, 1}, // 数字3
{0, 1, 1, 0, 0, 1, 1}, // 数字4
{1, 0, 1, 1, 0, 1, 1}, // 数字5
{1, 0, 1, 1, 1, 1, 1}, // 数字6
{1, 1, 1, 0, 0, 0, 0}, // 数字7
{1, 1, 1, 1, 1, 1, 1}, // 数字8
{1, 1, 1, 1, 0, 1, 1} // 数字9
};
// 显示数字在数码管上
for (int i = 0; i < 7; i++) {
digitalWrite(segmentPins[i], numbers[num][i]);
}
}
void setup() {
// 初始化数码管引脚
for (int i = 0; i < 4; i++) {
pinMode(digitPins[i], OUTPUT);
}
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
// 初始化按钮引脚
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
// 读取按钮状态
buttonState = digitalRead(buttonPin);
// 如果按钮按下,则数字加一
if (buttonState == LOW) {
number++;
if (number > 9) {
number = 0; // 当数字大于9时,重置为0
}
// 等待一段时间,以避免连续多次按键造成数字增加过快
delay(250);
}
// 数码管显示当前的数字
displayNumber(number);
}请将上述代码复制到Arduino开发环境(IDE)中,并上传到Arduino板。然后,当按下按钮时,数码管上的数字应该会依次加一,并在达到9后重新回到0。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:arduino数学库
- 下一篇:arduino数字引脚
