記錄創(chuàng)建Fab Xiao開發(fā)板的過程及案例展示
Fab Xiao是Fab Academy為任何電子或編程學(xué)生創(chuàng)建的電路板。
在阿姆斯特丹的教練訓(xùn)練營(yíng)期間,尼爾建議從Seeed Studio Xiao開始,特別是RP2040模型或ESP32C3。在我的例子中,這個(gè)Fab-Xiao使用Seeed Studio Xiao RP2040模型。Fab-Xiao也可以使用Seeed Studio Xiao ESP32-C3。
為此,我想記錄創(chuàng)建開發(fā)板的過程以及該板輸入和輸出的幾個(gè)示例。這個(gè)想法也是使用Adrianino輸入和輸出模塊。
特性
?電源引腳標(biāo)識(shí),紅色為5V,藍(lán)色為3V3,白色為GND。
?在左邊有4個(gè)輸出或輸入,每側(cè)都有VCC和GND,以便能夠連接不同的輸入或輸出。
?在右側(cè)底部有3個(gè)輸出或輸入,并帶有GND引腳。
?底部有一個(gè)I2C連接,用于連接LCD, OLED或使用此通信的傳感器。
?有一個(gè)LED和一個(gè)集成按鈕,這將有助于我們測(cè)試XIAO RP2040與一個(gè)簡(jiǎn)單的程序。
?可能與阿德里安尼諾輸入和輸出模塊連接。
Datasheet(數(shù)據(jù)表
Seeed Studio XIAO RP2040與樹莓派RP2040生態(tài)系統(tǒng)兼容,因?yàn)樗鼈児蚕硐嗤腞P2040芯片。它支持多種語言,包括C / MicroPython / CircuitPython。這將是您開始使用MicroPython的一個(gè)很好的工具。
?強(qiáng)大的MCU:雙核ARM Cortex M0+處理器,靈活的時(shí)鐘運(yùn)行高達(dá)133 MHz。
?豐富的片上資源:264KB SRAM, 2MB板載閃存
?靈活的兼容性:支持Micropython/Arduino/CircuitPython
?易于項(xiàng)目操作:面包板友好和貼片設(shè)計(jì),背面無組件
?尺寸?。耗粗复笮?20x17.5mm),適用于可穿戴設(shè)備和小型項(xiàng)目。
?多個(gè)接口:11個(gè)數(shù)字引腳,4個(gè)模擬引腳,11個(gè)PWM引腳,1個(gè)I2C接口,1個(gè)UART接口,1個(gè)SPI接口,1個(gè)SWD Bonding pad接口。
?一般I/O引腳:MCU工作電壓為3.3V。一般I/O引腳輸入電壓高于3.3V可能會(huì)損壞芯片。電源引腳:內(nèi)置DC-DC轉(zhuǎn)換電路,可將5V電壓轉(zhuǎn)換為3.3V,可通過VIN-PIN和5V- pin為5V電源供電。使用時(shí)請(qǐng)注意,不要掀開防護(hù)罩蓋。
?5V:電源電壓5V。
?接地:地面。
?3V3:電源電壓3V3。
?數(shù)字引腳(GPIO引腳編號(hào)):0、1、2、3、4、6、7、26、27、28、29
?模擬引腳(GPIO引腳編號(hào)):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引腳編號(hào)):12
Fab-Xiao示意圖
這是一個(gè)示意圖,你可以看到所有的組件。
板的設(shè)計(jì)
在這里你可以下載Eagle文件和PNG文件。這里是PNG的樣本,痕跡和切割線。在這里,您還可以找到庫(kù),將seed Xiao RP2040或ESP32-C3的痕跡添加到Eagle或kiCAD。
在這里您可以下載KICAD 6文件和SVG文件。你也可以看到一個(gè)三維模擬板。
由于XIAO RP2040下面有連接區(qū)域,為了避免短路,我用3M?環(huán)氧薄膜電工膠帶
編程:使用Arduino查看Studio XIAO RP2040
1. 我們打開Arduino程序。
2. 在首選項(xiàng)中,我們將添加您可以在這里找到的其他板的URL。我們需要Earlephilhower的Arduino-Pico
3. 下一步是在板卡管理器中下載Pico。
4. 我們?yōu)镾eeed Studio XIAO RP2040配置Arduino IDE。Seeed Studio XIAO RP2040將出現(xiàn)在COM端口,在我的情況下是COM 3。
5. 現(xiàn)在加載Blink程序,使引腳D6 (GPIO 0)上的LED閃爍。當(dāng)我們上傳它時(shí),所有這些信息都出現(xiàn)在通知部分。
編程:使用Arduino查看Studio XIAO ESP32-C3
1. 我們打開Arduino程序。
2. 在首選項(xiàng)中,我們將添加您可以在這里找到的其他板的URL。我們需要expressif的Arduino ESP32
3. 下一步是在板管理器中下載ESP32。
4. 我們?yōu)镾eeed Studio XIAO ESP32-C3配置Arduino IDE。Seeed Studio XIAO ESP32-C3將出現(xiàn)在COM端口,在我的情況下是com3。
5. 現(xiàn)在加載Blink程序,使引腳D6上的LED閃爍。當(dāng)我們上傳它時(shí),所有這些信息都出現(xiàn)在通知部分。
代碼
//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