|
本帖最后由 kbach 于 2016-2-2 12:28 编辑
最近无聊,一直想找个有意思的程序编编,一次我想到了很多程序或者游戏当中,声音来源地发出的各种声响,在你第一人称下听见的声音响度是不同的,比如你家楼下有人在洗衣服,如果你离声音发生地很近,你所听到声音的响度就越大,离得越远,声音响度就越小。所以,我们可以做一个机器人,检测到目标的距离来判断机器人发出的响度。
我用的是ev3机器人,首先,我们先要创建个变量,名字叫做distance,来记录每一次超声波检测的值。在创个大循环,是死循环,每次把超声波检测的值给“distance”变量,如下图:
图1
然后,我们在循环里写入数学模块选择减法,把a值调成100,b值就是超声波检测值,变量“distance”(当然,你用红外线也行,不推荐)这算法是我自己想出来的,不是很难,接下来,我们验算下,如果机器人距离目标只有1cm,那么就用100-1=99,所以机器人发出来的声音值是99;如果机器人离目标有90cm,那么就用100-90=10,那么机器人发出来的响度就是10,很小。如下图:
好了,那么我们这个程序就完成了,简单吧,你可以把机器人拿在手里,把超声波对着目标,走动,看看他发出的音量的大小
如有错误,或者bug——还是错误)请找我,谢谢!PS:下载地址到了5楼发
|
|