当前位置:首页Arduino > 正文

arduino数码管按键加一

作者:野牛程序员:2023-07-23 09:52:00Arduino阅读 2802

编写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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击