RT-Thread Micro Python应用开发
- 一、 Studio搭建K210开发环境
- 二、Vscode开发环境安装
- Vscode创建一个新的工程
- 一些库的使用
- 1、点亮一个LED灯
- Studio配置
- Vscode中代码
- 2、PWM点亮一个LED灯
- Studio配置
- Vscode中代码
- 3、I2S模块
- Studio配置
- Vscode中代码
- 4、CAM && LCD模块:
- Studio配置
- Vscode中代码
- 5、openmv
- Studio配置
- Vscode中代码
- openmv学习链接
- 文件系统
- 配置
- Vscode中
- 综合项目
- 配置
- Vscode中代码
- 开发板学习资料
一、 Studio搭建K210开发环境
二、Vscode开发环境安装
Vscode创建一个新的工程
输入文件名
点击选择路径
一些库的使用
1、点亮一个LED灯
Studio配置
勾选python,再点击保存,编译和下载
Vscode中代码
from machine import Pin
import utime
dir(Pin)
pin30=Pin(('LED',30),mode=Pin.OUT_PP,value=1)
# pin38=Pin(('R_LED',38),mode=Pin.OUT_PP,value=1)
# pin39=Pin(('R_LED',39),mode=Pin.OUT_PP,value=1)
while(True):
pin30.value(0)
# pin39.value(0)
# pin38.value(0)
utime.sleep(1)#等待一秒钟
pin30.value(1)#gaibian
# pin39.value(1)#gaibian
# pin38.value(1)#gaibian
utime.sleep(1)
2、PWM点亮一个LED灯
Studio配置
Vscode中代码
from machine import PWM
import time
pwm = PWM('pwm',0,1000,240)
time.sleep(1)
pwm.init(0,1000,200)
time.sleep(1)
pwm.init(0,1000,160)
time.sleep(1)
pwm.init(0,1000,120)
time.sleep(1)
pwm.init(0,1000,80)
time.sleep(1)
pwm.init(0,1000,40)
time.sleep(1)
pwm.init(0,1000,0)
time.sleep(1)
pwm.init(0,1000,40)
time.sleep(1)
pwm.init(0,1000,80)
time.sleep(1)
pwm.init(0,1000,120)
time.sleep(1)
pwm.init(0,1000,160)
time.sleep(1)
pwm.init(0,1000,200)
time.sleep(1)
pwm.init(0,1000,240)
pwm.deinit()
3、I2S模块
Studio配置
Vscode中代码
from k210 import I2S
i2sp = I2S(0, I2S.TRANSMITTER)
i2sp.init()
i2sp.set_param(8000, bps = 16, track_num = 2)
i2sr = I2S(1, I2S.RECEIVER)
i2sr.init()
i2sr.set_param(8000)
while (True):
pcm = i2sr.record()
i2sp.play(pcm)
4、CAM && LCD模块:
Studio配置
Vscode中代码
import k210, machine, utime
cam=k210.camera()
lcd=machine.LCD()
lcd.light(1)
lcd.fill(lcd.RED)
cam.reset()
cam.set_framesize(320,240)
while(True):
img1=cam.snapshot()
lcd.show_image(0,0,240,320,img1[0])
5、openmv
Studio配置
Vscode中代码
import machine, sensor, image
header_threadhold = ((53,60,24,127,23,123))
lcd=machine.LCD()
lcd.light(1)
lcd.fill(lcd.RED)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)#设置为彩色
sensor.set_framesize(sensor.QVGA)#设置图像的大小
sensor.skip_frames()#跳过n张照片,在更改设置后,跳过一些帧,等待感光元件变稳定。
# while(True):
# img = sensor.snapshot()#拍摄一张照片,img为一个image对象
# lcd.show_image(0,0,240,320,img[0])
# img[0].draw_line((20, 30, 40, 50))
# img[0].draw_line((80, 50, 100, 100), color=(255,0,0))
# img[0].draw_rectangle((20, 30, 41, 51), color=(255,0,0))
# img[0].draw_circle(50, 50, 30)
# img[0].draw_cross(90,60,size=10)
# img[0].draw_string(10,10, "hello world!")
img = sensor.snapshot()#拍摄一张照片,img为一个image对象
img[0].draw_line((20, 30, 40, 50))
img[0].draw_line((80, 50, 100, 100), color=(255,0,0))
img[0].draw_rectangle((20, 30, 41, 51), color=(255,0,0))
img[0].draw_circle(50, 50, 30)
img[0].draw_cross(90,60,size=10)
img[0].draw_string(10,10, "hello world!")
lcd.show_image(0,0,240,320,img[0])
openmv学习链接
https://book.openmv.cc/image/drawing.html
文件系统
配置
在openmv工程的基础上配置以下
1、
2、连接后讲openmv的代码下到SD卡中
3、查看是否下载成功
或者用读卡器查看该文件是否成功下载到SD卡中
4、离线也能运行(上述把文件下载到SD中是为了,离开VScode他还能独立运行)
Vscode中
同openmv
综合项目
配置
Vscode中代码
import k210, machine, rt_ak,gc
gc.enable()
cam=k210.camera()
lcd=machine.LCD()
lcd.light(1)
lcd.fill(lcd.RED)
cam.reset()
cam.set_framesize(320,240)
model=rt_ak.ai_find("mnist")
label = ["0","1","2","3","4","5","6","7","8","9"]
while True:
gc.collect()
img1,img2=cam.snapshot()
img=img2.to_gray()
new_img=img.resize(28,28)
new_img1=new_img.to_rgb565()
lcd.show_image(10,10,28,28,new_img1)
rt_ak.ai_run(model, new_img)
predict=rt_ak.ai_output(model,0)
index=predict.index(max(predict))
pre =label[index]
lcd.text(pre,60,60,32)
gc.mem_free()