查看: 2399|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2019-9-25 09:50
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 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
    核心代码如下,非常简单:
    [mw_shl_code=arduino,true]/* *********************************************************************************
    * 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() { }[/mw_shl_code]
    4、电路连接
    接线很简单,I2C接口对应连接即可:
    接线.jpg
    接好后实物图如下:
    实物图.jpg
    现在验证代码然后上传到零知-esp8266,可以看到如下结果啦:
    二维码.jpg
    用手机QQ扫一扫看看:
    扫一扫.jpg
    结果.jpg
    更多详细资料可到零知实验室免费获取。











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

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    [2019-4-20]RPG无人世界
    [2019-4-20]RPG无人世界
    剧情:主角玄影,为了逃避██的追杀迫不得已发动████在濒死状态来到█
    求助多个开关控制一条WS2812方法
    求助多个开关控制一条WS28
    本人已经写好不同的VIOD的模式 用的是Adafruit_NeoPixel库 但现在需要三个不同的开
    使用VSCode下载arduino的时候报错
    使用VSCode下载arduino的
    在VSCode中选择端口和板子的型号时提示Please check the "arduino.commandPath" in th
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表