Quick reference card - 掌控板

198 阅读6分钟

硬件

//掌控板 image

//扩展板 image

image

引脚类型描述
P0I/O模拟/数字输入,模拟/数字输出,TouchPad
P1I/O模拟/数字输入,模拟/数字输出,TouchPad
P2I模拟/数字输入
P3I模拟/数字输入,连接掌控板EXT鳄鱼夹,可连接阻性传感器
P4I模拟输入/数字输入,连接掌控板光线传感器
P5I/O数字输入,模拟/数字输出, 连接掌控板按键A,neopixel
P6I/O数字输入,模拟/数字输出, 连接掌控板蜂鸣器,不使用蜂鸣器时,可以作为数字IO使用,neopixel
P7I/O数字输入,模拟/数字输出, 连接掌控板RGB LED
P8I/O数字输入,模拟/数字输出,neopixel
P9I/O数字输入,模拟/数字输出,neopixel
P10I模拟/数字输入,连接掌控板声音传感器
P11I/O数字输入,模拟/数字输出, 连接掌控板按键B,neopixel
P12I/O保留
P13I/O数字输入,模拟/数字输出,neopixel
P14I/O数字输入,模拟/数字输出,neopixel
P15I/O数字输入,模拟/数字输出,neopixel
P16I/O数字输入,模拟/数字输出,neopixel
3V3POWER电源正输入:连接USB时,掌控板内部稳压输出3.3V,未连接USB可以通过输入(2.7-3.6)V电压为掌控板供电
P19I/O数字输入,模拟/数字输出,I2C总线SCL,与内部的OLED和加速度传感器共享I2C总线,neopixel
P20I/O数字输入,模拟/数字输出,I2C总线SDA,与内部的OLED和加速度传感器共享I2C总线,neopixel
GNDGND电源GND
Touch_P(P23)I/OTouchPad
Touch_Y(P24)I/OTouchPad
Touch_T(P25)I/OTouchPad
Touch_H(P26)I/OTouchPad
Touch_O(P27)I/OTouchPad
Touch_N(P28)I/OTouchPad

以下是为ESP32掌控板整理的MicroPython快速参考卡,涵盖硬件配置、核心模块、外设控制、网络连接及开发工具等关键内容,便于开发时快速查阅:


Quick reference card for 掌控板

🛠️ 一、硬件概览

项目参数/说明相关引脚
主控芯片ESP32-WROOM(双核,240MHz)-
板载资源128×64 OLED、RGB LED×3、按键(A/B)、蜂鸣器、光线/声音/加速度/地磁传感器P5(按键A)、P11(按键B)、P4(光线)、P10(声音)、P7(RGB LED)、P6(蜂鸣器)
GPIO引脚P0-P16, P19-P20, P23-P28 (TouchPad)P19(SCL)、P20(SDA)共享I²C总线;P23-P28为电容触摸引脚
电源3.3V稳压输入(USB供电或外部2.7-3.6V)3V3(输出/输入)、GND
通信接口UART×3、SPI(软/硬件)、I²C(板载传感器共享)默认UART0:TX=GPIO1, RX=GPIO3

⚙️ 二、核心模块速查

1. 引脚控制 (machine.Pin)
from machine import Pin
led = Pin(2, Pin.OUT)  # 初始化GPIO2为输出(板载LED)
led.on()               # 高电平
led.off()              # 低电平
btn = Pin(0, Pin.IN, Pin.PULL_UP)  # 初始化GPIO0为输入(内部上拉)
print(btn.value())     # 读取电平(0/1)
2. 定时器 (machine.Timer)
from machine import Timer
tim = Timer(0)  # 使用硬件定时器0(ID范围0-3)
tim.init(period=1000, mode=Timer.PERIODIC, callback=lambda t: print("Tick"))  # 周期1秒
3. 系统控制 (machine, esp)
import machine, esp
machine.freq(240000000)  # 设置CPU频率为240MHz
esp.osdebug(None)        # 关闭厂商调试信息
machine.reset()          # 软重启
4. 时间管理 (time)
import time
time.sleep(1)            # 延时1秒
start = time.ticks_ms()  # 获取启动毫秒数
delta = time.ticks_diff(time.ticks_ms(), start)  # 计算时间差

📡 三、外设与传感器

1. 板载资源控制
  • OLED显示(I²C地址 0x3C):
    import ssd1306
    oled = ssd1306.SSD1306_I2C(128, 64, I2C(0))  # 使用I²C0初始化
    oled.text("Hello", 0, 0); oled.show()         # 显示文本
    
  • 加速度计 (MSA300)
    import msa300
    accel = msa300.MSA300(I2C(0))
    x, y, z = accel.acceleration                 # 读取三轴加速度
    
  • RGB LED控制
    from neopixel import NeoPixel
    np = NeoPixel(Pin(7), 3)  # 绑定P7引脚,3个LED
    np[0] = (255, 0, 0); np.write()  # 点亮第一个LED为红色
    
2. 模拟信号 (ADC, DAC)
from machine import ADC, Pin
adc = ADC(Pin(4))  # 初始化GPIO4为ADC(光线传感器)
val = adc.read()   # 读取0-4095原始值
# 注:ESP32 DAC仅支持GPIO25/26,掌控板未直接引出

🌐 四、网络功能 (network)

1. WiFi连接
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID", "password")  # 连接AP
while not wlan.isconnected(): pass
print("IP:", wlan.ifconfig()[0])  # 打印IP
2. AP模式
ap = network.WLAN(network.AP_IF)
ap.config(essid="ESP-AP", max_clients=5)
ap.active(True)
3. HTTP请求 (urequests)
import urequests
resp = urequests.get("http://example.com")
print(resp.text)

🛠️ 五、开发工具

1. 文件传输 (ampypyboard.py)
# 使用ampy上传文件
ampy --port /dev/ttyUSB0 put main.py

# 使用pyboard.py复制文件
pyboard.py --device /dev/ttyUSB0 -f cp main.py :
2. REPL调试
  • 串口参数:115200bps(默认UART0)
  • 快捷键:Ctrl+E → 粘贴模式;Ctrl+D → 软复位

⚠️ 六、注意事项

  1. 引脚限制
    • 避免使用GPIO6-11、16-17(内部Flash)。
    • GPIO34-39仅支持输入,无内部上拉。
  2. 低功耗优化
    pin.hold(True)  # 设置引脚保持状态(DeepSleep时省电)
    machine.deepsleep()  # 进入深度睡眠
    
  3. 传感器校准
    • 温度传感器受芯片发热影响,建议唤醒后立即读取。

📚 资源链接

将此参考卡保存为单页PDF,可高效开发ESP32掌控板项目!💾

开机日志


ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:4300
load:0x40078000,len:12740
load:0x40080400,len:3248
entry 0x40080610
=$%#=
=$%#=
=$%#=
MicroPython v2.4.0-2-g3651c21 on 2023-07-26; mpython with ESP32
Type "help()" for more information.
>>> help()
Welcome to MicroPython on the ESP32!

For generic online docs please visit http://docs.micropython.org/

For access to the hardware use the 'machine' module:

import machine
pin12 = machine.Pin(12, machine.Pin.OUT)
pin12.value(1)
pin13 = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_UP)
print(pin13.value())
i2c = machine.I2C(scl=machine.Pin(21), sda=machine.Pin(22))
i2c.scan()
i2c.writeto(addr, b'1234')
i2c.readfrom(addr, 4)

Basic WiFi configuration:

import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan()                             # Scan for available access points
sta_if.connect("<AP_name>", "<password>") # Connect to an AP
sta_if.isconnected()                      # Check for successful connection

Control commands:
  CTRL-A        -- on a blank line, enter raw REPL mode
  CTRL-B        -- on a blank line, enter normal REPL mode
  CTRL-C        -- interrupt a running program
  CTRL-D        -- on a blank line, do a soft reset of the board
  CTRL-E        -- on a blank line, enter paste mode

For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')
>>> i2c.scan()
[38, 48, 60]
>>>

//掌控板的开机就执行其文件系统根目录的main.py

开发环境

mind+

//打开mind+后,如果直接打开代码,点击"运行",可能会报错,需要安装响应的库,类似如下:

C:\Users\MateBook Xpro>"C:\Users\MateBook Xpro\Documents\mindplus-py\environment\Python3.6.5-64\python.exe" -m pip install --upgrade pip
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Collecting pip
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 1.1 MB/s
Installing collected packages: pip
  WARNING: The scripts pip.exe, pip3.6.exe and pip3.exe are installed in 'C:\Users\MateBook Xpro\Documents\mindplus-py\environment\Python3.6.5-64\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-21.3.1

C:\Users\MateBook Xpro>"C:\Users\MateBook Xpro\Documents\mindplus-py\environment\Python3.6.5-64\python.exe" -m pip install mpython
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Collecting mpython
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/89/c9/636b134923253bccfdeeccff026622a0e32d42e4490ef11e36443b59765e/mpython-1.0.tar.gz (4.7 kB)
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for mpython, since package 'wheel' is not installed.
Installing collected packages: mpython
    Running setup.py install for mpython ... done
Successfully installed mpython-1.0

micropython编程API

盛思公司

mpythonsoftware.readthedocs.io/zh/latest/b…

BXY开发工具

语法和盛思的不兼容,参考 bxy.dfrobot.com.cn/mpy-basics