编程——EV3电梯程序

前两天,在看朋友做EV3电梯的搭建,突然对其编程感兴趣,朋友在教孩子设计的时候只搭建两层,编程也是利用双触碰切换嵌套完成的,很有趣。但是,有孩子提出来要做8层电梯,这个编程就实现不了了。

接下来我们来讨论一下电梯程序的逻辑,对于电梯的运行我们简化到只要注意以下两点:

一是两个参数,一个是电梯现在所处的楼层a,第二是你按下要去的楼层d。当你在楼层d走出去后,对于下一个乘客来讲这个楼层d就是新乘客的楼层a;

二是电梯电机运行数值=k*(d-a),其中k为电梯移动一层电机需要转动的角度。

理解了以上两点就不难编程了。

首先写入电梯所处楼层a(以下直接简写为a),令a=1,因为没有0层。要去的楼层d(以下直接简写为d),令d=0因为初始没有要去的楼层。

本次采用了两个触碰传感器,触碰“1”作为收集数据d使用,按几下表示要去几楼。触碰“2”作为确认开关使用。这段程序每摁一次触碰“1”,d的值增加1,假设一共摁了7次,表示要去7楼。然后摁下触碰“2”,结束循环确认要去7楼。

然后要计算电机运行的角度,根据公式k*(d-a),本程序令k=90。要去7楼,电机需要运动6k的高度。然后把现在d的值7赋给a,也就是电梯现在停在7楼,进入循环等待下一次电梯乘客。假如下一乘客要去3楼,根据程序需要摁下3次触碰“1”,然后按触碰“2”确认。程序会根据3-7=-4,然后向下运行4楼。

需注意两次循环的名称不能一样,否则触碰“2”能起到确认开关的作用。另外,本程序只考虑电梯的运行,并未考虑其它有因素,还是有很多不足的地方。

程序共享链接: https://pan.baidu.com/s/1eHYnZ3xT7aJSoEHpiI1Weg 密码: qdpw

如果您觉得本公众号对您有用,希望帮助推荐给您身边的老师,谢谢!

欢迎关注!

欢迎加微信互相讨论!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180605G0ZZHJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券