【雕爷学编程】MicroPython动手做(12)——掌控板之Hello World 2

知识点:什么是掌控板?
掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED显示屏、RGB灯、加速度计、麦克风、光线传感器、蜂鸣器、按键开关、触摸开关、金手指外部拓展接口,支持图形化及MicroPython代码编程,可实现智能机器人、创客智造作品等智能控制类应用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

掌控板硬件特性:
ESP-32主控
处理器:Tensilica LX6双核处理器(一核处理高速连接;一核独立应用开发)
主频:高达240MHz的时钟频率
SRAM:520KB
Flash:8MB
Wi-Fi标准:FCC/CE/TELEC/KCC
Wi-Fi协议:802.11 b/g/n/d/e/i/k/r (802.11n,速度高达150 Mbps),A-MPDU和A-MSDU聚合,支持0.4us防护间隔
频率范围:2.4~2.5 GHz
蓝牙协议:符合蓝牙v4.2 BR/EDR和BLE标准
蓝牙音频:CVSD和SBC音频低功耗:10uA
供电方式:Micro USB供电
工作电压:3.3V
最大工作电流:200mA
最大负载电流:1000mA
掌控板载
三轴加速度计MSA300,测量范围:±2/4/8/16G
地磁传感器MMC5983MA,测量范围:±8 Gauss;精度0.4mGz,电子罗盘误差±0.5°
光线传感器
麦克风
3 颗全彩ws2812灯珠
1.3英寸OLED显示屏,支持16*16字符显示,分辨率128x64
无源蜂鸣器
支持2个物理按键(A/B)、6个触摸按键
支持1路鳄鱼夹接口,可方便接入各种阻性传感器
拓展接口
20通道数字I/O, (其中支持12路PWM,6路触摸输入)
5通道12bit模拟输入ADC,P0~P4
1路的外部输入鳄鱼夹接口:EXT/GND
支持I2C、UART、SPI通讯协议

在这里插入图片描述
在这里插入图片描述

8、行编辑与输入历史记录
可以使用向左和向右箭头键移动光标来编辑当前输入的行;按Home键或ctrl-A将光标移动到行的开头,按End或ctrl-E移动到行的末尾;Delete键或退格键用来删除。

REPL会记住您输入的一定数量的前几行文本(ESP32上最多8行)。 要调用上一行,请使用向上和向下箭头键。

Tab键
Tab键可以查看模块中所有成员列表。这对于找出模块或对象具有的函数和方法非常有用。 假设您在上面的例子中导入了machine然后键入 . 再按Tab键以查看machine模块所有成员列表:

>>> machine.
__class__       __name__        ADC             DAC
DEEPSLEEP       DEEPSLEEP_RESET                 EXT0_WAKE
EXT1_WAKE       HARD_RESET      I2C             PIN_WAKE
PWM             PWRON_RESET     Pin             RTC
SLEEP           SOFT_RESET      SPI             Signal
TIMER_WAKE      TOUCHPAD_WAKE   Timer           TouchPad
UART            ULP_WAKE        WDT             WDT_RESET
deepsleep       disable_irq     enable_irq      freq
idle            mem16           mem32           mem8
reset           reset_cause     sleep           time_pulse_us
unique_id       wake_reason
>>> machine.

9、REPL的粘贴模式与其他控制命令

按 ctrl-E 将进入特殊粘贴模式,您可将一大块文本复制并粘贴到REPL中。如果按ctrl-E,您将看到粘贴模式提示:

paste mode; Ctrl-C to cancel, Ctrl-D to finish

然后,您可以粘贴(或键入)您的文本。请注意,没有任何特殊键或命令在粘贴模式下工作(例如Tab或退格) ,它们只是按原样接受。按 ctrl-D 完成输入文本并执行。

还有其他四个控制命令:

空白行上的Ctrl-A将进入原始REPL模式。这类似于永久粘贴模式,除了不回显字符。
空白处的Ctrl-B转到正常的REPL模式。
Ctrl-C 取消任何输入,或中断当前运行的代码。
空白行上的 Ctrl-D 将执行软重启。

在这里插入图片描述

10、OLED屏幕显示Hello World
用4种语言并且居中。

掌控板板载1.3英寸OLED显示屏,分辨率128x64。采用Google Noto Sans CJK 16x16字体,字体高度16像素点,支持简体中文,繁体中文,日文和韩文语言。实验代码如下:

from mpython import *

oled.fill(0)
oled.DispChar("世界你好", 40, 0, 1)
oled.DispChar("안녕하세요", 37, 16, 2)
oled.DispChar("Hello, world!", 26, 32, 3)
oled.DispChar("こんにちは世界", 22, 48, 4)
oled.show()

注解

DispChar(str,x,y)函数可以将左上角为坐标的文本将写入FrameBuffer。str 为显示文本内容,支持简体中文,繁体中文,英文,日文和韩文语言。x y 为oled显示 起始xy坐标。oled.show() 为将FrameBuffer送至oled刷新并显示屏幕。

采用Noto Sans CJK 16像素等高,不等宽字体。不同字符,宽度会有所不一样。

mPython X 图形编程(四种模式)

调整 x 数值,使显示的字符串“Hello World”能够居中。

在这里插入图片描述

在这里插入图片描述

11、mPython仿真功能显示Hello World
——没有掌控板也能测试运行程序

在这里插入图片描述

电脑上的显示效果如图

在这里插入图片描述
12、了解OLED屏幕

掌控板自带1.3英寸OLED显示屏。OLED(Organic Light-Emitting Diode),又称为有机电激光显示,由美籍华裔教授邓青云于1979年在实验室中发现。它是一种非常薄的有机材料涂层,具有自发光特性,换句话说,当有电流通过时,这些有机材料就会发光。OLED相比于传统显示屏幕,在技术优势上可以说是划时代的。OLED是广视角,具有几乎无穷高的对比度、较低的功耗、非常高的反应速度,全彩化并且制程简单等优点。OLED材料可以自发光,不需要增加背光源,可以大大简化工艺,缩减体积。基于以上种种优异特性,OLED被认为是下一代的平面显示器新兴应用技术。

掌控板OLED显示屏的分辨率128x64。分辨率指屏幕显示的像素个数。那什么是像素呢?掌控板OLED显示屏的分辨率128x64。分辨率指屏幕显示的像素个数。那什么是像素呢?你在屏幕上可以看到一张图片,但实际上,贴在屏幕边上看就会发现你的屏幕实际上是由无数个小点点组成的,因为每个点比较小,所以你的眼睛会误以为这是一张完整的图片。

一个像素就可以理解为屏幕上的一个点。屏幕正是由多个像素点组成。分辨率128x64的意思是水平方向含有128个像素,垂直方向含有64个像素。屏幕上一共有128x64个像素点。 通过“画点”指令,我们可以看到屏幕中的任意一个像素点。示例程序和运行结果如下图。在屏幕上可以看到一张图片,但实际上,你贴在屏幕边上看就会发现你的屏幕实际上是由无数个小点点组成的,因为每个点比较小,所以你的眼睛会误以为这是一张完整的图片。 一个像素就可以理解为屏幕上的一个点。屏幕正是由多个像素点组成。分辨率128x64的意思是水平方向含有128个像素,垂直方向含有64个像素。屏幕上一共有128x64个像素点。通过“画点”指令,我们可以看到屏幕中的任意一个像素点。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/131998120