Arduino开发之按键检测与正弦信号输出
作者:野牛程序员:2023-08-20 09:05:14Arduino阅读 3097
以下是一个示例,演示如何在 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

