arduino上ESP8266用Adafruit_SSD1306库驱动OLED屏

关注、星标公众,不错过精彩内容

4a0f7aef528bb4e093ef6137c88fa821.png

编辑:Tony
来源:公众号TonyCode

在进行后续的ESP8266学习前,我们先来对OLED屏进行驱动,为后续学习提供直观的信息显示。

1. 安装驱动库

在之前的Arduino系列教程中,也有对OLED进行驱动的示例。这里我们依然使用「Adafruit_SSD1306」驱动库。

在Arduino IDE中点击「项目」—「加载库」—「管理库」,查找选择最新版本,点击安装,然后在弹出的对话框中选择Install all,安装全部的关联库。

402fa251730e7faedba50ab2c85112ee.png
安装驱动库

2.硬件连接

这里使用IIC驱动屏,在IOT Kit开发板上,ESP8266的GPIO4和GPIO5分别通过跳线帽连接到OLED屏的SDA和SCL引脚。

cda9690df776782c455151f734e0d628.png
IOT Kit连接

3.编程下载

在Arduino IDE中新建sketch,拷贝如下代码并保存。

/*
 * oled
 * ESP8266驱动OLED屏
 */
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 oled(128, 64, &Wire,-1);

void setup()
{
  oled.begin(SSD1306_SWITCHCAPVCC,0x3C);
  oled.setTextColor(WHITE);//开像素点发光
  oled.clearDisplay();//清屏
  
  oled.setTextSize(1); //设置字体大小  
  oled.setCursor(35, 5);//设置显示位置
  oled.println("-TonyCode-");

  oled.setTextSize(2);//设置字体大小  
  oled.setCursor(15, 30);//设置显示位置
  oled.println("OLED TEST");
  
  oled.display(); // 开显示
}

void loop() {}

电脑连接开发板,在「工具」—「开发板」—「端口」中选择正确的端口号,点击上传,程序编译并上传。

b0afc7a0a34bb9448865d5c1b2482153.png
程序下载

上传完成后,可以看到OLED可以显示了。

03c0f6738c9623ddb9baab16b374f16f.png
实验现象

4. 显示WiFi信息

在完成对OLED屏的驱动后,结合前篇连接网络的例程,我们就可以在OLED屏上查看连网信息了。

拷贝如下程序编译上传,之前在串口显示的连网信息就可以在OLED屏上显示了。

/*
 * oled_infor
 * OLED显示连网信息
 */
#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

const char* ssid     = "your-ssid";//连接WIFI名(SSID)
const char* password = "your-password";//WIFI密码

Adafruit_SSD1306 oled(128, 64, &Wire,-1);

void setup()
{
  oled.begin(SSD1306_SWITCHCAPVCC,0x3C);
  oled.setTextColor(WHITE);//开像素点发光
  oled.clearDisplay();//清屏
  
  oled.setTextSize(1); //设置字体大小  
  oled.setCursor(15, 5);//设置显示位置
  oled.println("WiFi Information");
  oled.setCursor(2, 20);//设置显示位置

  WiFi.begin(ssid,password);//启动网络连接

  while (WiFi.status() != WL_CONNECTED)//检测网络是否连接成功
  {
    delay(500);
    oled.print(".");//设置显示位置
    oled.display(); // 开显示
  }
  
  oled.setTextSize(1);//设置字体大小  
  oled.setCursor(2, 35);//设置显示位置
  oled.println("Connected,IP address:");
  oled.println();
  oled.println(WiFi.localIP());
  oled.display(); // 开显示
}

void loop() {}


279bff3bde02af55b8dfd5c0944d5c22.png
实验现象


  • 6
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值