51单片机实现一维码和二维码的扫描识别功能

编者补充:

        想要使单片机实现二维码扫描识别功能是比较困难的,特别是像51这种性能略显不足的单片机,如想实现该功能可选用一些模块如本文介绍的MJ-8000。可以去制作一些扫码枪之类的产品。

 一、硬件选择

MJ-8000

MJ-8000 是一款机身小、集成度高、灵活便捷、性能优良的嵌入式二维扫描模块。

MJ-8000可广泛用于指环式读码器、颈带式读码器、蓝牙口袋便携读码器等产品。

MJ-8000采用先进的图像识别算法搭配广角光学镜头,能够轻松高速读取各类一维条码和二维条码,自如应付各种扫描应用。

MJ-8000具有很强的识读能力,可以在各种照明环境下(包括完全黑暗的环境)、较大的温湿度范围内提供优秀的扫码识读性能。也可以适应各种苛刻复杂的工作环境,如:冲击、振动以及强曝光等。

二、接口说明:

注:MJ-8000 使用时需要用一根两端均为 12PIN 直连同面柔性电缆与外设连接。

2.驱动电路

模块的电源、TTL 电平、USB 等引脚与外部电路采用直连方式,触发引脚及蜂鸣器引脚则需要驱动电路,可参考如下电路设计:

触发引脚(TRIG)驱动电路:

无源蜂鸣器引脚驱动电路: 

 DLED 引脚驱动电路

 当解码成功后,BEEP 与 DLED 引脚会给出一个高电平脉冲。

三、单片机选择

编者选择STC8952RC单片机,这款单片机门槛较低,适合大多数初学者使用。本文所介绍的作品就是基于这款单片机来编写程序的。

四、小车功能介绍

小车具备扫描识别二维码、货物检测、循迹、超声波避障等功能,模拟了酒店送货机器人的工作场景。对小车感兴趣的读者可以在评论区留言,本文只对小车的扫码功能进行具体描述。

五、MJ-8000扫码功能实测

MJ-8000在使用时需要配置一块USB转TTL的转接板,通过TTL-232通信协议来实现与单片机的信息交互。经编者多次测试,扫码准确无误,不需要任何复杂算法即可读取到二维码或一维码内信息。具体效果如下图所示:

某商品的一维码:

 扫描效果:

 六、具体使用方法

1.使用前需先先通过串口将MJ-8000配置为TTL模式

2.将单片机的波特率设置为9600,无校检位。

代码如下:

 3.在串口中断中读出二维码内数据

代码如下:

 如果需要把二维码的内容当作判断条件来用,只需要如下图所示:

 关于MJ-8000这个模块的分享到这里就结束了,下面是一段小车测试功能的视频,循迹功能没有做算法优化,感兴趣的读者可以看一看。

酒店服务机器人

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值