关于“外部中断触发蜂鸣器报警”实验
本帖最后由 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
是传感器的输出波形有抖动,中断函数被调用多次了吧。你先试试只用上升沿或下降沿触发会不会有点改进,再试 ...
是传感器的输出波形有抖动。试了上升沿和下降沿触发,效果不好。
拔掉传感器,用一根杜邦线连接UNO上的+5V口和D2,手动模拟传感器的输出,完全按照预期的变化了。 本帖最后由 lwq1947 于 2020-7-30 15:35 编辑
红外传感器的输出波形是没有抖动的.当被触发后立刻输出高电平然后延时一段时间(有固定和可调的)后变回低电平.你现在的情况是有漏触发现象.原因有两几方面:是否在传感器的探测距离和角度内.是否实验间隔小于传感器延时时间加2.5秒(封锁时间). lwq1947 发表于 2020-7-30 15:18
红外传感器的输出波形是没有抖动的.当被触发后立刻输出高电平然后延时一段时间(有固定和可调的)后变回低电 ...
我用的是这种红外传感器:
https://www.arduino.cn/thread-89473-2-1.html
手头有万用表测了一下,未触发时输出高电平,触发后立即输出低电平,一直持续到移除触发条件为止,接着立即输出高电平。未见该传感器有触发延时和封锁时间。 本帖最后由 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度.是否在范围内? lwq1947 发表于 2020-7-30 15:44
该模块检测距离2-30cm(电位器可调),检测角度35度.是否在范围内?
在的,我是直接用手罩着传感器测试的 lwq1947 发表于 2020-7-30 15:44
该模块检测距离2-30cm(电位器可调),检测角度35度.是否在范围内?
不知道在传感器的OUT脚与GND之间并上一个电容是否能稳定传感器的输出,网上买的电容还没到 本帖最后由 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 lwq1947 发表于 2020-7-30 19:46
不用加电容,你的测试方法不对.在传感器的前面用一块白色板子当障碍物来试.传感器 https://item.taobao.com ...
实测用一个0.33uF的电容与输出并联后,效果很好
页:
[1]
2