玩具车

点击题目地址,得到一个压缩包,解压后会发现有12个音频,和两张图片。
玩具车_第1张图片这是什么鬼,我读了一遍题:
玩具车_第2张图片运行轨迹?这是什么鬼。果断百度一下:这事红帽杯的题,突然,就兴奋了。不过,看的有的吗,懵逼。
现在想想学长天天说自己什么也不会,说自己是misc选手。这就是赤裸裸的炫耀啊。这道题应该有些步进电机驱动的东西,反正我是搜的是L298N(就是图片上的名字),看的我是一脸懵逼。
我反正是先走一步看一步。先把音频转化换成二进制吧。大概原理就是让高音是1,低音是0;
我使用python编写的,因为C语言不会读取文件;在python中用wav库就可以了,像这样:在这里插入图片描述“rb”是读取二进制,千万不要用“r”,用r就错了,前面的引号里面是路径,转义符号要用两个\,用一个它直接转义了读取不到\。
我们在获取这个音频的参数:在这里插入图片描述getparams是获取音频信息,也就是这个:
玩具车_第3张图片我们再把提取的信息分开:
在这里插入图片描述我们需要用程序来帮我们写出1和0,用字符串比较合适,数字的话,有些麻烦,字符串只要整一个加号就可以了。
在这里插入图片描述我们提取出来的的频率是连续的,但我们人耳听见的是一会儿高,一会低,中间从高到低的过程是直接忽略的,这就要在这个过程中加一个间隔,也就是频率。
在这里插入图片描述我们再把频率提取出来:
在这里插入图片描述readframes是:玩具车_第4张图片short:
玩具车_第5张图片我们把这个程序运行一下:玩具车_第6张图片在这个路径会出现一个文件:玩具车_第7张图片其他的音频也想这样做。
之后,百度一下图片的文件名,那是小车的运行原理,我们会找这张图:玩具车_第8张图片而,我们的的0和1会发现只有三种类型,EN——是一类,A_,是一类,B——是一类。EN对应着图中ENA,A对应IN1,B对应IN2,我们根据这个把这些编码转化成前进,后退,左转,右转的形式。
玩具车_第9张图片然后,我们就需要调用turtle库,来帮我们画出小车的运动轨迹,用法是:玩具车_第10张图片玩具车_第11张图片编写一个差不多这样的程序:
玩具车_第12张图片运行一下:
玩具车_第13张图片这看的有点蒙。不过,还是能看出来的。
玩具车_第14张图片我们需要把下面的边缘拉一下
玩具车_第15张图片发现拉不出来后面的东西。哎,调整一下方向(小声比比,参考了一下答案,不参考就做不出来)
玩具车_第16张图片转换一下角度。再运行一下,之后拉一下边缘:
玩具车_第17张图片
最后,再注意一下大小写,就完成了。
玩具车_第18张图片玩具车_第19张图片玩具车_第20张图片

你可能感兴趣的:(玩具车)