按键按下,蜂鸣器响起10秒后停止arduino程序

按键按下,蜂鸣器响起10秒后停止arduino程序,第1张

int 禅芹BuzzerPin = 4 //蜂鸣器引脚

void setup()

{

   贺森毕 pinMode(BuzzerPin,OUTPUT)

}

void loop()

{

    春仔digitalRead(BuzzerPin,HIGH) //高电平输出,驱动蜂鸣器

    delay(1000) //延迟10s

    while(1) //死循环就可以了

}

arduino蜂鸣器声音大小用Tone函数表示

因为Arduino的Tone函数关于arduino播放音乐的原理,可以看上面链接的tahoroom的文章,他讲得相当详细。Arduino官方提供的Tone函数用于驱动蜂鸣器或扬声器发出我们需要的声音,通常的应用如下:tone(pin,frequency,duration)//控制pin脚上的音频输出//pin:arduino的控制脚位;//frequency:输出的声音频率,换到音乐上可理解为旋律音高;//尘简duration:旋律持续时间,单位ms;noTone(pin)//停止播放;详细的tone函数定义也可以参考官方介绍:

2、pitches.h的添加为了避免链兄做在主程序里添加太多的定棚衡义,我们把音高的定义独立出来放在一个头文件pitches.h里,然后在主程序里引用即可,下次需要同样的功能时,也可以直接拷贝调用该头文件。代码如下://pitches.h 音高定义//pitches.h 定义了不同音符对应的不同频率#define NOTE_B0 31 //B0 ····7#define NOTE_C1 33 //C1 ···1#define NOTE_CS1 35 //C1##define NOTE_D1 37 //D1 ···2#define NOTE_DS1 39 //D1##define NOTE_E1 41 //E1 ···3#define NOTE_F1 44 //F1 ···

可以,你说的”电脑编好的程序,烧给Arduino,然后Arduino成旁高为一个独立个体进行代码下的活动“是对arduino编程和烧写,这个环节只要一次。arduino根据你的程序运行之后可以通过串口与电脑进行双向通信(前提是你的arduino程序里有串口通信代码)。与此同时,如果你用的arduino板上的芯片还有其他未用的串行通信接口或者I2C、SPI、CAN接口,也可以与传感器进行通信,这样,就可以将传感器的运州尺数据借助arduino传输至你的电脑了。

P.S.如果你要实现的任务不复杂,用arduino IDE进行编程、汇编是可以的,如果对时效要求较高,譬如想达到1Mbps的串口传输速率或者400kHz的I2C通信或者10KHz以上的方波输出或者尽可能短的程序执行周期,建议在Atmel Studio用gcc直接对avr进行编程。效率很轻松的能达到arduino IDE编译的程序的5到10倍强。

P.P.S.你的电脑上位机程序编写看你迹空个人爱好,如果你之前学过编程有基础,可以用VB,C++,DELPHI.如果你的基础不是太牢并且想短时间内看到成果,推荐matlab或者labview。内部集成强大的数学分析工具,可以直接使用,譬如离散卡尔曼,FFT,等等等等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12275976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存