# 案例03 智能衣柜 ![](./images/1BOixPA.jpg) ## 目的 --- - 制作一个智能衣柜。 ## 使用材料 --- - 1 x [智能家居套件(含主板)](https://item.taobao.com/item.htm?ft=t&id=609328225464) - 1 x 瓦楞纸板 ## 背景知识 --- ### 什么是智能衣柜 - 智能衣柜方便人自动开启拿取衣物, 用手轻轻一按,衣柜门就能灵敏的打开。同时,衣柜门滑动设置成了轻盈噪音低的模式,不影响人们的作息,通过按钮一键打开和关闭衣柜,除去了手动开门时吵醒家人的尴尬场景,又省时省力高端大气。 ### 智能衣柜原理 - 通过micro:bit 控制碰撞检测模块,接收碰撞信号,当接收到信号,控制舵机模块打开衣柜门,同时打开照明灯,未接收到信号则保持不变,控制照明灯为熄灭状态。 ![](./images/ttxyao2.png) ## 结构场景搭建 --- 准备一把美工刀和一些瓦楞纸板。 ![](./images/PuJE7uj.jpg) 搭建成如图样式: 正面: ![](./images/lNqGReU.jpg) 背面: ![](./images/mDXBxp3.jpg) 将元器件按如图摆放黏贴。 ![](./images/miuzisu.jpg) ## 硬件连接图 --- ![](./images/1ySeMXV.png) ## 软件 --- [微软makecode](https://makecode.microbit.org/#) IO口使用注意事项 ## 编程 --- ### 步骤 1 在MakeCode的代码抽屉中点击“高级”,查看更多代码选项。 ![](./images/smart_home_kit_case_01_01.png) 为了给智慧家居套件编程,我们需要添加一个代码库。在代码抽屉底部找到“扩展”,并点击它。这时会弹出一个对话框。搜索“smarthome",然后点击下载这个代码库。 ![](./images/smart_home_kit_case_01_02.png) 注意:如果你得到一个提示说一些代码库因为不兼容的原因将被删除,你可以根据提示继续操作,或者在项目菜单栏里面新建一个项目。 ### 步骤 2 在“基本”中拖出一个“当开机时”积木块,在其中插入“设置拉引脚”积木块将p2拉为高电平。 从“引脚”中拖出“向伺服机构引脚”积木块,选择p7口,将p7口设为180度,将舵机设置为一个关门的状态。 ![](./images/smart_home_kit_case_03_03.png) ### 步骤 3 在“无限循环”积木块中,首先判断p2引脚的值是否为0,满足条件,将门这个变量的状态取反之后判断变量是否为高电平,如果满足高电平,点亮rainbow led,然后将舵机状态设置为0转动180度达到开门的效果。 ![](./images/smart_home_kit_case_03_04.png) ### 步骤 4 如果取反后不满足高电平,那么将舵机设置为180度的状态,并且将rainbow led保持熄灭状态。 ![](./images/smart_home_kit_case_03_05.png) ### 程序 请参考程序连接:[https://makecode.microbit.org/_2J3VR42c29cw](https://makecode.microbit.org/_2J3VR42c29cw) 你也可以通过以下网页直接下载程序。
--- ## 结论 --- 当触碰模块作为按钮被点亮,舵机状态被设置为0,转动180度,带动衣柜门打开,同时rainbow led被点亮照明,方便拿取衣物。 正面: ![](./images/XyAjCbV.jpg) 背面: ![](./images/mEbCjUQ.jpg) ## 思考 --- 如何设置一个衣物架,将高处的衣物降下来,方便拿取。 ## 常见问题 --- ## 相关阅读 ---