【CanMV K230】外接传感器
我们后面主要做是机器视觉。K230能帮我们捕捉到图像信息。更多小功能需要我们自己来做。
比如舵机抬杆,测温报警等
都需要我们外接传感器。
本篇就来分享一下如何使用K230外接传感器
首先需要知道K230插座(排针)都是什么功能。
可以看到官方给我们提供了插座功能图。记住位置。
知道了怎么对应引脚图,我们看下边的就行。
实战一下
外接LED灯
我们知道了K230的引脚功能,那么如何连接?
下面是连接方式
首先确认使用的传感器。
比如我从某地买的8MM发光LED模块。
首先确认传感器所需电压,可以从基本信息(参数)看到,电压是5V。
有3个(插座)引脚。分别是OUT,VCC,GND
我们知道大部分LED都是输出设备,参照板载LED。
VCC连接电压,GND接GND,OUT就是所谓的信号引脚52号。
当然了,板载LED已经使用了52号,我们不能接了。在引脚图上选个2号我们来试试。
我做成了表格,方便大家观看。
此表格我后面会常用,能看懂这个就可以接线。
开发板 | LED |
---|---|
2 | OUT |
5V | VCC |
GND | GND |
说明一下这张图怎么看。
开发板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