【CanMV K230】外接传感器

news2024/12/23 18:49:58

【CanMV K230】外接传感器

  • 外接LED灯

B站视频链接
抖音链接


我们后面主要做是机器视觉。K230能帮我们捕捉到图像信息。更多小功能需要我们自己来做。

在这里插入图片描述
比如舵机抬杆,测温报警等
在这里插入图片描述

都需要我们外接传感器。

本篇就来分享一下如何使用K230外接传感器

首先需要知道K230插座(排针)都是什么功能。

可以看到官方给我们提供了插座功能图。记住位置。
在这里插入图片描述
知道了怎么对应引脚图,我们看下边的就行。
请添加图片描述
实战一下

外接LED灯

我们知道了K230的引脚功能,那么如何连接?

下面是连接方式

首先确认使用的传感器。

比如我从某地买的8MM发光LED模块。
在这里插入图片描述

首先确认传感器所需电压,可以从基本信息(参数)看到,电压是5V。
在这里插入图片描述

有3个(插座)引脚。分别是OUT,VCC,GND

在这里插入图片描述
我们知道大部分LED都是输出设备,参照板载LED。

VCC连接电压,GND接GND,OUT就是所谓的信号引脚52号。

当然了,板载LED已经使用了52号,我们不能接了。在引脚图上选个2号我们来试试。
在这里插入图片描述

我做成了表格,方便大家观看。
此表格我后面会常用,能看懂这个就可以接线。

开发板LED
2OUT
5VVCC
GNDGND

说明一下这张图怎么看。
开发板2号引脚连接发光模块的OUT引脚
开发板5V引脚连接发光模块的VCC引脚
依次类推(后面可能接很多传感器。)
在这里插入图片描述
现在我们连好线了,输入代码运行试试,此发光模块和板载LED使用方式相似

from machine import Pin #导入Pin模块
from machine import FPIOA
import time

#将GPIO2配置为普通GPIO
fpioa = FPIOA()
fpioa.set_function(2,FPIOA.GPIO2)

LED=Pin(2,Pin.OUT) #构建led对象,GPIO2,输出
LED.value(1) #点亮LED,也可以使用led.on()

可能有的小伙伴会问,你不说和板载LED相似吗?代码怎么是这样的。

由于K230功能多,所以大部分GPIO引脚会复用多个功能,因此CanMV K230 提供FPIOA库(Field Programmable Input and Output Array 现场可编程IO阵列),以便实现不同引脚功能选择。

在这里插入图片描述
点灯!如果成功了请扣1 并领取下面的卡。
请添加图片描述

from machine import Pin #导入Pin模块
from machine import FPIOA
import time

#将GPIO52配置为普通GPIO
fpioa = FPIOA()
fpioa.set_function(2,FPIOA.GPIO2)

LED=Pin(2,Pin.OUT) #构建led对象,GPIO2,输出
LED.value(1) #点亮LED,也可以使用led.on()

相信小伙伴成功了。那么来试试板载按键控制外接LED发光模块吧。

rom machine import Pin
from machine import FPIOA
import time


#将GPIO2、GPIO21配置为普通GPIO模式
fpioa = FPIOA()
fpioa.set_function(52,FPIOA.GPIO52)
fpioa.set_function(21,FPIOA.GPIO21)

LED=Pin(2,Pin.OUT) #构建LED对象,开始熄灭
KEY=Pin(21,Pin.IN,Pin.PULL_UP) #构建KEY对象

state=0 #LED引脚状态

while True:

    if KEY.value()==0:   #按键被按下
        time.sleep_ms(10) #消除抖动
        if KEY.value()==0: #确认按键被按下

            state=not state  #使用not语句而非~语句
            LED.value(state) #LED状态翻转
            print('KEY')

            while not KEY.value(): #检测按键是否松开
                pass

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2080746.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode JAVA刷刷站(98)验证二叉搜索树

一、题目概述 二、思路方向 在Java中,要判断一个二叉树是否是有效的二叉搜索树(BST),我们可以采用递归的方法,通过维护一个外部的范围(通常是Integer.MIN_VALUE到Integer.MAX_VALUE作为初始范围&#xff…

网络优化4|网络流问题|路径规划问题|车辆路径问题

网络流问题 网络最大流问题 研究网络通过的流量也是生产管理中经常遇到的问题 例如:交通干线车辆最大通行能力、生产流水线产品最大加工能力、供水网络中最大水流量等。这类网络的弧有确定的容量,虽然常用 c i j c_{ij} cij​表示从节点 i i i到节点 j…

怎么检测电脑的RAM?丨什么是RAM?

RAM 是 Random Access Memory 的缩写,它是一个允许计算机短期存储数据以更快访问的组件。众所周知,操作系统、应用程序和各种个人文件都存储在硬盘驱动器中。 当 CPU 需要调用硬盘上的数据进行计算和运行时,CPU 会将数据传输到 RAM 中进行计…

安防视频汇聚平台EasyCVR启动后无法访问登录页面是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等…

科研绘图系列:R语言多组极坐标图(grouped polar plot)

介绍 Polar plot(极坐标图)是一种二维图表,它使用极坐标系统来表示数据,而不是像笛卡尔坐标系(直角坐标系)那样使用x和y坐标。在极坐标图中,每个数据点由一个角度(极角)和一个半径(极径)来确定。角度通常从水平线(或图表的某个固定参考方向)开始测量,而半径则是…

Jenkins发邮件功能如何配置以实现自动化?

jenkins发邮件的设置指南?Jenkins怎么配置服务器? Jenkins作为一个流行的自动化服务器,其发邮件功能是通知团队成员构建状态的重要手段。AokSend将详细介绍如何配置Jenkins发邮件功能,以实现自动化通知。 Jenkins发邮件&#xf…

NVI技术创新联盟成立,BOSMA博冠IP轻量化制播已运用

2024年北京国际广播电影电视展览会(BIRTV)首日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV 2024超高清全产业链发展研讨会上宣布正式成立。作为国产8K摄像机先行者,BOSMA博冠受邀加入NVI技术…

Flowable BPMN bpmnjs 设计器

最近半年我一直在打造一款行业顶尖的流程设计器,适配了flowable所有的组件,美观,大方,灵活,好用。所有的组件都进行严格的测试并在生产环境上线了。 1、在线预览 2、整体框架布局 3、组件分组 4、完整模式切换 给大…

若依,前后端分离项目,部署到服务器

1.后端项目用maven打包 正式服的话,测试不用加。 application.yml加上context-path: /prod-api 一定要选择root的ruoyi,他会把你自动打包其他模块的依赖 全部成功。然后去ruoyi-admin拿到这个包,java -jar ruoyi-admin.jar就可以了 将jar上…

STM32嵌套向量中断控制器—NVIC

NVIC简介: NVIC,即Nested Vectored Interrupt Controller(嵌套向量中断控制器),是STM32中的中断控制器。它负责管理和协调处理器的中断请求,是STM32中处理异步事件的重要机制。 NVIC提供了灵活、高效、可扩…

IoTDB 在顶级会议 VLDB 2024:四篇最新论文入选,特邀做 TPC 报告与讨论会!

再获权威顶会认可 8 月 26 日至 8 月 30 日,数据库领域的顶级国际会议 VLDB 2024 在广州举行。IoTDB 三篇论文的最新研发成果被本次大会录用,这其中也包括 TsFile 成为 Apache Top-Level 项目后发表的第一篇顶会论文。 同时,在国际权威数据库…

博弈论详解 2(SG函数 和 SG定理)

传送门:博弈论详解 1(基本理论定义 和 Nim 游戏) 什么是 SG 函数 接着上次的讲解,我们来了解一个更通用的模型。我们把每一个状态变成一个点(在 Nim 游戏里就代表 a a a 数组),如果可以从一种…

008、架构_分布式事务

分布式事务控制 对于一个分布式写事务,计算节点会向GTM申请全局事务GTID,GTID申请成功后,称当前GTID对应的事务是活跃事务,处于未提交状态。如果涉及数据更新,则将GTID信息同步更新到该事务要更新的事务中。成功提交事务后,这里的成功是指分布式事务涉及所有数据节点均提…

C++入门基础知识37——【关于C++ 运算符——关系运算符】

成长路上不孤单😊【14后,C爱好者,持续分享所学,如有需要欢迎收藏转发😊😊😊😊😊😊😊!!!!&#xff…

Day24 第11站 出发 c++!

1> 思维导图 2> 提示并输入一个字符串&#xff0c;统计该字符串中字母个数、数字个数、空格个数、其他字符的个数 string s1;cout << "请输入一个字符串" << endl;getline(cin,s1);int len s1.length();char buf[128]"";strcpy(buf,s1…

如何使用Smart-Doc高效生成Java WebSocket接口文档

前言 Smart-Doc 是一款强大的文档生成工具&#xff0c;可以帮助开发者轻松地为Java 项目生成清晰、详细的 API 文档。随着WebSocket技术的普及&#xff0c;Smart-Doc 在3.0.7版本开始也增加了对 WebSocket 接口的支持。本文将详细介绍如何使用 Smart-Doc 生成 Java WebSocket …

DIY 300以上fps游戏 台式机 2024年8月(cpu)

组装台式机 CPU处理器 前言&#xff1a;因特尔霸榜&#xff0c;目前cpu全部都是国外产&#xff0c;锐龙是国外在中国的代理。 2024双十一cpu销量 首推cpu&#xff1a;性价比第三名 Intel 酷睿i5 12600KF 1149元 &#xff08;瓦死斗帧率在200-400之间&#xff0c;300上下浮动…

浅谈SpringMvc的核心流程与组件

一、SpringMvc的核心流程 当发起请求时被前置的控制器(DispatcherServlet)拦截到请求&#xff0c;根据请求参数生成代理请求&#xff0c;找到请求对应的实际控制器&#xff0c;控制器处理请求&#xff0c;创建数据模型&#xff0c;访问数据库&#xff0c;将模型响应给中心控制…

vue3子组件修改父组件传来的值

概述 vue3子组件修改父组件的值 不需要父组件传给子组件函数的形式&#xff0c;而是直接在子组件中通过emit修改父组件传来的值 效果图 修改前 修改后 示例代码 父组件Parent.vue <template><Childv-model:txt"state.txt"/> </template> <…

桥接模式-多类型登录方式的思考

桥接模式-SSO单点登录 背景:(业务细节已脱敏)需求:问题:解决方式: OAuth2.0 实现单点登录四种授权模式桥接模式优化问题代码实现 背景:(业务细节已脱敏) 基于实习期间的一个代码重构的思考——业务细节已脱敏 基于内部旧框架实现业务toB管理系统&#xff0c;需要迁移数据并新的…