Arduino Nano系列包括非常经典的Arduino Nano V3,以及Nano BLE系列和最近刚推出的nano matter开发板都使用相同的尺寸。因此想着快速设计一个Nano系列的简易扩展板,目前主打的还是I2C接口的扩展。
以最新的Nano Matter开发板为例,其尺寸图如下:

考虑到屏幕是I2C接口的OLED,传感器上美信的MX30102也是I2C接口,因此把A4,A5俩引脚扩展出来,可以级联多个I2C设备,节省引脚资源。

原理图:

PCB:

实物安装:

结合之前使用的MX30102心率血氧传感器,可以快速的搭建一个简易健康设备。

测试代码:
#include <Arduino.h>
#include <U8x8lib.h>
#include <Wire.h>
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/SCL, /* data=*/SDA, /* reset=*/U8X8_PIN_NONE); // OLEDs without Reset of the Display
//U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/5, /* data=*/4, /* reset=*/U8X8_PIN_NONE); // OLEDs without Reset of the Display
//U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ 5, /* data=*/ 4, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display
//U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ 19, /* data=*/ 18, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display
void setup(void) {
Serial.begin(115200);
Serial.println("Initializing...");
/* U8g2 Project: SSD1306 Test Board */
//pinMode(10, OUTPUT);
//pinMode(9, OUTPUT);
//digitalWrite(10, 0);
//digitalWrite(9, 0);
/* U8g2 Project: KS0108 Test Board */
//pinMode(16, OUTPUT);
//digitalWrite(16, 0);
u8x8.begin();
u8x8.setPowerSave(0);
Serial.println("SCL: ");
Serial.println(SCL);
Serial.println("SDA: ");
Serial.println(SDA);
}
void loop(void) {
u8x8.setFont(u8x8_font_chroma48medium8_r);
u8x8.drawString(0, 1, "Heart Beat Dev");
u8x8.setInverseFont(1);
//u8x8.drawString(0, 0, "012345678901234567890123456789");
u8x8.setInverseFont(0);
//u8x8.drawString(0,8,"Line 8");
//u8x8.drawString(0,9,"Line 9");
u8x8.refreshDisplay(); // only required for SSD1606/7
delay(2000);
}附件是本次扩展底板的Gerber:
我要赚赏金
