arduino按键控制数码管代码
在本文中,我们将利用Arduino板和几个外部元件,编写一个简单的代码,实现按键来控制数码管的数字显示。 步骤一: 准备材料 首先,我们需要准备以下材料: Arduino UNO开发板
在本文中,我们将利用Arduino板和几个外部元件,编写一个简单的代码,实现按键来控制数码管的数字显示。
步骤一: 准备材料
首先,我们需要准备以下材料:
- Arduino UNO开发板
- 数码管
- 按键
- 杜邦线
步骤二: 连接电路
按照以下连接方式,将电路连接好:
- 将数码管的引脚连接到Arduino板的数字引脚。
- 将按键连接到Arduino板的数字引脚。
步骤三: 编写代码
打开Arduino开发环境,编写以下代码:
int digitPins[] {2, 3, 4, 5}; // 数码管引脚
int buttonPin 6; // 按键引脚
int number 0; // 数字初始值
void setup() {
for (int i 0; i lt; 4; i ) {
pinMode(digitPins[i], OUTPUT);
}
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH); // 上拉电阻
}
void loop() {
if (digitalRead(buttonPin) LOW) { // 当按键按下时
number ; // 数字递增
if (number gt; 9) {
number 0; // 超过9时重新从0开始
}
digitalWrite(digitPins[0], HIGH); // 打开第一位数码管
displayNumber(number); // 显示数字
} else {
digitalWrite(digitPins[0], LOW); // 关闭数码管
}
}
void displayNumber(int num) {
int digits[] {B11111100, B01100000, B11011010, B11110010, B01100110, B10110110, B10111110, B11100000, B11111110, B11110110}; // 数字对应的段码
for (int i 0; i lt; 4; i ) {
digitalWrite(digitPins[i], LOW); // 关闭所有数码管
int segment num % 10; // 获取当前数字的个位数
int segmentCode digits[segment]; // 获取对应的段码
digitalWrite(digitPins[i], HIGH); // 打开当前位数码管
digitalWrite(2, segmentCode amp; 0x01);
digitalWrite(3, segmentCode amp; 0x02);
digitalWrite(4, segmentCode amp; 0x04);
digitalWrite(5, segmentCode amp; 0x08);
num / 10; // 往高位移动
delay(2); // 延迟一段时间,使数字显示稳定
}
}
步骤四: 上传代码并测试
将Arduino板连接到电脑上,点击上传按钮将代码上传到Arduino板上。然后,按下按键,你将看到数码管上的数字逐渐增加。
通过以上步骤,我们成功地实现了通过按键来控制数码管的数字显示。你可以根据自己的需求进行代码的修改和扩展,实现更多有趣的功能。
希望本文对你有所帮助,谢谢阅读!