卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

arduino按鍵控制流水燈程序簡(jiǎn)潔 Arduino按鍵控制流水燈程序

在這篇文章中,我將向大家展示如何使用Arduino來(lái)編寫(xiě)一個(gè)簡(jiǎn)潔且詳細(xì)的按鍵控制流水燈程序。首先,讓我們明確一下我們要實(shí)現(xiàn)的功能:通過(guò)按下一個(gè)按鈕,控制一組LED燈依次循環(huán)亮起,實(shí)現(xiàn)流水燈的效果。

在這篇文章中,我將向大家展示如何使用Arduino來(lái)編寫(xiě)一個(gè)簡(jiǎn)潔且詳細(xì)的按鍵控制流水燈程序。首先,讓我們明確一下我們要實(shí)現(xiàn)的功能:通過(guò)按下一個(gè)按鈕,控制一組LED燈依次循環(huán)亮起,實(shí)現(xiàn)流水燈的效果。

我們首先需要準(zhǔn)備以下硬件材料:

  • Arduino開(kāi)發(fā)板
  • 面包板
  • 按鈕開(kāi)關(guān)
  • LED燈若干
  • 杜邦線

接下來(lái),我們開(kāi)始編寫(xiě)程序。首先,我們需要在Arduino開(kāi)發(fā)環(huán)境中創(chuàng)建一個(gè)新的項(xiàng)目,并添加以下代碼:

// 定義按鈕引腳
const int buttonPin  2;
// 定義LED引腳
const int ledPins[]  {3, 4, 5, 6, 7};
// 記錄當(dāng)前LED的狀態(tài)
int currentLed  0;
// 記錄按鈕的上一次狀態(tài)
int lastButtonState  LOW;
void setup() {
  // 初始化按鈕引腳
  pinMode(buttonPin, INPUT_PULLUP);
  // 初始化LED引腳
  for (int i  0; i < sizeof(ledPins) / sizeof(ledPins[0]); i  ) {
    pinMode(ledPins[i], OUTPUT);
  }
}
void loop() {
  // 讀取按鈕狀態(tài)
  int buttonState  digitalRead(buttonPin);
  // 檢測(cè)按鈕狀態(tài)變化
  if (buttonState ! lastButtonState) {
    if (buttonState  LOW) {
      // 按下按鈕后,切換到下一個(gè)LED
      currentLed  (currentLed   1) % (sizeof(ledPins) / sizeof(ledPins[0]));
    }
  }
  // 更新按鈕狀態(tài)
  lastButtonState  buttonState;
  // 控制LED燈亮起
  for (int i  0; i < sizeof(ledPins) / sizeof(ledPins[0]); i  ) {
    if (i  currentLed) {
      digitalWrite(ledPins[i], HIGH);
    } else {
      digitalWrite(ledPins[i], LOW);
    }
  }
}

以上代碼中,我們首先定義了按鈕引腳和LED引腳的常量,并初始化了這些引腳。在主循環(huán)中,我們通過(guò)讀取按鈕狀態(tài)來(lái)實(shí)現(xiàn)按下按鈕后切換到下一個(gè)LED的效果,并通過(guò)控制LED引腳的電平來(lái)控制LED燈的亮滅。

接下來(lái),我們將硬件連接好,將Arduino開(kāi)發(fā)板與電腦連接,并上傳程序。然后,我們可以按下按鈕,觀察LED燈依次亮起的效果。

通過(guò)本文的指南,我們學(xué)習(xí)了如何使用Arduino編寫(xiě)一個(gè)簡(jiǎn)潔且詳細(xì)的按鍵控制流水燈程序。通過(guò)這個(gè)例子,我們不僅掌握了基本的按鍵和LED控制,還提高了對(duì)Arduino開(kāi)發(fā)板的了解。希望本文能為初學(xué)者提供一些幫助。