网站建设贴吧,天津高端网站设计公司,怎么样推销自己网站,医疗网站建设服务视觉开发板—K210
一、开发之前的准备 工欲善其事必先利其器。各位同学先下载下面的手册#xff1a;
1.Sipeed-Maix-Bit 资料下载#xff1a;https://dl.sipeed.com/shareURL/MAIX/HDK/Sipeed-Maix-Bit/Maix-Bit_V2.0_with_MEMS_microphone
2.Sipeed-Maix-Bit 规格书下载
1.Sipeed-Maix-Bit 资料下载https://dl.sipeed.com/shareURL/MAIX/HDK/Sipeed-Maix-Bit/Maix-Bit_V2.0_with_MEMS_microphone
2.Sipeed-Maix-Bit 规格书下载https://dl.sipeed.com/fileList/MAIX/HDK/Sipeed-Maix-Bit/Specifications/Sipeed%20Maix-Bit%20%E8%A7%84%E6%A0%BC%E4%B9%A6%20V2.0.pdf
3.Sipeed-Maix-Bit 原理图下载https://dl.sipeed.com/fileList/MAIX/HDK/Sipeed-Maix-Bit/Maix-Bit_V2.0_with_MEMS_microphone/Maix-Bit_V2.0_Schematic.pdf 开发板参数 板载资源 按键*2 RGB灯*1 MEMS Microphone*1 USB to UART 128Mbit Flash*1 板载接口 USB Type-C接口 24PIN DVP摄像头接口 24PIN LCD接口 MicroSD卡槽 所有IO排针引脚引出 尺寸 53.3*25.4mm 供电电压 5.0V 300mA供电电流需大于300mA) 工作温度 -30℃ ~85C
二、MaixPy
按照先硬后软的顺序我们再来看看开发环境。MaixPy 是将 Micropython 移植到 K210一款 64 位双核带硬件 FPU、卷积加速器、FFT、Sha256 的 RISC-V CPU 的一个项目 MaixPy 不但支持 MCU 常规操作 还集成了硬件加速的 AI 机器视觉和麦克风阵列相关的算法。相应的高达 1TOPS 算力核心模块却不到50 凭借着快速开发和较低成本与其较小的体积很适合 AIOT 领域智能应用
MicroPython 是基于 Python3 的语法做的一款解析器包含了 Python3 的大多数基础语法 主要运行在性能和内存有限的嵌入式芯片上。注意 Micropython 不包含 Python3 的所有语法。总之MaixPy 让我们在 K210 上编程更加简单快捷高效。
使用 MaixPy 的入门教程包括基础知识一定要看才能避免遇到很多问题会给后面开发节省很多时间。
K210的开发提供了各个功能模块的 API 手册方便编程时查阅
1.标准库micropython 的标准库很多 API 兼容 python3 的 API
2.machine机器相关重启控制机器 UID以及各种外设控制
3.Maix: 一些特殊的模块比如 FPIOAKPUFFT等
4.内置类内置的用 mpymicropython 的缩写编写的类可以在源码项目中找到
5.机器视觉: 一些机器视觉相关的模块image sensor lcd大致上兼容 OpenMV 的 API但是后期不会实时跟着OpenMV 更新
6.附加外设模块一些外设模块的使用比如触摸屏超声波LED 灯等
7.内置应用 内置的应用比如 NES 游戏机FC 红白机也就是小时候的小霸王游戏机pye内置的文档编辑器 三、编程快速入门
K210和OPENMV一样是可以使用MicroPython编程的开发板甚至有些openmv的例程都可以直接拿过来直接使用。所以说教程上可以参考openmv的相关教程学习两者支持的语言是一样的。又或者你有Python的基础也是可以直接上手的。
程序结构上类似arduino分为三个部分
import ... ... 一次设置 ... ... while(True): # Loop ...
K210代码的第一部分应该包含一些头部注释将模块引入到代码最后是代码中的常量和全局变量。
接下来你将要做一次性的设置代码。这包括创建I / O引脚对象设置摄像头定义辅助函数等。
最后你将创建一个 while(True): 循环在这个循环之下你放进去的全部代码将会在循环中重复调用直到关闭电源。 让我们看看K210的第一个例程。 如图左键单击【文件】—【示例】—【01-Basics】—【helloworld.py】hellworld我相信是学任何语言写的第一个程序这里K210我们依然是最开始呈现这个最经典的程序。
### 头部注释导入语句等# Hello World Example## Welcome to the MaixPy IDE!# 1. Conenct board to computer# 2. Select board at the top of MaixPy IDE: tools-Select Board# 3. Click the connect buttion below to connect board# 4. Click on the green run arrow button below to run the script!import sensor, image, time, lcdlcd.init(freq15000000)sensor.reset() # Reset and initialize the sensor. It will# run automatically, call sensor.run(0) to stopsensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)sensor.skip_frames(time 2000) # Wait for settings take effect.clock time.clock() # Create a clock object to track the FPS.while(True):clock.tick() # Update the FPS clock.img sensor.snapshot() # Take a picture and return the image.lcd.display(img) # Display on LCDprint(clock.fps()) # Note: MaixPys Cam runs about half as fast when connected# to the IDE. The FPS should increase once disconnected.
程序的逻辑跟单片机是一样的如果您的代码中没有无限的while循环那么一旦您的K210完成运行脚本它将停在那里什么都不做。
现在再用中文翻译下上面的程序
import sensor, image, time, lcd: 首先导入内置的sensor摄像头库image图像库, time时间库和lcd屏幕库
lcd.init(freq15000000): 初始化 LCD这里传了一个参数叫freq即频率是指定驱动 LCD 的时钟频率这里是15MHz可以根据硬件性能调整
sensor.reset(): 初始化摄像头这里失败需要检查硬件
sensor.set_pixformat(sensor.RGB565): 设置摄像头为RGB565格式默认都是用RGB565即可
sensor.set_framesize(sensor.QVGA): 分辨率为QVGA即320x240
sensor.skip_frames(time 2000): 摄像头刚启动时图像质量还没稳定所以跳过一些图像
clock time.clock() 初始化时钟
while(True): 这是一个循环循环里面的代码会被不停地运行
sensor.snapshot():从摄像头取一帧图像数据返回值是一张图像的对象
lcd.display() 显示图像到LCD
lcd.display(sensor.snapshot()): 这里就是先执行括号里的获取图像返回值直接作为参数给 LCD 进行显示 程序运行后会得到下面的画面这段程序在LCD上的使用效果会更明显一些。尽管这个程序名称叫hello world但是貌似好像跟hello world没什么关系。但是作为K210的入门程序给出了基本的编程开发框架可以供给大家进一步开发。
同时K210提供了大量的SDK共大家使用。下载链接在github上这里搬运过来
GitHub - sipeed/MaixPy-v1_scripts: micropython scripts for MaixPy