16浏览
查看: 16|回复: 2

[项目] 【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键

[复制链接]
【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键图2

什么是 CanMV K230?
CanMV K230是一款高性价比的RISC-V边缘AI平台,凭借低功耗、强视觉处理能力和开放的开发生态,成为嵌入式AI开发的理想选择,尤其适合需要快速部署视觉与AI功能的创客、中小企业及教育场景。CanMV 是一套 AI 视觉开发平台,K230 是其核心芯片。该模块结合了图像采集、AI推理、边缘计算等能力,适合嵌入式视觉应用开发。

CanMV:类似 OpenMV 的图像处理框架,支持 Python 编程,简化视觉识别开发流程。
K230 芯片:嘉楠科技推出的 AIoT SoC,采用 RISC-V 架构,内置第三代 KPU(AI加速单元),算力高达 6 TOPS,性能是 K210 的 13.7 倍。

【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键图1

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键

CanMV K230 AI视觉识别模块之使用板载用户按键

【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键图1

① 该按键为我们可以使用的自定义按键,这节教程将介绍如何读取该按键的状态

② 该按键为复位(RST)按键,按下后K230会进行重启


快速开始
为了方便使用,我们将按键功能封装在ybUtils.YbKey这个库中
复制下面的代码到CanMV IDE中运行 [源码汇总 / 02.Basic / 04.key.py]

  1. #【花雕动手做】CanMV K230 AI视觉识别模块之使用板载用户按键
  2. from ybUtils.YbKey import YbKey
  3. import time
  4. # 创建按键实例
  5. # create key
  6. key = YbKey()
  7. # 持续监测按键状态
  8. # Monitor key status
  9. while True:
  10.     if key.is_pressed():
  11.         print("检测到按键按下", "pressed")
  12.     time.sleep_ms(100)  # 延时以避免过于频繁的检测 (Delay to reduce detect frequence)
复制代码





回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键

运行这段代码后,我们可以尝试按下K230上的自定义按键①,观察到串行终端会在我们按下的时候有提示输出
注意不要按到RST键了。靠近USB线这一端的按键是RST复位键。


这段代码是一个简单的示例程序,用于演示如何在 CanMV K230 AI视觉识别模块上使用板载用户按键。它通过持续轮询的方式检测按键是否被按下,并在按下时打印提示信息。解读如下:

python
  1. #【花雕动手做】CanMV K230 AI视觉识别模块之使用板载用户按键
复制代码

程序标题注释,说明这是“花雕动手做”系列教程的一部分,主题是使用 K230 模块上的用户按键。

python
  1. from ybUtils.YbKey import YbKey
复制代码

导入 YbKey 类,这是一个封装好的按键控制库,用于读取板载按键的状态。

python
  1. import time
复制代码

导入时间模块,用于设置延时,避免轮询过于频繁。

python
  1. # 创建按键实例
  2. # create key
  3. key = YbKey()
复制代码

创建一个 YbKey 实例,表示板载按键对象。后续可以通过该对象调用方法来检测按键状态。

python
  1. # 持续监测按键状态
  2. # Monitor key status
  3. while True:
复制代码

启动一个无限循环,用于持续检测按键状态。

python
  1.     if key.is_pressed():
  2.         print("检测到按键按下", "pressed")
复制代码

如果检测到按键被按下(即 is_pressed() 返回 True),则在终端打印提示信息:“检测到按键按下”。

python
  1.     time.sleep_ms(100)  # 延时以避免过于频繁的检测 (Delay to reduce detect frequence)
复制代码

每次循环后延时 100 毫秒,避免 CPU 占用过高,同时防止因抖动造成误判。

总结功能流程
[初始化按键对象] → [进入循环] → [检测是否按下] → [打印提示] → [延时继续检测]


实验串口返回情况

【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键图1

实验场景图

【花雕动手做】CanMV K230 AI视觉模块之使用板载用户按键图2


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail