植物养护
先了解你将做出什么
应用介绍
你有“绿手指”,还是总把家里的植物养死?这个应用用 Arduino 101 传感器读取光照、土壤湿度和温度,并把读数画成三根会变化的柱状条,帮助你观察植物环境。
连接你的应用
把 Arduino 101 和手机连接好,并在 App Inventor 中导入对应的物联网扩展。没有硬件时可以先阅读积木,但最终效果必须用真实传感器测试。
植物养护教程
1. 准备工程
打开起始工程,确认设计器里有 HorizontalArrangement2、Arduino 101 光照传感器、湿度传感器和温度传感器。教程用三根垂直排列的彩色柱状条表示三个读数。
2. 添加三个垂直布局
在“布局”抽屉中拖入三个 VerticalArrangement,并把它们放进 HorizontalArrangement2。它们将从顶部向下增长,模拟三根状态柱。

3. 重命名三个布局
依次选择三个布局并重命名:VerticalArrangement1 改为 LightBar,VerticalArrangement2 改为 MoistureBar,VerticalArrangement3 改为 TemperatureBar。

4. 设置高度和宽度
把 LightBar、MoistureBar 和 TemperatureBar 的高度都设为 0px,宽度都设为“充满父容器”。程序收到传感器读数后,会把高度从零改成对应的数值。

5. 设置三根柱子的颜色
为了让三种读数一眼可分辨:LightBar 使用黄色,MoistureBar 使用蓝色,TemperatureBar 使用红色。

6. 设置 LightBar 高度
切换到积木编辑器,在 LightBar 抽屉中拖出 设 LightBar.高度 为。把它接到乘法块的结果上,先用传感器读数乘以 0.75,把结果变成适合屏幕显示的高度。


7. 连接光照数据事件
找到 当 Arduino101LightSensor1.LightSensorDataReceived 事件。把完整的 设 LightBar.高度 为 放在这个事件已有程序块的下方,让每次收到光照数据时都更新黄色柱子的高度。


8. 读取 intensity 参数
在 LightSensorDataReceived 事件的红色 intensity 参数上悬停,从弹出的参数块中选择 intensity,并把它接入 __ × 0.75 的第一个输入槽。

9. 更新 MoistureBar
重复第 6~8 步,但这次使用 设 MoistureBar.高度 为,把湿度读数乘以 4,并把程序接到 当 Arduino101Moisture1.MoistureReceived 事件。
在事件参数上取得 moisture,将它接到乘法块中。蓝色柱子会随着土壤湿度变化。

10. 更新 TemperatureBar
再次重复第 6~8 步,使用 设 TemperatureBar.高度 为,把温度读数乘以 0.75,并接到 当 Arduino101Humidity1.TemperatureReceived 事件。
从事件参数取得 temperature,接到乘法块。这样红色柱子就会反映温度变化。

11. 在设备上测试
用真实 Arduino 传感器测试应用:遮住光照传感器、给土壤浇水、改变环境温度,观察对应柱子是否变化。若柱子不动,先检查蓝牙连接、扩展是否导入,以及三个数据事件是否被触发。

卡在哪一步?直接查操作
不用退出当前教程。速查会在新页面打开,查完回来继续刚才的进度。