以下是一个使用Arduino编写的程序,可以让红灯以1Hz的频率闪烁,蓝灯以3Hz的频率闪烁。

// 定义红灯引脚
int redLedPin = 10;
// 定义蓝灯引脚
int blueLedPin = 11;

// 红灯闪烁的时间间隔(单位:毫秒)
int redLedInterval = 500;
// 蓝灯闪烁的时间间隔(单位:毫秒)
int blueLedInterval = 333;

// 记录红灯、蓝灯当前状态
int redLedState = LOW;
int blueLedState = LOW;

// 记录红灯、蓝灯上一次闪烁的时间
unsigned long previousRedLedMillis = 0;
unsigned long previousBlueLedMillis = 0;

void setup() {
  // 设置红灯引脚为输出模式
  pinMode(redLedPin, OUTPUT);
  // 设置蓝灯引脚为输出模式
  pinMode(blueLedPin, OUTPUT);
}

void loop() {
  // 获取当前时间
  unsigned long currentMillis = millis();

  // 控制红灯闪烁
  if (currentMillis - previousRedLedMillis >= redLedInterval) {
    // 记录当前时间
    previousRedLedMillis = currentMillis;
    // 切换红灯状态
    if (redLedState == LOW) {
      redLedState = HIGH;
    } else {
      redLedState = LOW;
    }
    // 更新红灯状态
    digitalWrite(redLedPin, redLedState);
  }

  // 控制蓝灯闪烁
  if (currentMillis - previousBlueLedMillis >= blueLedInterval) {
    // 记录当前时间
    previousBlueLedMillis = currentMillis;
    // 切换蓝灯状态
    if (blueLedState == LOW) {
      blueLedState = HIGH;
    } else {
      blueLedState = LOW;
    }
    // 更新蓝灯状态
    digitalWrite(blueLedPin, blueLedState);
  }
}

在上述程序中,我们首先定义了红灯和蓝灯的引脚,分别为10和11。接下来定义了红灯闪烁的时间间隔为500毫秒,蓝灯闪烁的时间间隔为333毫秒。然后,我们使用pinMode函数将红灯引脚和蓝灯引脚设置为输出模式。

loop函数中,我们使用millis函数获取当前时间,并与上一次闪烁时间进行比较,以控制红灯和蓝灯的闪烁频率。如果当前时间与上一次闪烁时间的差值大于等于闪烁时间间隔,我们就切换相应灯的状态,并更新引脚的输出电平。

这样,就可以实现红灯以1Hz的频率闪烁,蓝灯以3Hz的频率闪烁

用arduino写一个红灯闪烁频率1Hz蓝灯闪烁频率3Hz的程序

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

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