学了就要用,来一个驱“四害”的
本帖最后由 lqh 于 2016-1-9 21:20 编辑现在虽说是数九寒冬,但酷热的夏天终归要来的!随之而来的,当然还有蚊子、蟑螂等等,有什么办法把它们拒之门外呢?对了,次声波(低于30HZ的正弦波,一般5—20HZ),大功率的次声波能杀人于无形,下一步将广泛用于战场,小功率的次声波赶赶蚊子蟑螂,那是不在话下。如何产生次声波,既然学了Arduino,今天就用它产生一个10HZ的正弦,程序及接线说明如下:
float deg=0;//这是角度
float rad=deg*PI/180;//这是角度对应的弧长
void setup() {
Serial.begin(9600);
}
void loop() {
for(deg=0;deg<360;deg=deg+0.1){//角度的步长为0.1,一个周期就要输出3600个数据,够精确了
float i=(255*sin(deg*PI/180)+255)/2;//将角度转变为弧长,并使其值的范围在0-255之间
analogWrite(10,i);//模拟引脚10直接接2.5mw的扬声器,或加一数字滤波并用一小功率三极管(如9018)驱动则更好
//Serial.println(i);//打开用于调试
delayMicroseconds(27.77);//正弦的周期为0.02777*3600=100ms,即10HZ的次声波
}
}
看贴不回贴不文明! 有示波器显示的结果不? 不好意思,没有示波器显示结果,不过你可以用Processing来显示! 很可惜,事與願違,因未有考慮運行所需的時間!
// delayMicroseconds(27.77);//正弦的周期为0.02777*3600=100ms,即10HZ的次声波
輸出應約為 1.4Hz
eddiewwm 发表于 2016-1-11 10:54 static/image/common/back.gif
很可惜,事與願違,因未有考慮運行所需的時間!
// delayMicroseconds(27.77);//正弦的周期为0.02777*3 ...
haha ,打脸了不是? eddiewwm说的很对,之前确实没有考虑运行时间,谢谢提醒!在交流中学习,在碰撞中提高,这应该是大家参与论坛的初衷,希望大家多提意见,提出象eddiewwm一样的好意见,谢谢! eddiewwm 发表于 2016-1-11 10:54 static/image/common/back.gif
很可惜,事與願違,因未有考慮運行所需的時間!
// delayMicroseconds(27.77);//正弦的周期为0.02777*3 ...
以前的每次输出都要进行浮点运算,既浪费资源,又不好掌握运行时间,现改成数组输出吧!
float deg=0;
int num;//用于存贮正弦值
int a=0;
void setup() {
Serial.begin(9600);
int i=0;
for(deg=0;deg<360;deg=deg+1){//角度的步长为1
num=(255*sin(deg*PI/180)+255)/2;//将角度转变为弧长,并使其值的范围在0-255之间,
i=i+1;
}
}
void loop() {
if(a==360){
a=0;
}
analogWrite(10,num);//从数组中读入并写出
//Serial.println(num);//打开用于调试
delayMicroseconds(277);//对着示波器自己调到10HZ左右
a=a+1;
} lqh 发表于 2016-1-13 08:52 static/image/common/back.gif
以前的每次输出都要进行浮点运算,既浪费资源,又不好掌握运行时间,现改成数组输出吧!
float de ...
頻率調得差不多了;但按理這段代碼應該會編譯失敗才是,因單看以下這句,就應該有問題了。
// num=(255*sin(deg*PI/180)+255)/2;//将角度转变为弧长,并使其值的范围在0-255之间,// 能确定这些小东西吃这一套?如果真有效的话可能好多人都想去弄一套,但貌似很早前就有不少人试过效果不太好吧? maxims 发表于 2016-1-11 21:23
haha ,打脸了不是?
效果怎么样,做一个试试呗!以前用C51做了一个,家里的蟑螂少了很多,有时即便发现有,那也是个头特小的。 能不能驱赶老鼠啊? catnull 发表于 2016-1-21 08:41 static/image/common/back.gif
能不能驱赶老鼠啊?
理论上讲,应该是可以的!但用什么频率、使用多大功率,需要查阅资料和进行试验。但切记要注意功率不能太大,对人有伤害。 :lol很不幸,然并卵,但没关系,反正就是玩嘛,管他有木有用呢。。。。 lqh 发表于 2016-1-13 08:52 static/image/common/back.gif
以前的每次输出都要进行浮点运算,既浪费资源,又不好掌握运行时间,现改成数组输出吧!
float de ...
哎哟,我滴个天,这个不错。
再来一个EEprom存储
页:
[1]