记录创建Fab Xiao开发板的过程及案例展示
扫描二维码
随时随地手机看文章
Fab Xiao是Fab Academy为任何电子或编程学生创建的电路板。
在阿姆斯特丹的教练训练营期间,尼尔建议从Seeed Studio Xiao开始,特别是RP2040模型或ESP32C3。在我的例子中,这个Fab-Xiao使用Seeed Studio Xiao RP2040模型。Fab-Xiao也可以使用Seeed Studio Xiao ESP32-C3。
为此,我想记录创建开发板的过程以及该板输入和输出的几个示例。这个想法也是使用Adrianino输入和输出模块。
特性
•电源引脚标识,红色为5V,蓝色为3V3,白色为GND。
•在左边有4个输出或输入,每侧都有VCC和GND,以便能够连接不同的输入或输出。
•在右侧底部有3个输出或输入,并带有GND引脚。
•底部有一个I2C连接,用于连接LCD, OLED或使用此通信的传感器。
•有一个LED和一个集成按钮,这将有助于我们测试XIAO RP2040与一个简单的程序。
•可能与阿德里安尼诺输入和输出模块连接。
Datasheet(数据表
Seeed Studio XIAO RP2040与树莓派RP2040生态系统兼容,因为它们共享相同的RP2040芯片。它支持多种语言,包括C / MicroPython / CircuitPython。这将是您开始使用MicroPython的一个很好的工具。
•强大的MCU:双核ARM Cortex M0+处理器,灵活的时钟运行高达133 MHz。
•丰富的片上资源:264KB SRAM, 2MB板载闪存
•灵活的兼容性:支持Micropython/Arduino/CircuitPython
•易于项目操作:面包板友好和贴片设计,背面无组件
•尺寸小:拇指大小(20x17.5mm),适用于可穿戴设备和小型项目。
•多个接口:11个数字引脚,4个模拟引脚,11个PWM引脚,1个I2C接口,1个UART接口,1个SPI接口,1个SWD Bonding pad接口。
•一般I/O引脚:MCU工作电压为3.3V。一般I/O引脚输入电压高于3.3V可能会损坏芯片。电源引脚:内置DC-DC转换电路,可将5V电压转换为3.3V,可通过VIN-PIN和5V- pin为5V电源供电。使用时请注意,不要掀开防护罩盖。
•5V:电源电压5V。
•接地:地面。
•3V3:电源电压3V3。
•数字引脚(GPIO引脚编号):0、1、2、3、4、6、7、26、27、28、29
•模拟引脚(GPIO引脚编号):26、27、28、29
•LED绿色(GPIO Pin number): 16
•LED红色(GPIO Pin number): 17
•LED Blue (GPIO Pin number): 25
•SDA (GPIO Pin number): 6
•SCL (GPIO Pin number): 7
•RGB LED_POWER (GPIO Pin number): 11
•RGB LED (GPIO引脚编号):12
Fab-Xiao示意图
这是一个示意图,你可以看到所有的组件。
板的设计
在这里你可以下载Eagle文件和PNG文件。这里是PNG的样本,痕迹和切割线。在这里,您还可以找到库,将seed Xiao RP2040或ESP32-C3的痕迹添加到Eagle或kiCAD。
在这里您可以下载KICAD 6文件和SVG文件。你也可以看到一个三维模拟板。
由于XIAO RP2040下面有连接区域,为了避免短路,我用3M™环氧薄膜电工胶带
编程:使用Arduino查看Studio XIAO RP2040
1. 我们打开Arduino程序。
2. 在首选项中,我们将添加您可以在这里找到的其他板的URL。我们需要Earlephilhower的Arduino-Pico
3. 下一步是在板卡管理器中下载Pico。
4. 我们为Seeed Studio XIAO RP2040配置Arduino IDE。Seeed Studio XIAO RP2040将出现在COM端口,在我的情况下是COM 3。
5. 现在加载Blink程序,使引脚D6 (GPIO 0)上的LED闪烁。当我们上传它时,所有这些信息都出现在通知部分。
编程:使用Arduino查看Studio XIAO ESP32-C3
1. 我们打开Arduino程序。
2. 在首选项中,我们将添加您可以在这里找到的其他板的URL。我们需要expressif的Arduino ESP32
3. 下一步是在板管理器中下载ESP32。
4. 我们为Seeed Studio XIAO ESP32-C3配置Arduino IDE。Seeed Studio XIAO ESP32-C3将出现在COM端口,在我的情况下是com3。
5. 现在加载Blink程序,使引脚D6上的LED闪烁。当我们上传它时,所有这些信息都出现在通知部分。
代码
//Fab Academy 2023 - Fab Lab León
//Button + LED
//Fab-Xiao
//
//Original code:Neil Gershenfeld 12/8/19
// This work may be reproduced, modified, distributed,
// performed, and displayed for any purpose, but must
// acknowledge this project. Copyright is retained and
// must be preserved. The work is provided as is; no
// warranty is provided, and users accept all liability.
//
const int ledPin1 = 0;//first light RP2040 pin 0 or ESP32-C3 pin D6
const int buttonPin = 1;// button pin RP2040 pin 1 or ESP32-C3 pin D7
int buttonState = 0;//initial state of the button
int i = 0; //variable intensity led
void setup() { //declaration of inputs and outputs
pinMode(ledPin1, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);// we read the state of the button
if (buttonState == HIGH) { //if we press the button
digitalWrite(ledPin1, HIGH);
delay(500);
digitalWrite(ledPin1, LOW);
delay(500);
digitalWrite(ledPin1, HIGH);
delay(500);
digitalWrite(ledPin1, LOW);
delay(500);
digitalWrite(ledPin1, HIGH);
delay(2000);
digitalWrite(ledPin1, LOW);
delay(1000);
}
else { //if we don't press the button
digitalWrite(ledPin1, LOW);
}
}
本文编译自hackster.io