米兔机器人 编程案例_米兔积木机器人改装双层立体车库,通过编程变得更智能...

上次,我们分享了双层车库的搭建步骤【没车不要紧,先拼个智能车库吧】,但只有外观仍然不能实现车库实现自动化运行,为了让小小停车库变得更智能,我们采用了米兔积木机器人拓展包颜色传感器,并通过米兔积木机器人主控的编程来实现双层车库的自动运行。

我们使用传感器作为输入设备,负责给主控发送需要几号车位(红色为1号,白色为2号,黑色为3号,这里只考虑上层1、2、3号车位取车的情况,因为下层车可以直接开走),为了让主控每次开机时知道自己是什么状态,每次完成动作后都恢复0号位(开机后初始状态默认0号位:1、2、3号全部在上层,下层中间为空位的状态,开机后初始状态),传感器识别红色时,执行左下车位向右移动,而后1号车位下降的动作,延迟5秒后执行相反的动作恢复至0号位,传感器识别白色时,执行2号车位下降动作,完成后延时5秒,执行相反的动作恢复至0号位,传感器识别黑色时,执行右下车位向左移动,而后1号车位下降的动作,完成后延时5秒,执行相反的动作恢复至0号位。我们还可以加上点音乐来声情并茂,开机后播放“门铃”,接收到动作命令播放“警报”,车位移动时播放机器人“加速”、“变形”,动作完成后播放“激光”,等待时间播放“唱歌”。最终,我们将编程的代码制作成如下版本:

程序调试:连接打开颜色传感器(参照说明书连接),完成编程后安下开始,车库不停的播放门铃,我们用红、白、黑卡片靠近颜色传感器去“刷卡”试一试吧(颜色卡片自行制作,做好以后用传感器先模拟识别测试好,可以在APP传感器注册界面测试)。

每次恢复0号位是不是很麻烦?如果你有3个传感器,那么你就能解决这个问题,让主控知道现在几号车位在下面,省去了复位的操作,只需要定义一个位置变量A,开机后通过传感器的灰度模式综合判断当前状态,使变量A=对应1、2、3号位置,达到初始化的目的,而后再循环判断执行1号位到2、3号位,2号位到1、3号位,3号位到1、2号的动作,动作完成后使变量A=完成后的位置号,这样就不需要每次都复位了(或者将判断位置的程序放入循环里面,主控自动判断变量A)。

三个传感器自动识别外形样式

原理说明:

使用一个传感器模拟刷卡,两个传感器使用灰度值判断下层车位的位置,左侧灰度大于90为3号,右侧灰度大于90为1号,两侧都大于为2号(灰度受环境影响,存在误差,依据实测取值)。

执行命令部分先判断刷卡请求,再判断不同位置的动作,双层条件判断模式,可以重复的动作统一执行,节省代码行。

如果你有传感器开发板,可以用开发板当做主控来执行判断程序,采用C语言编程,不用担心代码行数不够了,使用开发板的通讯功能可以与主控实时通讯,实现控制电机动作、播放音乐、接收传感器输入数值(可以接6个,一个读卡,5个检测位置,可实现限位停止、初始化自动复位等功能),还可以增加状态灯光指示(如流水灯、位置提示灯、警报灯等各种变换),(代码省略,有开发板的可以参考开发板示例水果琴、跑马灯等实例。)

如果你还不满足,可以通过开发板加装无线模块实现和小爱音响的互动,通过小爱的语音自定义控制功能来控制车库。具体参照西红柿炖番茄大神的教程,奉上友情链接搭建一个可以使用小爱控制的车库。

开发板安装的流水灯

传感器开发板及外壳

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值