生成二维码并显示到OLED

二维码在我们周围非常常见,在这里展示通过OLED显示生成的二维码。

一、硬件

需要的模块

零知ESP8266开发板

OLED SSD1306模块

二、连线

接线很简单,I2C接口对应连接即可:

接好后实物图如下:

三、软件

本次使用了OLED相关的软件库,因此需要安装如下两个库:

下载这两个库,然后安装到硬件型号-零知-ESP8266:

Adafruit_SSD1306.zip(点击下载)

Adafruit-GFX.zip(点击下载)

同时我们使用了二维码生成的软件库,同样的方法安装给esp8266型号:

ESP8266_QRcode.zip(点击下载)

3、然后在零知开发工具中就可以看到QRCode二维码相关例子,打开它:

该例子核心代码如下:


							
	/* *********************************************************************************
	 * 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() { }
						

就这么几行代码搞定。

现在验证代码然后上传到零知-esp8266,可以看到如下结果啦:

用手机QQ扫一扫看看: