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板上。然后,按下按键,你将看到数码管上的数字逐渐增加。

通过以上步骤,我们成功地实现了通过按键来控制数码管的数字显示。你可以根据自己的需求进行代码的修改和扩展,实现更多有趣的功能。

希望本文对你有所帮助,谢谢阅读!