WIN7+ESP32 + MicroPython 最小白最简单最可行的图形化入门教程(第二部分,0.96 OLED液晶屏SSD1306。)

好的经过前文,我们已经能点亮一个LED灯了。
但是,这是解释器一句一句运行的,这样一样来,脚本如何运行呢?
这里推荐脚本的分享网站GitHub
因为python开源,micropython也是开源,所以就非常多的开发者进行开发后分享出来,这里有非常多的资源,包括micropython控制的各类外围硬件。
但是micropython给的方法太复杂了,小白,我,刚接触根本搞不明白,查了N天资料,问了N位大神,才弄到这个最简单的方法。感谢Q群541341988的群主。感谢Q群619558168的朋友!

这个工具就是:uPyCraft

今天我们就试一试淘宝的这个0.96液晶(SSD1306),我买的是7线版本(SPI),此外还有4线版本(IIC)。买的时候注意。
在这里插入图片描述
这个SPYDER是Anaconda自带的IDE,右上的目录是这个工程的文件目录。
这个好处就是安装了Anaconda3后,就有了,不用再额外的安装,随便说一下,PYCHARM等很多python的IDE都非常好用,开源就是不一样!
注意:
1、这里的boot没东西,好像是必要的文件,见下面。
2、这个SSD1306(液晶里面的驱动芯片),这个案例驱动是用模拟SPI的形式实现的,并非硬件SPI。因为我买的这个液晶屏默认是用四线SPI(一共7个脚)的形式搞的,所以代码找半天(因为自己不会写),而且有一个引脚,代码中并没有记录——CS引脚,应该接GND,我是实验出来的!
3、注意:我买的这个开发板虽然芯片是ESP32模块,但是开发板外接引脚和这个例程的开发板引脚不一致,所以我改了代码,注意代码中备注部分就是原来的。
4、代码来至GitHub。感谢大神zhcong。
分享地址:
https://github.com/zhcong/SSD1306-for-ESP32

【1】下载uPyCraft
地址https://gitee.com/dfrobot/u

ESP8266 驱动 0.96英寸 OLED 屏幕是一种常见的物联网项目需求,通常使用的屏幕是基于 I2C 或 SPI 接口的 SSD1306 控制芯片。以下是详细步骤: ### 硬件连接 OLED 屏幕一般支持 **I2C** 和 **SPI** 协议。对于 ESP8266 来说,推荐优先选择 **I2C 模式**,因为它只需要两根数据线(SCL、SDA),接线简单。 #### 使用 I2C 连接方式: | OLED 引脚 | 功能 | 对应到 ESP8266 的引脚 | |-----------|------------|-----------------------| | GND | 地 | GND | | VCC | +5V/+3.3V | 3.3V | | SDA | 数据线 | GPIO4 (D2) | | SCL | 时钟线 | GPIO5 (D1) | 注意:ESP8266 工作电压为 3.3V,因此需要确保 OLED 支持 3.3V 输入,如果只支持 5V,则需添加电平转换电路。 --- ### 软件配置 1. 安装 Arduino IDE 并设置好环境以支持 ESP8266 开发。 2. 下载并安装 `Adafruit_SSD1306` 库以及其依赖库 `Adafruit_GFX`。可以在 Arduino 中通过菜单 “工具 -> 管理库” 直接搜索下载这两个库。 ```cpp // 示例代码 - 基于 Adafruit_SSD1306 库初始化 OLED 显示文本信息 #include <Wire.h> #include <Adafruit_GFX.h> // 导入图形处理库 #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED 屏幕宽度像素数 #define SCREEN_HEIGHT 64 // OLED 屏幕高度像素数 #define OLED_RESET -1 // 如果 OLED 具有复位功能则定义该引脚编号;如果没有可以设为 -1 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void setup() { Serial.begin(115200); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 初始化显示,并指定地址,默认大多数 OLED 设备地址为 0x3C 或者 0x3D Serial.println("未能找到 OLED"); for(;;); // 循环等待避免进一步运行程序导致错误 } delay(2000); // 启动后短暂停留以便稳定 // 清除屏幕内容 display.clearDisplay(); } void loop() { display.setTextSize(1); // 设置字体大小 display.setTextColor(WHITE); // 字体颜色白色(默认) display.setCursor(0,0); // 将光标放置在坐标位置 (0,0) display.println("Hello C知!"); // 打印一行文字 "Hello C知!" display.display(); // 更新显示缓冲区的内容至实际显示屏上 delay(2000); // 停顿两秒再刷新新画面或其他操作... } ``` 以上代码将简单的“Hello C知!”字符串打印到了 OLED 上方区域。 --- ### 注意事项 - 如果无法正常通信可能是由于硬件地址设定不对,请参考模块说明书调整正确的从设备地址; - 当使用其他品牌型号的小尺寸点阵液晶产品时可能还需要查阅对应的数据手册确定是否兼容上述驱动方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值