零知开源软件库使用-QRcode二维码生成显示-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3452|回复: 0

零知开源软件库使用-QRcode二维码生成显示

[复制链接]
发表于 2018-7-31 16:39 | 显示全部楼层 |阅读模式
在我们生活中随处可见二维码,我们在零知板上使用软件库来生成并显示二维码。
硬件:零知-标准板、OLED(最好用像素更大的LCD)
连线:连线请参照OLED模块使用教程进行。

程序源码如下:
[mw_shl_code=cpp,true]/**
*  QRCode 零知板-二维码生成与显示
* 2018年7月31日16:23:41
*        by 零知实验室(www.lingzhilab.com)
*
*/

#include <qrcode.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

void setup() {
    Serial.begin(9600);
       
        display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
        display.clearDisplay();

    // Start time
    uint32_t dt = millis();
  
    // 根据字符串生成二维码
    QRCode qrcode;
    uint8_t qrcodeData[qrcode_getBufferSize(3)];
    qrcode_initText(&qrcode, qrcodeData, 3, 0, "http://www.lingzhilab.com");
  
    // Delta time
    dt = millis() - dt;
    Serial.print("QR Code Generation Time: ");
    Serial.print(dt);
    Serial.print("\n");

    // Top quiet zone
    Serial.print("\n\n\n\n");
       

        //显示到OLED上
    for (uint8_t y = 0; y < qrcode.size; y++) {

        // Left quiet zone
        Serial.print("        ");

        // Each horizontal module
        for (uint8_t x = 0; x < qrcode.size; x++) {

            // Print each module (UTF-8 \u2588 is a solid block)
            //Serial.print(qrcode_getModule(&qrcode, x, y) ? "\u2588\u2588": "  ");
                       
                        if(qrcode_getModule(&qrcode,x,y)){
                                display.drawPixel(x, y, WHITE);
                        }else{
                                display.drawPixel(x, y, BLACK);
                        }

        }

        Serial.print("\n");
    }
       
        display.display();

    // Bottom quiet zone
    Serial.print("\n\n\n\n");
}

void loop() {

}[/mw_shl_code]

最后在OLED上可以看到我们生成的二维码:
31.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 04:29 , Processed in 0.135645 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表