查看“Microduino 生成二维码/zh”的源代码
←
Microduino 生成二维码/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==目的== 本教程的目的是简单了解二维码的基本原理,并在microduino TFT来显示二维码。 ==设备== {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core+/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-Module TFT/zh]]||1||显示模块 |- |[[Microduino-Shield Cube-S2/zh]]||1||基于Microduino的扩展板 |} *其他硬件设备 {|class="wikitable" |- |元器件||数量||功能 |- |1.27间距的8Pin导线||1||连接TFT模块 |} ==什么是QR code== QR code属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化。 ==QR code的特点== * 快速读取;(QR就是取自“Quick Response”的首字母),通过摄像头从拍摄到解码到显示内容也就三秒左右,对摄像的角度也没有什么要求; * 高容量、高密度;理论上内容经过压缩处理后可以存7089个数字,4296 个字母和数字混合字符,2953个8位字节数据,1817个汉字; * 支持纠错处理;纠错处理相对复杂,目前我还没有深入了解,按照QR code的标准文档说明,QR code的纠错分为4个级别,分别是: ** level L: 最大7%的错误能够被纠正; ** level M: 最大15%的错误能够被纠正; ** level Q: 最大25%的错误能够被纠正; ** level H: 最大30%的错误能够被纠正; * 结构化;看似无规则的图形,其实对区域有严格的定义,下图就是一个模式2、版本1的QR图结构(关于QR code的“模式”、“版本”将在后面进行介绍): [[File:QRcode-1.jpg|600px|center|thumb]] 在上图21*21的矩阵中,黑白的区域在QR码规范中被指定为固定的位置,称为寻像图形(finder pattern) 和 定位图形(timing pattern)。寻像图形和定位图形用来帮助解码程序确定图形中具体符号的坐标。 黄色的区域用来保存被编码的数据内容以及纠错信息码。 蓝色的区域,用来标识纠错的级别(也就是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]] ==QR code的模式和版本== 也就是前面提到过QR code的模式(Model)和版本(Version)。 * QR code分为Model1和Model2两种模式,Model1是对QR的初始定义,Model2是对Model1的扩展,目前使用较为普遍的是Model2。 * QR图的大小(size)被定义为版本(Version),版本号从1到40。版本1就是一个21*21的矩阵,每增加一个版本号,矩阵的大小就增加4个模块(Module),因此,版本40就是一个177*177的矩阵。(版本越高,意味着存储的内容越多,纠错能力也越强)。 ==QR code的编码内容== QR码支持编码的内容包括纯数字、数字和字符混合编码、8位字节码和包含汉字在内的多字节字符。其中: * 数字(Numeric mode):每三个为一组压缩成10bit。 * 字母数字混合(Alphanumeric mode):每两个为一组,压缩成11bit。 * 8bit字节数据(Byte mode):无压缩直接保存。 * 日本汉字(KANJI mode):每一个字符被压缩成13bit * 中国汉字(GB2312):每一个字符被压缩成13bit 如下表是字母数字混合: [[File:QRcode-3.png|600px|center|thumb]] ==原理图== ==程序== * 源代码 [https://github.com/radiumray/QR_Code_Gen3V38_Public QR_Code_Gen3V38_Public] ==调试== 步骤一: 把core+、模块和底板堆叠在一起,并用8Pin线将底板与TFT模块连接一起。 步骤二: 将程序下载到core+。之后就可以看到屏幕上出现一个二维码。 好了,到这里基本完成了。 步骤三: 之后用手机打开二维码扫描软件(用QQ或微信也行)扫描一下屏幕上的二维码,就可以扫描出来字母。如果扫描出来是个网站地址,则自动跳转打开网站。 [[File:QRcode-4.jpg|200px|center|thumb]] [[File:QRcode-5.jpg|200px|center|thumb]] 步骤四: 如果想扫描自己定义的文字,在源代码里的QR_Code_Gen3V38_Public.ino文件内修改char charsToEncode的内容: [[File:QRcode-6.png|600px|center|thumb]] ==结果== [[File:QRcode-7.jpg|600px|center|thumb]] ==视频==
返回至
Microduino 生成二维码/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息