基于Adafruit Circuit Playground Express的开发过程————工程文件的建立与CircuitPython踩坑
假期闲来无事买了一块Adafruit Circuit Playground Express跟大家一起分享下开发过程
标签
嵌入式系统
MCU
pildio
更新2024-07-30
25

Adafruit Circuit Playground Express主板简介

 

图片7.png 

 


首先来看这块板子的板上资源

- 10颗Mini NeoPixel LED,每个LED均可显示任何彩虹颜色

- 1个运动传感器(LIS3DH 3轴XYZ加速度计),带有轻击和自由落体检测功能

- 1个温度传感器 (MMBT2222)

- 1个光传感器 (ALSPT1931),也可以用作颜色或脉冲传感器

- 1个声音传感器(MEMS麦克风)

- 红外发射器和接收器(DSOP38338),可发射和接收远程控制代码,在CircuitPlayground Expresses之间发送消息,或用作接近传感器

- 1个带D类放大器的迷你扬声器(7.5mm磁性扬声器/蜂鸣器)

- 2个按钮,标记为A和B

- 1个滑动开关

- 8个易于使用的鳄鱼夹输入/输出引脚(含I2C、UART、8个可进行模拟输入的引脚/多PWM 输出)

- 7个焊盘可用作电容式触摸输入, 剩余 焊盘是一个真模拟输出

- 绿色“ON”LED

- 红色“#13”LED,用于基本闪烁

- 复位按钮

 

 图片1.png

板子上各个接口的用途

图片2.png

A0 (a.k.a D12) - This is a special pin that can do true analog output so it's great for playing audio clips. It can be digital I/O, or analog I/O, but if you do that it will interfere with the built-in speaker. This is the one pin that cannot be used for capacitive touch.
A1 / D6 - This pin can be digital I/O, or analog Input. This pin has PWM output and can be capacitive touch sensor
A2 / D9 - This pin can be digital I/O, or analog Input. This pin has PWM output and can be capacitive touch sensor
A3 / D10 - This pin can be digital I/O, or analog Input. This pin has PWM output and can be capacitive touch sensor
A4 / D3 - This pin can be digital I/O, or analog Input. This pin is also the I2C SCL pin, and can be capacitive touch sensor
A5 / D2 - This pin can be digital I/O, or analog Input. This pin is also the I2C SDA pin, and can be capacitive touch sensor
A6 / D0 - This pin can be digital I/O, or analog Input. This pin has PWM output, Serial Receive, and can be capacitive touch sensor
A7 / D1 - This pin can be digital I/O, or analog Input. This pin has PWM output, Serial Transmit, and can be capacitive touch sensor

A0 (a.k.a D12) - 这是一个特殊的引脚,可以做真正的模拟输出,所以它非常适合播放音频剪辑。它可以是数字 I/O 或模拟 I/O,但如果这样做,它会干扰内置扬声器。这是一个不能用于电容式触摸的引脚。

A1 / D6 - 此引脚可以是数字 I/O 或模拟输入。该引脚具有PWM输出,可以是电容式触摸传感器

A2 / D9 - 此引脚可以是数字 I/O 或模拟输入。该引脚具有PWM输出,可以是电容式触摸传感器

A3 / D10 - 此引脚可以是数字 I/O 或模拟输入。该引脚具有PWM输出,可以是电容式触摸传感器

A4 / D3 - 此引脚可以是数字 I/O 或模拟输入。该引脚也是 I2C SCL 引脚,可以是电容式触摸传感器

A5 / D2 - 此引脚可以是数字 I/O 或模拟输入。该引脚也是 I2C SDA 引脚,可以是电容式触摸传感器

A6 / D0 - 此引脚可以是数字 I/O 或模拟输入。该引脚具有PWM输出,串行接收,并且可以是电容式触摸传感器

A7 / D1 - 此引脚可以是数字 I/O 或模拟输入。该引脚具有PWM输出,串行发送,并且可以是电容式触摸传感器

 

 


Internally Used Pins!

These are the names of the pins that are used for built in sensors and such!

 

D4 - Left Button A

D5 - Right Button B

D7 - Slide Switch

D8 - Built-in 10 NeoPixels

D13 - Red LED

D27 - Accelerometer interrupt

D25 - IR Transmitter

D26 - IR Receiver

A0 - Speaker analog output

A8 - Light Sensor

A9 - Temperature Sensor

A10 - IR Proximity Sensor

D28 - Internal I2C SDA (access with Wire1)

D29 - Internal I2C SCL (access with Wire1)

D30 (PIN_SPI_MISO) - SPI FLASH MISO

D31 (PIN_SPI_SCK) - SPI FLASH SCK

D32 (PIN_SPI_MOSI) - SPI FLASH MOSI

D33 - SPI FLASH Chip Select

 

这些是用于内置传感器等的引脚名称!

 

D4 - 左键 A

D5 - 右键 B

D7 - 滑动开关

D8 - 内置 10 个 NeoPixels

D13 - 红色 LED

D27 - 加速度计中断

D25 - 红外发射器

D26 - 红外接收器

A0 - 扬声器模拟输出

A8 - 光传感器

A9 - 温度传感器

A10 - 红外接近传感器

D28 - 内部 I2C SDA(通过 Wire1 访问)

D29 - 内部 I2C SCL(使用 Wire1 访问)

D30 (PIN_SPI_MISO) - SPI 闪存味噌

D31 (PIN_SPI_SCK) - SPI 闪存 SCK

D32 (PIN_SPI_MOSI) - SPI 闪存 MOSI

D33 - SPI FLASH芯片选择

 

三、如何确定CircuitPython需要的库文件

1、我们在使用CircuitPython时需要用到库文件 这些库文件在这里下载https://circuitpython.org/libraries

 

2、现在打开lib 文件夹。当您打开该文件夹时,您会看到大量的 .MPY 文件和文件夹。

图片3.png 

 

3、如何导入我需要的库 首先打开 CIRCUITPY 驱动器上的 lib 文件夹。然后,打开从下载的 zip 中提取的 lib 文件夹。在里面,你会发现许多文件夹和.mpy文件。找到您要使用的库,并将其复制到 CIRCUITPY 上的 lib 文件夹中。

如果库是一个包含多个.mpy 文件的目录,请确保将整个文件夹复制到 CIRCUITPY/lib。

 

4、我们需要安装那些库  一般来说我们需要导入代码中import 后面的名称

例如import library_or_module 即 我们需要library_or_module这个库

 

5、如何创建自己的.mpy 文件

mpy-cross

请参考一下连接

https://adafruit-circuit-python.s3.amazonaws.com/index.html?prefix=bin/mpy-cross/

若要创建.mpy文件,请运行以在与原始文件相同的目录中创建yourfile.mpy./mpy-cross path/to/yourfile.py

 

 

四、如何卸载CircuitPython

也许您尝试了CircuitPython并想回到MakeCodeArduino

备份您的代码在替换CircuitPython之前,不要忘记备份CIRCUITPY驱动器上的代码。这意味着您的code.py任何其他文件、lib文件夹等

 

1、迁移到Arduino

如果你想改用Arduino,你只需使用Arduino IDE来加载Arduino程序。首先插入您的电路板,然后双击重置,直到您获得绿色的板载LED。在Arduino IDE中,选择匹配的板,例如Circuit Playground Express。确保LED仍为绿色,然后单击Upload以上传Blink。成功上传后,串行端口将更改,因此请重新选择新端口!

 

上传Blink后,您应该不再需要双击以进入引导加载程序模式。当您上传时,Arduino将自动重置。

五、CircuitPython中本次历程我们用到的库

以上为在本次活动中我锁使用到的全部库文件这些库文件将会依这种形式进行调用

from adafruit_circuitplayground import cp

图片4.png

adafruit_ble

adafruit_bluefruit_connect

adafruit_bus_device

adafruit_circuitplayground

adafruit_gizmo

adafruit_hid

adafruit_lis3dh.mpy

adafruit_thermistor.mpy

neopixel.mpy

 

你可以在我所提供的压缩包中找到这些文件

如果想依源码格式请使用                                   默认格式请使用

图片5.png        图片6.png         

这里我在提供一份我使用到的lib整合包  见附件

六、上诉库文件用途

adafruit_ble   蓝牙模块

adafruit_bluefruit_connect  蓝牙连接手机模块

adafruit_bus_device  外部总线访问模块管理i2c与spi总线

adafruit_circuitplayground  本次板子的专属包

adafruit_gizmo   本次板子的tft显示模块

adafruit_hid   驱动程序模拟USB HID 设备

adafruit_lis3dh.mpy  加速度传感器lis3dh的库文件

adafruit_thermistor.mpy  ntc热敏温度电阻的库文件

neopixel.mpy  条带灯的库文件

附件下载
adafruit-circuitpython-bundle-8.x-mpy-20240728.zip
adafruit-circuitpython-bundle-9.x-mpy-20240728.zip
circuitpython-community-bundle-py-20240729.zip
团队介绍
团队成员
pildio
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号