基于K210开源AI智能跟随云台OpenFollow(基础篇)--(三)K210的MaixPy外设基础

 OpenFollow点击这里     

       

        OpenFollow使用了RISC-V内核的AI芯片K210,该芯片带有独立FPU的双核处理器,64位的CPU位宽,8M片内SRAM,400M可调标称频率,支持乘法、除法和平方根运算的双精度FPU;它还板载USB转串口芯片CH340、RGB LED、24pin DVP摄像头接口、DC5V马达接口、4000maH锂电池充电电路,而这一切都设计在一块50mm*42mm的电路板上。该款产品的主要特点是RISC架构、高性能、低价格、AI概念,而且还支持MicroPython。

  • 打开MaixPy IDE

新建文件,保存,名字为 _1led.py

--》

使用GPIO控制LED灯,就需要知道LED灯由哪个引脚控制的, 打开自己板子的原理图

我这边是OpenFollow板,用到IO33、IO35IO36控制一个RGB灯,给高电平,低电平亮。

要用到GPIO和GPIOA

 

代码先搞进来

from Maix import FPIOA
from Maix import GPIO

要配置IO33、IO35和IO36 先看FPIOA的功能

于是我们也参照上面写的(按照我的来 , 他的fm没有import进来,你直接用会报错)

将IO17绑定给GPIOHS0,同理IO18绑定给HS1上。

fpioa = FPIOA()

fpioa.set_function(33,fpioa.GPIOHS0)
fpioa.set_function(35,fpioa.GPIOHS1)
fpioa.set_function(36,fpioa.GPIOHS2)

引脚绑定完成, 下面开始配置GPIO输出模式

同样的  我抄袭一波

led1 = GPIO(GPIO.GPIOHS0,GPIO.OUT)
led2 = GPIO(GPIO.GPIOHS1,GPIO.OUT)
led3 = GPIO(GPIO.GPIOHS1,GPIO.OUT)

注意, GPIOHS0绑定是在上面的 set_function上面绑定的IO33,所以不是指的IO0的意思,

如果你是用set_function(0,gpioa.GPIOHS0),才是给GPIOHS0绑定的IO0

接着就给LED赋值0还是1了

 

同样的

led1.value(1)
led2.value(1) //高电平
led1.value(0)//低电平

这样就初始化好LED了,下面直接用就行

要用到了delay,

import utime

然后来个死循环就让他一直跑就行, 注意python的语法 要退格的

整体代码如下

import utime

from Maix import FPIOA

from Maix import GPIO

 

fpioa = FPIOA()

fpioa.set_function(17,fpioa.GPIOHS0)

fpioa.set_function(18,fpioa.GPIOHS1)

 

led1 = GPIO(GPIO.GPIOHS0,GPIO.OUT)

led2 = GPIO(GPIO.GPIOHS1,GPIO.OUT)

 

while(1):

    led1.value(1)

    led2.value(0)

    utime.sleep_ms(500)

    led1.value(0)

    led2.value(1)

    utime.sleep_ms(500)

打开拉链, 选择你的K210串口,我这边是COM4

 

连上开发板之后, 拉链变红, 按下绿色的播放即可, 同时我建议切换到隔壁的串行终端上面去,看看开发板出来的信息

如果你按我的代码运行之后,看到两个蓝色的LED灯交替亮,就证明电灯成功了

注意 ,这个绿色的运行(播放) 只是运行当前的py代码,如果你像烧录到开发板去

把脚本保存到Boot.py去就好

 

烧录完之后测试:点红色播放点成绿色,把红色拉链点成绿色,

断开开发板的USB,然后再插入,之后运行的应该就是你烧录boot.py的程序了

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
项目简介: 自动跟随小车系统由两部分组成:跟随小车和移动目标携带装置。 工作原理: 跟随小车系统通过无线通信模块发送寻找信号,同时超声波接收器开始计时,如果移动目标接收到无线寻找信号,则立即发送超声波信号。这样小车的角超声波接收器陆续收到超声波信号,CPU通过每个超声波模块接收到的时间,计算出移动目标到3个超声波接收点的距离,通过边定位算法即可确定移动目标的位置。如果计算出来的距离大于设定距离,则控制电机向目标方向移动,如果计算出来的距离小于设定距离,则控制电机停止,从而实现小车的自动跟随功能。 硬件说明: 小车硬件设计: 自动跟随小车硬件模块包括控制器模块、无线收发模块、超声波接收模块、电机及电机驱动模块、报警模块、电源模块组成,下面对每个模块做具体介绍。 由于跟随小车需要进行实时目标位置定位计算、无线信号收发处理、电机管理、电源管理等任务 ,采用普通单片机其资源及速度难以满足使用要求,需要高性能DSP处理器才能够完成,因此选择STM32F103RCT6作为控制器。 无线收发是用来实现同步,当小车发射无线信号,同时人手携带装置接收到无线信号时,人手携带装置发射超声波。所以本次设计选用NRF2401做为无线收发模块。 NRF2401各引脚功能为: (1)CSN:芯片的片选线,CSN为低电平工作。 (2)SCK:芯片控制的时钟线(SPI时钟)。 (3)MISO:芯片控制数据线 。 (4)IRQ:中断信号,无线通信过程中MCU主要是通过IRQ与NRF2401通信。 (5)CE:芯片的模式控制线。 (6)MOSI:芯片控制数据线。 超声波接收模块是采用具有单独接收功能的模块,如图所示。其中接收模块核心部分是由专用超声波接收集成电路TL852构成的超声波信号检测电路,这部分主要完成的是回波的检测和放大。 直流电机的控制很简单,性能出众,直流电源也容易实现。这种直流电机的驱动及控制需要电机驱动模块进行驱动,采用L298N电源模块。 系统电源采用7.4V可充电锂电池。7.4V锂电池组属于多串并锂电池组。 目标携带装置硬件设计: 由于跟随小车需要进行实时目标位置定位计算、无线信号收发处理、电机管理、电源管理等任务 ,采用普通单片机其资源及速度难以满足使用要求,需要高性能DSP处理器才能够完成,因此选择STM32F103RCT6作为控制器。 无线收发是用来实现同步,当小车发射无线信号,同时人手携带装置接收到无线信号时,人手携带装置发射超声波。所以本次设计选用NRF2401做为无线收发模块。 超声波发射模块是采用具有单独发射功能的模块,如图所示。其中发射模块中的P1 、R4、R5。因为利用了变压器和发射头的谐振,好处是能得到近似正弦波。但附带的问题是:在驱动信号停止后,由于谐振的原因,发射头还会持续较长时间发射,直至能量在变压器的次级线包直流电阻上消耗完,这样就导致在近距离测量时,回波都到了,余波还未结束,导致测量失败。所以设计了一个余波抑制电路,将变压器初级构成回路,利用初级较小的电阻快速消耗掉次级的能量。为此,要多占一个MCU的I/O口。而且,由于驱动电压的原因,必须使用OC(或者开漏)驱动,否则会无法可靠关断P1,导致正常发射不正常。如果测量的距离较远,或者觉得余波不影响测量,则不必接这个信号。如若使用,一定要注意和发射驱动信号的配合,不要两个同时有效,导致发射效大减。从原理图上看,如果要提高驱动能量,可以适当提高驱动电压,但要要注意MOS管的耐压只有20V,发射头的最高电压是80V。 目标携带装置电路连接图: 小车硬件电路连接图: 软件说明见附件! 小车整机展示: 目标携带装置展示: 整机测试图: 【转载自电子发烧友】

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Lanson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值