嵌入式技术
那么话不多说,咱们直接看看今日份的开源工(解)程(药)吧~
工程描述
Arduino UNO 1.3寸OLED扩展板,兼容STM32-NUCLEO
这个模块带有:
一个1.3英寸,分辨率为128x64的OLED屏
一个标准micro SD卡槽
一个五向开关
它可以在任何带有标准Arduino UNO接口的开发板上使用,包括且不限于:
Arduino
STM32-Nucleo/Disc
NXP-EVK
Rensas-EK等开发板
板载的电平转换器可以做到5V和3.3V的完美兼容。
特 性
为Arduino UNO设计,但是与所有带有标准UNO R3接口的开发板兼容:
1.3(1.29)英寸OLED显示屏
分辨率128x64
SPI接口
电平转换芯片保证模块可以在5V(Arduino AVR)和3.3V(STM32或其他)的电平下工作。
一个标准的MicroSD卡槽。
一个五向开关,使用ADC模拟按键方式连接,仅占用1个IO(ADC接口)。
额外的复位按键。
扩展板上预留有另一组IO接口焊盘,可以手动焊接排针或者排母来扩展IO接口。
注意事项
编程时,SPI的通讯速率请不要超过10MHz。
通常情况下,1MHz左右的总线速度已经足以满足此模块的需求。
SD卡初始化时,总线速度不能超过400kHz。
如果使用Arduino的SD库,则不用额外处理。
在5V系统使用时。
初始化的情况下,无论是否使用microSD卡,microSD卡的MISO信号连接的Arduino引脚(D12)都应该第一时间设置为输入模式。
严禁将D12接口设置为输出模式并输出1(高电平),这可能会损坏你的microSD卡。
代码如下:
void setup(void) { // Set the SD's MISO Pin as input mode first, VERY IMPORTANT! pinMode(12,INPUT); // ---Other codes below---}
如果在除Arduino以外的平台使用此模块,需要注意:
不要同时将SD卡和OLED显示屏的CS引脚同时拉低。
这可能会损坏SD卡或者OLED屏。
设 计 图
原理图
PCB
实物图
成品图
运行图
制作说明
OLED屏购买链接在原工程中查看。
其他元件按照BOM在立创商城购买即可,其中TVS可以不用焊接,标记为TBD的元件不要焊接。
附件说明
附件“Arduino 1.3''OLED Shield Examples_v1.0.zip”里面是用于Arduino的示例代码,其中有三个示例:
Joystick_Test 摇杆测试程序。
OLED_Graphics_Test OLED绘图测试程序。
SDCard_ImageBrowser SD卡测试程序。
需要事先准备一张格式化为FAT32的SD卡。
把media文件夹中的两个bin文件放置在SD的根目录下。
注意,此示例需要最少4KB内存,否则无法在Arduino UNO上运行。
示例代码需要依赖Adafruit SSD1306库,在库管理器里面安装即可。
测试使用的ESP8266开发板也是开源项目。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !