Arduino开发之按键检测与正弦信号输出
作者:野牛程序员:2023-08-20 09:05:14Arduino阅读 2695
以下是一个示例,演示如何在 Arduino 上进行按键检测,并输出正弦信号:
按键检测:
const int buttonPin = 2; // 将按键连接到数字引脚 2 int buttonState = 0; // 保存按键状态,0 表示未按下,1 表示按下 void setup() { pinMode(buttonPin, INPUT); // 设置引脚为输入模式 } void loop() { buttonState = digitalRead(buttonPin); // 读取按键状态 if (buttonState == HIGH) { // 按键被按下 // 在这里可以添加你的按键操作逻辑 } // 在这里可以添加其他代码,它将在按键未被按下时执行 }
正弦信号输出(使用 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