关于“外部中断触发蜂鸣器报警”实验-Arduino中文社区 - Powered by Discuz! Archiver

arduino_wgt 发表于 2020-7-30 11:13

关于“外部中断触发蜂鸣器报警”实验

本帖最后由 arduino_wgt 于 2020-7-30 11:27 编辑

该实验在第二版书的87页,程序代码如下:
boolean RunBuzzer = true;

void setup()
{
Serial.begin(9600);
attachInterrupt(0, warning, CHANGE);
}

void loop()
{
if(RunBuzzer) tone(8, 1000);
else noTone(8);
}

void warning()
{
RunBuzzer = !RunBuzzer;
}在实验过程中,发现红外障碍传感器输出电平发生变化时(电平从高到低,或从低到高),喇叭有时没有按照预期发出声响(十次实验,有6、7次按预期发出声响,3、4次没有按照预期发出声响)。是红外障碍传感器的输出电平有跳动所致吗?(像按键一样,传感器的输出波形有抖动),手头没有示波器,不知道有人遇见过这种情况没有。


ifeue 发表于 2020-7-30 14:10

是传感器的输出波形有抖动,中断函数被调用多次了吧。你先试试只用上升沿或下降沿触发会不会有点改进,再试试软件防抖。

arduino_wgt 发表于 2020-7-30 15:10

ifeue 发表于 2020-7-30 14:10
是传感器的输出波形有抖动,中断函数被调用多次了吧。你先试试只用上升沿或下降沿触发会不会有点改进,再试 ...

是传感器的输出波形有抖动。试了上升沿和下降沿触发,效果不好。
拔掉传感器,用一根杜邦线连接UNO上的+5V口和D2,手动模拟传感器的输出,完全按照预期的变化了。

lwq1947 发表于 2020-7-30 15:18

本帖最后由 lwq1947 于 2020-7-30 15:35 编辑

红外传感器的输出波形是没有抖动的.当被触发后立刻输出高电平然后延时一段时间(有固定和可调的)后变回低电平.你现在的情况是有漏触发现象.原因有两几方面:是否在传感器的探测距离和角度内.是否实验间隔小于传感器延时时间加2.5秒(封锁时间).

arduino_wgt 发表于 2020-7-30 15:29

lwq1947 发表于 2020-7-30 15:18
红外传感器的输出波形是没有抖动的.当被触发后立刻输出高电平然后延时一段时间(有固定和可调的)后变回低电 ...

我用的是这种红外传感器:
https://www.arduino.cn/thread-89473-2-1.html
手头有万用表测了一下,未触发时输出高电平,触发后立即输出低电平,一直持续到移除触发条件为止,接着立即输出高电平。未见该传感器有触发延时和封锁时间。

lwq1947 发表于 2020-7-30 15:44

本帖最后由 lwq1947 于 2020-7-30 15:46 编辑

arduino_wgt 发表于 2020-7-30 15:29
我用的是这种红外传感器:
https://www.arduino.cn/thread-89473-2-1.html
手头有万用表测了一下,未触发 ...
该模块检测距离2-30cm(电位器可调),检测角度35度.是否在范围内?

arduino_wgt 发表于 2020-7-30 15:52

lwq1947 发表于 2020-7-30 15:44
该模块检测距离2-30cm(电位器可调),检测角度35度.是否在范围内?

在的,我是直接用手罩着传感器测试的

arduino_wgt 发表于 2020-7-30 15:59

lwq1947 发表于 2020-7-30 15:44
该模块检测距离2-30cm(电位器可调),检测角度35度.是否在范围内?

不知道在传感器的OUT脚与GND之间并上一个电容是否能稳定传感器的输出,网上买的电容还没到

lwq1947 发表于 2020-7-30 19:46

本帖最后由 lwq1947 于 2020-7-30 19:52 编辑

arduino_wgt 发表于 2020-7-30 15:59
不知道在传感器的OUT脚与GND之间并上一个电容是否能稳定传感器的输出,网上买的电容还没到 ...
不用加电容,你的测试方法不对.在传感器的前面用一块白色板子当障碍物来试.传感器 https://item.taobao.com/item.htm?spm=a230r.1.14.98.49475d4ei9fcQz&id=596278718986&ns=1&abbucket=14#detail

arduino_wgt 发表于 2020-8-4 09:54

lwq1947 发表于 2020-7-30 19:46
不用加电容,你的测试方法不对.在传感器的前面用一块白色板子当障碍物来试.传感器 https://item.taobao.com ...

实测用一个0.33uF的电容与输出并联后,效果很好


页: [1] 2
查看完整版本: 关于“外部中断触发蜂鸣器报警”实验