首页
学习
活动
专区
工具
TVP
发布

化身智能行走垃圾桶下篇

Micro:bit化身智能行走垃圾桶下篇(完结篇连线与编程)

上一篇的教程讲解了垃圾桶的搭建制作过程,这一篇完结教程中我们植入程序到小bit中赋予我们全新智能跟随垃圾桶全新的活力。让我们一起开始吧!

编程控制

想必看过功能演示视频的小伙伴大概知道了程序运行的控制逻辑,超声波提供距离的实时测量值实时回传给Micro:bit,在不同的距离区间做出对应的操作,包括跟随手的移动前进,开合垃圾桶盖等等一系列操作,这里综合运用了Micro:bit和Robit:bit组合在一起强大的拓展性包括对直流电机的控制,对伺服舵机的控制,对超声波传感器的控制等等。这一套程序的编写也锻炼亲们的程序控制逻辑,是个不错的学习教程,下面我们直接对照程序讲解。

参考以前丐版垃圾桶的程序片段,发现只要在主程序里加入超声波测距和控制电机旋转的指令就可以了,先贴上程序,需要下载参考的亲们可以在贴子的末端下载源程序,因为时间有限程序实现基础的功能,大家可以下载程序学习并美化程序。

程序总览

基于Micro:bit的Makecode图形化编程是练习编程逻辑和编程入门的好帮手,小喵也率先完成了Makecode离线版的开发大大方便了国内使用网页版Makecode的老师和学生群体!!!欢迎各位亲们查看前面的教程下载安装并使用!

如果你是小白是新手推荐你查看论坛往期关于Micro:bit小白入门循序渐进教程来熟悉掌握Micro:bit的编程。

程序功能

程序实现的功能可以通过视频中的画面可以看到:

1.将智能跟随垃圾桶放在离自己手掌比较远的地方及超过规定的探测距离,智能垃圾桶处于待机状态可以根据垃圾桶上的指示灯观察到智能垃圾桶的状态。在这里我们设置超声波RGB指示灯为绿色,Robot:bit的RGB指示灯颜色为蓝色。

2.程序片段不停扫描扫描超声波传感器反馈的距离并做出判断,我们设定程序初始状态机为2 考虑到程序会出现不同的状态这里的数字可以随便写,但是在逻辑上要和其他状态的状态机区分开来,以避免程序的误触发。

3.程序主要分为启动初始程序,控制行走部分程序,开合垃圾桶盖的程序,附带一些显示效果的程序,包括亮灯和蜂鸣器响鸣。

由于程序比较长我们分几个单元看一下。

首先是开机程序

开机程序

程序说明:当开机时,停止所有电机,因为安装连杆舵机时的安装位置不同导致需要设置的舵机初始角度有所不同,需要根据实际情况进行修改,在这里我们连杆舵机关闭后实际需要的角度为65度,所以设置舵机初始角度是65度。然后是配置超声波上面的指示灯,将超声波的数字引脚接入Robot:bit上的A2引脚,并在开机时播放特定的音乐一次,Micro:bit显示心型图案闪烁,并预置标记位为2,超声波初始距离为50,在这里50是设置的一个初始值,让层序能够顺利进入主程序扫描阶段,设置RGB灯亮度为200,超声波指示灯为绿色,Robot:bit的灯颜色为蓝色。

然后是主程序

主程序1

程序说明:主程序比较长我就截成了两段放了出来,先看第一张图,将超声测量到的距离通过引脚A1反馈回Micro:bit,并对测回的距离的值进行判断,当距离的至大于20并且小于40时首先启动跟随程序,并设置标记位为1,进入跟随状态,Robot:bit的RGB指示灯为绿色显示为跟随状态,启动左右电机速度为120,当垃圾桶前进到一段距离时,当距离障碍物,这里时手的距离小于20时停止所有电机并等待超声波测回的数值的进一步反馈。

主程序2

程序说明:标记位归0后,测试距离如果继续小于20的话就调用开启垃圾桶盖函数,如果距离为其他的值则舵机保持不动,电机处于停止状态,心型灯保持闪烁,并回到开机状态。

最后是调用的开盖函数

开盖函数

程序说明

这是一个调用指令的函数,看过以前帖子的亲们,这一段的编写是没有什么难度,就是一个控制舵机开合的过程,通过上面的函数也能简单的看懂,稍微讲解一下就是,超声波指示灯颜色变为白色,Micro:bit显示勾符号,延时一段时间后舵机旋转带动垃圾桶盖旋转,打开后等待一段时间关闭垃圾用盖程序结束。

主程序大概的流程和原理基本是这些,亲们可以下载原程序学习,欢迎实锤。

接线部分

接线图

绿色:对应左右两边的N20注意正负

红色:舵机

蓝色:超声波对应引脚(前面超声波使用教程已经写过关于接线可以参考前面教程)

接线完毕这样我们把程序烧入到Micro:bit中,大功告成,我们的跟随垃圾桶就大功告成。

到此关于跟随垃圾桶的教程全部结束。欢迎亲们下载相关文件学习实锤!!!

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券