如何使用 CATALEX 的 Mp3 播放器
只需要一个库(#include 《SoftwareSerial.h》),并且有一些简单的功能:
如何使用 HC-SR04 在规定范围
内,很容易使用。
如何同时使用它们您的版本 1:简单的 mp3如果简单的话
还没有该库,请先安装它(《SoftwareSerial.h》)。
在这个版本的代码中,如果有东西接近 50 个,那么会触发 mp3 音频。
注意:完整的.ino代码在下面的项目附件中。
如何使用版本 2 和 Disturbance mp3 相近
此版本不影响检测距离,仅扫描之间的差异。如果错误突然触发,if(gap》20){。我们需要同时在循环外声明新变量。
int firstTime=0;//我们需要在循环外声明firstTime
long Distance,auxDistance,gap=0;
void loop()
{
Distance=measureDistance(trigPin,echoPin);//测量距离并存储
gap=abs(Distance-auxDistance);//计算现在和上次读数的差
if(firstTime==0){//需要为了稳定性,
auxDistance=Distance;
间隙=0;
//只在播放歌曲后第一次这样做以避免第一次循环故障
firstTime++;
延迟(1000);
}
if(gap>20){ //如果距离变化为20cm
sendCommand(CMD_PLAY_WITHFOLDER, 0X0201);//播放第二个文件夹的第一首歌曲
firstTime=0;//避免错误!!我们不喜欢错误
延迟(2000);
}
Serial.print("New Distace:");//debugggggg
Serial.print(Distance);
Serial.print("旧距离:");
串行打印(辅助距离);
序列号.println(间隙);
延迟(300);
auxDistance=Distance;//将 if() 的值存储在下一个循环中
}
如何使用它们的版本 3:两个距离传感器
使用两个距离传感器,实际上可以推测运动的方向,因此我做了一个程序,可以得知人的运动显示“你好”或“再见”。
首先,我们将另外两个数字化控制来控制第二个 HC-SR04:
新变量!
在设置()我们添加新的设置。
我们现在可以从函数中获取参数,更改参数。
在我们的 loop() 中:
void loop()
{
Distance=measureDistance(trigPin,echoPin);//测量距离1并存储
Distance2=measureDistance(trigPin2,echoPin2);//测量距离2并存储
gap=abs(Distance-auxDistance);//计算两者的差现在和上次读数
gap2=abs(Distance2-auxDistance2);// 计算现在和上次读数之间的差异
if(firstTime==0){//稳定性所必需的东西
auxDistance=Distance;
辅助距离2=距离2;
间隙=0;
间隙2=0;
//只在播放歌曲后第一次这样做以避免第一次循环故障
firstTime++;
延迟(2000);
}
if(gap>20 and gap2<20 ){ //如果距离变化为 20cm
sendCommand(CMD_PLAY_WITHFOLDER, 0X0201);//播放第二个文件夹的第一首歌
firstTime=0;//避免错误!!我们不喜欢错误
Serial.println("RIGHT MOVEMENT DETECTED");
延迟(2000);
}
if(gap2>20 and gap<20){ //如果距离变化是20cm
sendCommand(CMD_PLAY_WITHFOLDER, 0X0202);//播放第二个文件夹的第二首歌
firstTime=0;//避免错误!!我们不喜欢错误
Serial.println("检测到左移");
延迟(2000);
}
Serial.println("\\\\\\\\\\\\\\\\\\\\\\");//debugggggg
Serial.print("New Distace:");//debugggggg
Serial.打印(距离);
Serial.print("旧距离:");
串行。
Serial.print("GAP");
序列号.println(间隙);
Serial.print("New Distace2:");//debugggggg
Serial.print(Distance);
Serial.print("旧距离2:");
串行打印(辅助距离);
Serial.print("GAP2");
序列号.println(间隙);
Serial.println("\\\\\\\\\\\\\\\\\\\\\\");//debugggggg
延迟(300);
auxDistance=Distance;//将if()的值存储在下一个循环中
auxDistance2=Distance2;//将if()的值存储在下一个循环中
}
Disturbance2=0;
左=0;
对=0;
delay(1000);//等待避免错误
}
delay(300);
辅助距离=距离;
auxDistance2=Distance2;//将if()的值存储在下一个循环中
}
全部0条评论
快来发表一下你的评论吧 !