当前位置:首页Arduino > 正文

Arduino开发之按键检测与正弦信号输出

作者:野牛程序员:2023-08-20 09:05:14Arduino阅读 2695

以下是一个示例,演示如何在 Arduino 上进行按键检测,并输出正弦信号:

  1. 按键检测

const int buttonPin = 2;  // 将按键连接到数字引脚 2
int buttonState = 0;      // 保存按键状态,0 表示未按下,1 表示按下

void setup() {
  pinMode(buttonPin, INPUT);  // 设置引脚为输入模式
}

void loop() {
  buttonState = digitalRead(buttonPin);  // 读取按键状态

  if (buttonState == HIGH) {
    // 按键被按下
    // 在这里可以添加你的按键操作逻辑
  }
  
  // 在这里可以添加其他代码,它将在按键未被按下时执行
}
  1. 正弦信号输出(使用 PWM):

const int sinePin = 9;  // 将输出连接到数字引脚 9
const int freq = 1000;  // 正弦信号的频率(Hz)
int phase = 0;          // 正弦信号的相位

void setup() {
  pinMode(sinePin, OUTPUT);  // 设置引脚为输出模式
}

void loop() {
  int value = 128 + 127 * sin(2 * PI * freq * phase / 1000.0);  // 计算正弦信号值
  analogWrite(sinePin, value);  // 输出正弦信号

  phase += 1;  // 增加相位,产生连续的正弦波

  delay(1);  // 延时以调整输出频率
}

在上述示例中,第一个代码块展示了如何进行按键检测。当按键按下时,可以在条件判断中添加相应的操作逻辑。

第二个代码块展示了如何通过 PWM 输出正弦信号。通过 analogWrite() 函数,可以输出模拟信号,用于控制正弦信号的幅值。sin() 函数用于计算正弦波的值,phase 用于改变正弦波的相位,从而实现连续的正弦信号输出。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击