前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >新手必看:GPT4o 详解 ESP32 接 IIC OLED 1306 屏幕,大大提高学习效率,GPT4o真牛!

新手必看:GPT4o 详解 ESP32 接 IIC OLED 1306 屏幕,大大提高学习效率,GPT4o真牛!

作者头像
一个程序猿的异常
发布2024-06-17 15:18:19
1960
发布2024-06-17 15:18:19
举报

ESP32 祝大家 端午安康

最近痴迷于研究物联网开发,经过几天的摸索,最终把小红书刷成了学习 Ardunio 物联网开发的学习社群。

经过对比和大佬推荐,最终选择了ESP32-WROOM-32 这个型号的开发版加IIC OLED 13060.96寸屏幕。

知识点: IIC:IIC 是一种硬件设备间常用的接口通讯协议,全称是 Inter-Integrated Circuit,也可以写为 I2C。他的设计时的理念是:信号线尽量少并且速率要尽量高。信号线少,可以减少引脚占用,这对早期的芯片(引脚很少)的很重要。 1306:SSD1306 芯片驱动的 OLED 屏幕。他的分辨率是 128*64,意思就是横向有 128 个像素点,纵向有 64 个。

ESP32+OLED

还买了麦克风和喇叭,还没到货,第一次玩,先研究下屏幕使用不。

开发环境搭建

我本身是一名java程序员,对于面向对象编程是信手拈来,所以针对ESP32编程,我选择的是MicroPython。

关于开发环境的搭建建议搭建查看极客侠的教程,具体教程地址,我会在文末给出。这里只列出必须的步骤。

  • 安装ESP32驱动,驱动会在文末提供
  • 安装Thonny IDE
  • MicroPython 固件烧录到 ESP32 单片机
  • 编写代码运行程序
  • 过程还是比较简单的,初期建议大家跟着教程做就是了,不要问为什么,先跑起来

ESp32 Thonny 开发环境

引脚接线

虽然教程上有说明如何点亮OLED屏幕,但是型号有差异,对于新手来说怎么接线是最大的问题,为了快速实验,我们请出我们的万能老师ChatGPT出场。

使用GPT4o提问:

代码语言:javascript
复制
esp32开发版接 iic oled 1306 屏幕应该如何接线,并且给出显示hello world的micropython代码

GPT4O回复

代码语言:javascript
复制
ESP32 接线 IIC OLED 1306 屏幕
要将 ESP32 开发板连接到 IIC OLED 1306 屏幕,请按照以下接线图进行连接:

VCC: 连接到 ESP32 的 3.3V 电源引脚
GND: 连接到 ESP32 的 GND 引脚
SCL: 连接到 ESP32 的 GPIO 22 (默认 I2C SCL 引脚)
SDA: 连接到 ESP32 的 GPIO 21 (默认 I2C SDA 引脚)

注意看上面的连线配对,信息,我们按照默认22 21进行连接

知识点

  • SCL(Serial Clock):时钟线,时钟都是有 master 提供的
  • SDA(Serial Data):双向数据线,发数据或者收数据(收发不能同时)

ESP32 连线

ESP32 引脚示意

显示 "Hello World" 的 MicroPython 代码

首先,确保你的 ESP32 开发板已经安装了 MicroPython 固件。然后,通过 USB 连接 ESP32 到电脑,并使用串口终端或 IDE(如 Thonny)进行编程。

安装 ssd1306 模块:

在 REPL 中执行以下命令下载并安装 ssd1306 模块:

代码语言:javascript
复制
import upip
upip.install('micropython-ssd1306')

使用此命令需要ESP32联网

ESP32 接线 IIC OLED 1306 屏幕

要将 ESP32 开发板连接到 IIC OLED 1306 屏幕,请按照以下接线图进行连接:

显示 "Hello World" 的 MicroPython 代码

首先,确保你的 ESP32 开发板已经安装了 MicroPython 固件。然后,通过 USB 连接 ESP32 到电脑,并使用串口终端或 IDE(如 Thonny)进行编程。

代码语言:javascript
复制
python复制代码from machine import Pin, I2C
import ssd1306

# 设置 I2C 引脚
i2c = I2C(scl=Pin(22), sda=Pin(21))

# 设置 OLED 显示器, 128x64 为屏幕分辨率
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)

# 清屏
oled.fill(0)

# 显示 "Hello, World!"
oled.text("Hello, World!", 0, 0)

# 更新显示
oled.show()

这段代码会初始化 I2C 接口并设置 OLED 显示器,然后在屏幕上显示 "Hello, World!"。

  • 安装 ssd1306 模块: 在 REPL 中执行以下命令下载并安装 ssd1306 模块: python复制代码import upip upip.install('micropython-ssd1306')
  • 使用以下代码显示 "Hello World":
  • VCC: 连接到 ESP32 的 3.3V 电源引脚
  • GND: 连接到 ESP32 的 GND 引脚
  • SCL: 连接到 ESP32 的 GPIO 22 (默认 I2C SCL 引脚)
  • SDA: 连接到 ESP32 的 GPIO 21 (默认 I2C SDA 引脚)

恭喜你,成功了。

我也是刚刚接触物联网开发,文中有不正确的地方欢迎指正。

请关注我的公众号,回复ESP32获取本文中提到的所有代码和工具。期待你的留言与互动!

最后祝大家端午安康。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个程序猿的异常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开发环境搭建
  • 引脚接线
    • 知识点
      • 显示 "Hello World" 的 MicroPython 代码
        • ESP32 接线 IIC OLED 1306 屏幕
          • 显示 "Hello World" 的 MicroPython 代码
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档