arduino按鍵控制數(shù)碼管代碼
在本文中,我們將利用Arduino板和幾個外部元件,編寫一個簡單的代碼,實現(xiàn)按鍵來控制數(shù)碼管的數(shù)字顯示。 步驟一: 準備材料 首先,我們需要準備以下材料: Arduino UNO開發(fā)板
在本文中,我們將利用Arduino板和幾個外部元件,編寫一個簡單的代碼,實現(xiàn)按鍵來控制數(shù)碼管的數(shù)字顯示。
步驟一: 準備材料
首先,我們需要準備以下材料:
- Arduino UNO開發(fā)板
- 數(shù)碼管
- 按鍵
- 杜邦線
步驟二: 連接電路
按照以下連接方式,將電路連接好:
- 將數(shù)碼管的引腳連接到Arduino板的數(shù)字引腳。
- 將按鍵連接到Arduino板的數(shù)字引腳。
步驟三: 編寫代碼
打開Arduino開發(fā)環(huán)境,編寫以下代碼:
int digitPins[] {2, 3, 4, 5}; // 數(shù)碼管引腳
int buttonPin 6; // 按鍵引腳
int number 0; // 數(shù)字初始值
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 ; // 數(shù)字遞增
if (number gt; 9) {
number 0; // 超過9時重新從0開始
}
digitalWrite(digitPins[0], HIGH); // 打開第一位數(shù)碼管
displayNumber(number); // 顯示數(shù)字
} else {
digitalWrite(digitPins[0], LOW); // 關閉數(shù)碼管
}
}
void displayNumber(int num) {
int digits[] {B11111100, B01100000, B11011010, B11110010, B01100110, B10110110, B10111110, B11100000, B11111110, B11110110}; // 數(shù)字對應的段碼
for (int i 0; i lt; 4; i ) {
digitalWrite(digitPins[i], LOW); // 關閉所有數(shù)碼管
int segment num % 10; // 獲取當前數(shù)字的個位數(shù)
int segmentCode digits[segment]; // 獲取對應的段碼
digitalWrite(digitPins[i], HIGH); // 打開當前位數(shù)碼管
digitalWrite(2, segmentCode amp; 0x01);
digitalWrite(3, segmentCode amp; 0x02);
digitalWrite(4, segmentCode amp; 0x04);
digitalWrite(5, segmentCode amp; 0x08);
num / 10; // 往高位移動
delay(2); // 延遲一段時間,使數(shù)字顯示穩(wěn)定
}
}
步驟四: 上傳代碼并測試
將Arduino板連接到電腦上,點擊上傳按鈕將代碼上傳到Arduino板上。然后,按下按鍵,你將看到數(shù)碼管上的數(shù)字逐漸增加。
通過以上步驟,我們成功地實現(xiàn)了通過按鍵來控制數(shù)碼管的數(shù)字顯示。你可以根據(jù)自己的需求進行代碼的修改和擴展,實現(xiàn)更多有趣的功能。
希望本文對你有所幫助,謝謝閱讀!