【烟台】点阵屏教程(十一)----我之“醉”
我之“醉”——XYZ极值通过前面的学习,我们知道X、Y、Z的取值是-1G到1G,那么XYZ的取值范围是不是就是-1G到1G呢,答案是否字,我们在前面测值时是通过它的自然重力,并没有给它加速度,那么当我们摇动起来,它的值又会多少呢?项目内容我们可以通过点阵屏运行来测试出X、Y、Z轴上的加速度。点阵屏在静止不动时,小球对底面的压力为1G,那么当点阵屏运行时,小球对左右和上下两个面的加速度是多少呢;当我们上下晃动时对Z轴上的加速度又是多少呢?我们思可以通过列表来记录XYZ轴上最大值和最小值,摇动点阵屏5秒中后,让它显示出加速度的最大值和最小值。
项目指导一、连接各路器件:
http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry0bCByl3oTqLjg4Un5bIrrsh5lkap6dAN6WOhb1SYHFhvnRRemxM*bpat*4Lx5prkg!!/b&ek=1&kp=1&pt=0&bo=gAegBYAHoAURIBc!&t=5&tl=3&su=013574687&tm=1585627200&sce=0-12-12&rf=2-9
二、设计思路:
http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry0ICQu4I7PTjwGJFy6kuL8WfQVfLfYTV6ShldJHpZL7R.ZJHRiyB4Wv67FHLFj8hxg!!/b&ek=1&kp=1&pt=0&bo=ZQIEAWUCBAEDEDU!&tl=1&su=0202102447&tm=1585627200&sce=0-12-12&rf=2-9
三、列表及其特点:如果把变量比作一个房间,那么列表就可以比作成一幢大楼,大楼里面有很多房间,每个房间都有一个门牌号即列表的序号。我们现在就要用这幢大楼来存储XYZ三个轴上的最大值和最小值。通过对设计思路的梳理,我们知道我们要存储这些数据,我们需要6个房间即我们的列表里面要有6个项,我们看一下古德微机器人编程网站上的列表模块。它的部分积木有:
http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry*6OkO7pf0KYIo.UX3h08gxi4FuU9UsE2eRfxIoKDx2ItPt50hZdKTqPqp.y2ZVIIg!!/b&ek=1&kp=1&pt=0&bo=jgH6AY4B.gEDEDU!&tl=1&su=089875391&tm=1585627200&sce=0-12-12&rf=2-9
我们现在要创建一个这样的列表:http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry6bHTKSNNZsU7vc**H8ZS3ukouOYU55szL4Do8P91izL3YjxzJzOHmt1TwAjnqX*iw!!/b&ek=1&kp=1&pt=0&bo=sQAQAbEAEAEDEDU!&tl=1&su=061201247&tm=1585627200&sce=0-12-12&rf=2-9将它变成单行输入 http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5rywoKdEYnQbmA3Z3tpRX5kYs2VfLtASwA5bMBOzUMIfmoIph8L9oHYgZCTEl981F5Ng!!/b&ek=1&kp=1&pt=0&bo=6gAgAOoAIAADEDU!&tl=1&su=0114786511&tm=1585627200&sce=0-12-12&rf=2-9
注意:序号分别对应是1、2、3、4、5、6。需要使用时,我们只要有列表名加索引序号值即可http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ryzCuPfpJ9l8wRM*n0bAyfIwna9DtXEgkueCJ7Wo1xDqB03uQipyLobkHBUbV46SeOw!!/b&ek=1&kp=1&pt=0&bo=5AAeAOQAHgADEDU!&tl=1&su=094414255&tm=1585627200&sce=0-12-12&rf=2-9。我们可用1、3、5分别来存储X、Y、Z轴的最大值,而用2、4、6分别来存储X、Y、Z轴的最小值。我们可以建立一个变量mylist来存储它,并将它的初值均设为0http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry7tx7qti4mDC6ghM7iqIRWpv5PHNe.GILsAr79MssUkTNoJfO221GaWEB9EzTLLi3A!!/b&ek=1&kp=1&pt=0&bo=hwEnAIcBJwADEDU!&tl=1&su=078917711&tm=1585627200&sce=0-12-12&rf=2-9
四、建立两个函数:为程序设计方便,我们首先建立两个函数,分别是max和min。我首先设三个变量X、Y、Z来存储X、Y、Z轴上的加速度。我们可以写出max和min函数:http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry.2BTzGECQIMDqOCpZYcmeE9qjEmi0Ax7lpMOZvfYI49LI06SAr81QGRkl5GoM8LOw!!/b&ek=1&kp=1&pt=0&bo=vQHrAL0B6wADEDU!&tl=1&su=071143679&tm=1585627200&sce=0-12-12&rf=2-9
http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry8rs.5aH88kcAKiSuNCL396ev*7VEIW08iI1EUrI8jT5kjfKBA2PPJGbMP8kqZa0lQ!!/b&ek=1&kp=1&pt=0&bo=ugHoALoB6AADEDU!&tl=1&su=050064639&tm=1585627200&sce=0-12-12&rf=2-9
五、主程序首先我们用X、Y、Z来存储获得的XYZ轴的加速度,然后与mylist列表中对应的值进行比较,5秒以后,显示各个值(这里面首先我们要能过时间模块中的http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry.mRPiz7YqWaLplrMTrMOGshPFWP4rpKPYmKv3Whc4VbasNkyaKyVrcMnRTc.*I.uw!!/b&ek=1&kp=1&pt=0&bo=nwAWAJ8AFgADEDU!&tl=1&su=0205603631&tm=1585627200&sce=0-12-12&rf=2-9积木来获取开始的时间和结束的时间,因此我们的程序可以写成:
http://a1.qpic.cn/psc?/V13slqLh0xNjOv/jKwCg1C7YRUNu7w0Ty5ry0q1avl2zN4PGD6JmEBdDDD6LASoO9zuQu6kpEXfQZrR*K8kKfziiHeMcNSO3IDgHA!!/b&ek=1&kp=1&pt=0&bo=nQEPAZ0BDwEDEDU!&tl=1&su=0242923439&tm=1585627200&sce=0-12-12&rf=2-9
运行程序,在右边的提示栏里就可以看到X、Y、Z轴上的最大值和最小值了。
我之“醉”——XYZ极值也就完成了。
页:
[1]