“Microduino 生成二维码/zh”的版本间的差异
(→调试) |
(→程序) |
||
(未显示2个用户的9个中间版本) | |||
第4行: | 第4行: | ||
| | | | ||
==目的== | ==目的== | ||
− | + | 本教程的目的是简单了解二维码的基本原理,并在microduino TFT来显示二维码。 | |
==设备== | ==设备== | ||
第36行: | 第36行: | ||
==QR code的特点== | ==QR code的特点== | ||
− | * | + | * 快速读取;(QR就是取自“Quick Response”的首字母),通过摄像头从拍摄到解码到显示内容也就三秒左右,对摄像的角度也没有什么要求; |
− | * | + | * 高容量、高密度;理论上内容经过压缩处理后可以存7089个数字,4296 个字母和数字混合字符,2953个8位字节数据,1817个汉字; |
− | * | + | * 支持纠错处理;纠错处理相对复杂,目前我还没有深入了解,按照QR code的标准文档说明,QR code的纠错分为4个级别,分别是: |
** level L: 最大7%的错误能够被纠正; | ** level L: 最大7%的错误能够被纠正; | ||
** level M: 最大15%的错误能够被纠正; | ** level M: 最大15%的错误能够被纠正; | ||
第46行: | 第46行: | ||
** level H: 最大30%的错误能够被纠正; | ** level H: 最大30%的错误能够被纠正; | ||
− | * | + | * 结构化;看似无规则的图形,其实对区域有严格的定义,下图就是一个模式2、版本1的QR图结构(关于QR code的“模式”、“版本”将在后面进行介绍): |
[[File:QRcode-1.jpg|600px|center|thumb]] | [[File:QRcode-1.jpg|600px|center|thumb]] | ||
在上图21*21的矩阵中,黑白的区域在QR码规范中被指定为固定的位置,称为寻像图形(finder pattern) 和 定位图形(timing pattern)。寻像图形和定位图形用来帮助解码程序确定图形中具体符号的坐标。 | 在上图21*21的矩阵中,黑白的区域在QR码规范中被指定为固定的位置,称为寻像图形(finder pattern) 和 定位图形(timing pattern)。寻像图形和定位图形用来帮助解码程序确定图形中具体符号的坐标。 | ||
第52行: | 第52行: | ||
蓝色的区域,用来标识纠错的级别(也就是Level L到Level H)和所谓的“Mask pattern”,这个区域被称为“格式化信息”(format information)。 | 蓝色的区域,用来标识纠错的级别(也就是Level L到Level H)和所谓的“Mask pattern”,这个区域被称为“格式化信息”(format information)。 | ||
− | * | + | * 扩展能力;QR code的Structure Append特点,使一个QR code可以分解成多个QR code,反之,也可以将多个QR code的数据组合到一个QR code中来。 |
[[File:QRcode-2.jpg|600px|center|thumb]] | [[File:QRcode-2.jpg|600px|center|thumb]] | ||
第82行: | 第82行: | ||
==程序== | ==程序== | ||
+ | |||
+ | * 源代码 [https://github.com/Microduino/QR_Code_Gen3V38_Public QR_Code_Gen3V38_Public] | ||
==调试== | ==调试== | ||
第97行: | 第99行: | ||
之后用手机打开二维码扫描软件(用QQ或微信也行)扫描一下屏幕上的二维码,就可以扫描出来字母。如果扫描出来是个网站地址,则自动跳转打开网站。 | 之后用手机打开二维码扫描软件(用QQ或微信也行)扫描一下屏幕上的二维码,就可以扫描出来字母。如果扫描出来是个网站地址,则自动跳转打开网站。 | ||
− | [[File:QRcode-4.jpg| | + | [[File:QRcode-4.jpg|200px|center|thumb]] |
− | [[File:QRcode-5.jpg| | + | [[File:QRcode-5.jpg|200px|center|thumb]] |
步骤四: | 步骤四: | ||
− | + | 如果想扫描自己定义的文字,在源代码里的QR_Code_Gen3V38_Public.ino文件内修改char charsToEncode的内容: | |
[[File:QRcode-6.png|600px|center|thumb]] | [[File:QRcode-6.png|600px|center|thumb]] | ||
==结果== | ==结果== | ||
− | + | [[File:QRcode-7.jpg|600px|center|thumb]] | |
==视频== | ==视频== |
2016年2月24日 (三) 10:23的最新版本
目的本教程的目的是简单了解二维码的基本原理,并在microduino TFT来显示二维码。 设备
什么是QR codeQR code属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化。 QR code的特点
在上图21*21的矩阵中,黑白的区域在QR码规范中被指定为固定的位置,称为寻像图形(finder pattern) 和 定位图形(timing pattern)。寻像图形和定位图形用来帮助解码程序确定图形中具体符号的坐标。 黄色的区域用来保存被编码的数据内容以及纠错信息码。 蓝色的区域,用来标识纠错的级别(也就是Level L到Level H)和所谓的“Mask pattern”,这个区域被称为“格式化信息”(format information)。
QR code的模式和版本也就是前面提到过QR code的模式(Model)和版本(Version)。
QR code的编码内容QR码支持编码的内容包括纯数字、数字和字符混合编码、8位字节码和包含汉字在内的多字节字符。其中:
原理图程序调试步骤一: 把core+、模块和底板堆叠在一起,并用8Pin线将底板与TFT模块连接一起。 步骤二: 将程序下载到core+。之后就可以看到屏幕上出现一个二维码。 好了,到这里基本完成了。 步骤三: 之后用手机打开二维码扫描软件(用QQ或微信也行)扫描一下屏幕上的二维码,就可以扫描出来字母。如果扫描出来是个网站地址,则自动跳转打开网站。 步骤四: 如果想扫描自己定义的文字,在源代码里的QR_Code_Gen3V38_Public.ino文件内修改char charsToEncode的内容: 结果视频 |