< >
Home » Farmbot开发入门教程 » farmbot开发入门教程-lua 工具

farmbot开发入门教程-lua 工具

说明:

  • 介绍FarmBot OS 中的工具 Lua 函数列表

卸载工具()

  • 将当前安装的工具卸载到其指定的插槽中,同时考虑插槽的方向

  • 此功能仅适用于具有可互换工具的 FarmBot,例如 FarmBot Genesis。

-- Dismount the currently mounted tool
dismount_tool()

-- It is recommended to find home after dismounting tools
-- to stage FarmBot for future operations
find_home()

分配(mL,参数?)

  • 分配给定量的液体(以毫升为单位)。默认使用“浇水喷嘴”工具、其水流量(毫升/秒)值和由引脚操作的电磁阀8。
-- Dispense 100 mL of water using default values
dispense(100)
  • 该params参数是可选的,可用于覆盖默认值tool_name(因此也是水流量(ML/S)的值)以及pin要操作的值。
-- Dispense 200 mL of fertilizer using a custom tool operated by pin 7
dispense(200, {tool_name = "Custom Watering Nozzle 2", pin = 7})


-- Dispense 300 mL of water with the standard "Watering Nozzle" tool, but using a solenoid valve operated by pin 10
dispense(300, {pin = 10})
  • 为了给工具添加水流量(ML/S)值,工具名称中必须包含“浇水喷嘴”。

请输入图片描述

获取工具(参数)

  • 根据给定的id或获取工具name。返回包含工具的id、name和 的表格flow_rate_ml_per_s。

  • 请注意,工具对象不包括分配给它的插槽的坐标。

-- Get a tool by its ID
tool = get_tool({id = 123})
toast(tool.name)

-- Get a tool by its name
tool = get_tool({name = "Watering Nozzle"})
toast(tool.flow_rate_ml_per_s)

mount_tool(工具)

  • 安装给定的工具并将其从插槽中拉出,同时考虑插槽的方向。

  • 此功能仅适用于具有可互换工具的 FarmBot,例如 FarmBot Genesis。

-- It is recommended to find home before mounting tools
-- to ensure accuracy of movements
find_home()

-- Add a Location variable named "Tool" to the sequence
-- and select the tool you wish to mount
tool = variable("Tool")

-- Because tools themselves do not have coordinates, FarmBot
-- will look up which slot the chosen tool has been assigned
-- to and use the slot's coordinates in the mount_tool() function
mount_tool(tool)
  • 您也可以简单地通过名称来安装工具:
-- Mount a tool by name
mount_tool("My Tool")

验证工具()

  • 通过检查 UTM 的工具验证引脚以及FarmBot 状态树中的“已安装工具”字段来验证工具是否已安装到 UTMtrue 。返回工具是否已安装false或未安装工具。

  • 此功能仅适用于具有可互换工具的 FarmBot,例如 FarmBot Genesis。

  • 该verify_tool()功能内置于mount_tool()和dismount_tool()助手中。

-- Exit sequence if tool verification fails (no tool)
if not verify_tool() then
  return
end

水(植物,参数?)

  • 根据植物的年龄和指定的浇水曲线移动并浇水。

  • 植物的日期是根据其日期和当前日期age计算得出的。如果未设置植物的日期,请尝试从前端将植物的状态更改为已种植。planted_atplanted_at

  • 如果使用具有可互换工具的 FarmBot,例如 FarmBot Genesis,则需要先安装浇水工具,然后才能使用该water()功能。

-- Get the "Plant" variable from the sequence
plant = variable("Plant")

-- Water the plant based on its age and watering curve
water(plant)
  • 在底层,该water()函数会调用dispense()。如果提供,params参数将被传递到dispense调用中以覆盖其默认值。有关更多信息,请参阅dispense() 文档。
-- Get the "Plant" variable from the sequence
plant = variable("Plant")

-- Water the plant based on its age and watering curve, using a solenoid valve operated by pin 10
water(plant, {pin = 10})

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none