查看“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位字节码和包含汉字在内的多字节字符。其中: * 数字:每三个为一组压缩成10bit。 * 字母数字混合:每两个为一组,压缩成11bit。 * 8bit字节数据:无压缩直接保存。 * 多字节字符:每一个字符被压缩成13bit。 下图是字母数字混合 ==原理图== ==程序== ==调试== 步骤一: 把core+、模块和底板堆叠在一起,并用8Pin线将底板与TFT模块连接一起。 步骤二: 将程序下载到core+。之后就可以看到屏幕上出现一个二维码。 好了,到这里基本完成了。 步骤三: 我们来制作枪管和子弹来替换马达。目前我手头只有不到一米的漆包线,一个碳素笔的笔芯,一些乐高玩具的零件,先用它们吧,我也不指望子弹有多么大的杀伤力。 把漆包线在笔芯上绕,绕的越紧越整齐越好,尽量不要有交叉,绕好后用热胶枪给漆包线定个型,乐高玩具零件再固定一下,看着象摸象样的。 [[File:coilGunStep2.png|600px|center|thumb]] [[File:coilGunStep3.png|600px|center|thumb]] 好了代替马达把线路接好,就差子弹了,子弹只要能被吸铁石吸引,能放到枪管里去就可以,我就随便找了个铁丝剪短了放里边。 重复上次的步骤,发射!!!,没动,再试一次,还没动,调整一下子弹的位置,可是还是没动。难道是我太注重安全了?我陷入了思考中... 步骤四: 让我们来看看一下如何才能那个使线圈枪的威力增大。 线圈式电磁枪的威力大小有三个要点: *1.瞬时电流产生磁场强度 *2.加速时间 *3.线圈是否对子弹施阻力(也就是子弹到线圈中点时电是否放完) 漆包线越粗,电阻越小,就可以产生更强的磁场。 绕的圈数越多每级线圈加速时间越长,但是线圈加速时间过长会导致电感过高,电流达到最大值时间过长,会使线圈对子弹施阻力。 线圈周长与子弹有关,线圈内径于弹径差距越小,对子弹推力越大。 至于层数也是减小电感的, 每层圈数一般一致 电压越高,产生的瞬时电流越大,磁场越强 电容容量是根据线圈来定的,要保证子弹到线圈中点时电基本放完 子弹长度一般等于线圈长度的一半,保证所受磁力最大 毕奥-萨伐尔定律应为B=u0*n*I,B为磁感应强度,u0为常数,n为螺线管匝数,I为导线中的电流,所以磁场大小是由电流大小与螺线管匝数决定的! 关于铁芯的材料: 有铁芯的线圈会大大增加磁感应强度,但是加了铁芯子弹还怎么通过呀?所以我决定加一个铁管,关于铁管的材料我研究了下,熟铁,硅钢 为首选。 所以,接下来我们来增加一下线圈枪的威力吧,在现有的基础上我用了7个电容(为什么要用7个,因为面包板上插入8个电容不容易呀),从家里翻腾出来一个以前老式缝纫机上的用来绕线的铁 轮,用来做铁芯,子弹我用的是剪断的铁钉。如下图: [[File:coilGunStep4.png|600px|center|thumb]] [[File:coilGunStep5.png|600px|center|thumb]] 这回再试试,开火!!铁钉再笔芯里微弱的动了一下,不错总算看到动静了,虽然这只线圈枪威力弱的可怜!但总算看到曙光了,因为手头上的漆包线才不到一米,只用了两个电池,和7个小型号的电容。 步骤五: 接下来可以尝试一下用microduino来控制电磁枪,或者用来microduino OLED模块来显示电容充电的进度也可以绕多层线圈,增大电量和把枪做的更结实美观一点。 ==结果== 铁钉在笔芯管里可以移动了。 ==视频==
返回至
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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息