Arduino 嵌入式小游戏:LED 移动挑战

这是一个基于 Arduino 的简单小游戏,其规则是让用户控制一个 LED 在两个按钮之间移动。当用户按下按钮时,LED 会停止移动并发出嘀嗒声。用户需要按下另一个按钮才能继续移动 LED。

代码

// 定义引脚
const int buttonPin1 = 2;
const int buttonPin2 = 3;
const int ledPin = 8;
const int buzzerPin = 9;

// 定义变量
int buttonState1 = 0;
int buttonState2 = 0;
int ledPosition = 0;

void setup() {
  pinMode(buttonPin1, INPUT_PULLUP);
  pinMode(buttonPin2, INPUT_PULLUP);
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  // 检测按钮状态
  buttonState1 = digitalRead(buttonPin1);
  buttonState2 = digitalRead(buttonPin2);

  // 如果按下按钮1,LED 停止并发出嘀嗒声
  if (buttonState1 == LOW && ledPosition != 0) {
    digitalWrite(ledPin, LOW);
    tone(buzzerPin, 1000, 100);
    delay(100);
  }
  // 如果按下按钮2,LED 开始移动
  else if (buttonState2 == LOW && ledPosition != 9) {
    digitalWrite(ledPin, HIGH);
    ledPosition++;
  }
  // 如果 LED 到达端点,停止移动
  else if (ledPosition == 0 || ledPosition == 9) {
    digitalWrite(ledPin, LOW);
  }
}

原文地址: https://www.cveoy.top/t/topic/ljE7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录