查看: 567|回复: 0

【零知ESP8266】SSD1306 OLED教程:绘制二维码

[复制链接]
  • TA的每日心情

    2019-7-27 17:15
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    发表于 2019-6-11 13:46 | 显示全部楼层 |阅读模式
    本帖最后由 lz-esp-link 于 2019-6-19 10:58 编辑

    二维码现在随处可见,这次就教大家如何使用零知ESP8266开发板在SSD1306 OLED显示屏上绘制QR码。
    1、硬件准备
    (1)零知ESP8266开发板
    (2)SSD1306 OLED模块
    (3)杜邦线若干
    2、软件准备
    本次使用了OLED相关的软件库,因此需要安装相关的软件库:
    安装库-1.jpg
    安装库-2.jpg
    3、零知开发工具
    安装好库,在零知开发工具中就可以看到QRCode二维码相关例子,打开它:
    例子.jpg
    核心代码如下,非常简单:

    kittenblock中小学创客名师推荐的图形化编程软件

    /* *********************************************************************************
     * ESP8266 QRcode
     * dependency library :
     *   ESP8266 Oled Driver for SSD1306 display by Daniel Eichborn, Fabrice Weinberg
     * 零知ESP8266-OLED
     * SDA --> D1-sda
     * SCL --> D0-scl
    ***********************************************************************************/
     
    #include <qrcode.h>
     
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
     
    #define SCREEN_WIDTH 128 // OLED display width, in pixels
    #define SCREEN_HEIGHT 64 // OLED display height, in pixels
     
    // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
    #define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
    Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
     
    QRcode qrcode (&display);
     
    void setup() {
     
        Serial.begin(115200);
        Serial.println("");
        Serial.println("Starting...");
     
        display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
     
        display.clearDisplay();
     
     
        // enable debug qrcode
        qrcode.debug();
     
        // Initialize QRcode display using library
        qrcode.init();
        // create qrcode
        qrcode.create("www.lingzhilab.com");
     
    }
     
    void loop() { }
    4、电路连接
    接线很简单,I2C接口对应连接即可:
    接线.jpg
    接好后实物图如下:
    实物图.jpg
    现在验证代码然后上传到零知-esp8266,可以看到如下结果啦:
    二维码.jpg
    用手机QQ扫一扫看看:
    扫一扫.jpg
    结果.jpg
    更多详细资料可到零知实验室免费获取。











    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    arduino首次编译通过第二次编译必报错
    arduino首次编译通过第二
    如题: 刚打开ide 首次编译 上传都没问题 不管你改不改代码 直接进行 编译 或者上传
    【Arduino】108种传感器系列实验(06)---声音传感器模块
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    旧版本ide中 ino文件名不能以数字开头,不能有中文?
    旧版本ide中 ino文件名不
    最近下载了站长编著的ARDUINO程序设计基础一书的配套例程。发现用arduino ide打开 里
    用Blinker获取天气信息并用ArduinoJson6分析数据(arduino D1)
    用Blinker获取天气信息并
    在Blinker最新版本的库中我们看到它用了ArduinoJson6,图中的两个类是ArduinoJson6的类
    一波三折,分享我的esp32编译环境搭建arduino
    一波三折,分享我的esp32
    买了个esp-wroom32开发板,想用熟悉的arduino敲代码。 但是上网查遍了所有办法,要么
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表