环境搭建
软件:mind+
硬件:掌控板2.0
mind+使用界面
项目–新建项目
连接掌控板和pc
我的显示有问题,是因为我原先代码出错了,正常情况下会显示掌控板
驱动更新好了在mind+中选择连接设备–设备端口号
点击左下角的扩展,选择掌控板
等一会加载成功后返回
此时可以看到中间出现ESP32主程序。注意模式是上传模式
打开文件系统,在掌控板中的文件栏中创建main.py文件
然后输入如下内容
# 板载RGB灯
from mpython import *
import neopixel
import timews2812_P7 = neopixel.NeoPixel(Pin(Pin.P7), n=3, bpp=3, timing=1)
ws2812_P7.brightness(10 / 255)
ws2812_P7[0]=(255, 0, 0)
ws2812_P7.write()
点击保存
右击选中main.py文件,选择“立即运行”
此时我们就点亮了第一个led灯
代码分析
neopixel是一个led显示的模块
neopixel.NeoPixel()函数查定义
其中Pin(Pin.P7)这个是根据掌控板的引脚定义的。
ws2812_P7[0]=(255, 0, 0)
[0]表示第一个led
其中后面有三个数值,范围为0-255,分别对应红,绿,蓝
# 板载RGB灯——三色灯
from mpython import *
import neopixel
import timews2812_P7 = neopixel.NeoPixel(Pin(Pin.P7), n=3, bpp=3, timing=1)
ws2812_P7.brightness(10 / 255)
ws2812_P7[0]=(255, 0, 0)
ws2812_P7[1]=(0, 255, 0)
ws2812_P7[2]=(0, 0, 255)
ws2812_P7.write()
ws2812_P7.write()就是将定义的ws2812_P7写入设备进行点亮。
至此,基础的点亮功能完成。
显示字符串
在教程–示例教程中有比较基础的。
main.py中写入如下代码
# 字符显示
from mpython import *oled.fill(0)
# 注意这些显示积木块,只把信息写入OLED屏幕缓存,并不是直接在OLED屏幕上显示
oled.DispChar("你好世界", 38, 0, 1)
oled.DispChar("hello,world", 32, 16, 1)
oled.DispChar("?????", 35, 32, 1)
oled.DispChar("こんにちは世界", 23, 48, 1)
# 运行这个积木块,将我们之前写入缓存的信息,显示在OLED屏幕上
oled.show()
保存,运行查看结果
oled.fill(0) 清空屏幕内容
oled.DispChar(“你好世界”, 38, 0, 1)
“你好世界”——内容
38——第38列
0——第0行
1——显示模式图形为白色
将显示屏想象成坐标轴,其中左上角为零点,坐标为(0,0)
"你好世界"的第一个像素点位置就是(38,0),第38列第0行
PS:如果需要以左下角为零点,需要换算坐标,这就需要知道显示屏的精度了,长宽分别多少像素点。
查看显示屏精度
我用的是笨办法,长宽比例大概为2:1,所以我通过描点查看
描点的指令为oled.pixel(x,y,显示模式)
#显示精度x127,y63
# MindPlus
# mpython
from mpython import *x=0
y=0
while True:#oled.pixel(x,y,1)oled.pixel(127,63,1)oled.show()#x=x+2#y=y+1#print("x",x)#print("y",y)#time.sleep(0.1)
当快要到了的时候我暂停,然后再往回推。直到坐标显示。
最终得到掌控板2.0的精度为横坐标0-127,纵坐标0-63.
当然,在自带的画点插件调节滑动条就可以看到了。
至此最基本的显示ok了,剩下的就慢慢看教程开发吧。加油!
补充
将本地文件上传到掌控板上
选择"文件系统"–“用户空间”,并右击,选择打开文件夹位置
将文件存档到该文件夹下
再mind中点击文件目录右侧的刷新按钮
此时会发现用户空间更新了文件
右击用户空间下的文件,选择上传到主控板。