2017-06-10 12:16:47 feijack 阅读数 1639
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3998 人正在学习 去看看 朱有鹏

  

                                                               手机与单片机NFC通讯方案

方案简介:用户只需通过用单片机Uart串口控制NFC模块就能实现手机与单片机间数据传输。不需要了解NFC底层协议,迅速完成产品开发。

一、手机与单片机通讯框图


说明:用户只需要通过Uart接口控制NFC模块即可实现与单片机与手机批量数据透明传输

只要你会单片机串口编程,就能轻松实现NFC通讯,方便简单。

二、NFC模块介绍

        符合ISO14443-A协议,天线是板载天线,用户不需要自己搭配天线,直接通过串口控制操作、简单方便

        提供900字节用户存储空间,在系统不提供电源的情况下仍然可以通过刷卡读写操作。

        可以实现通过刷卡感应对外部提供1.53.3V电压

基本特征

Ø  射频工作频率:13.56MHz

Ø  通讯接口:Uart口,波特率115200,

Ø  供电电源:DC3.3V

Ø  模块尺寸:76mm*54mm

外观图片


电话:    15813726670

邮箱:    Stacy@yearay.com

QQ:        2425053909 (NFC模块)

NFC模块的命令、数据协议部分请参考《NFC主/从模块用户手册》

提供Android 手机端与单片机通讯的Demo供参考。

2019-01-13 10:25:27 ryz917 阅读数 1915
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3998 人正在学习 去看看 朱有鹏

NFC之基于51单片机rc522的读写 连接实物图
改程序,端口定义
修改端口以及晶振频率
上位机修改com口
在这里插入图片描述
具体操作
在这里插入图片描述

2019-07-23 10:05:39 lirunqi3 阅读数 506
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3998 人正在学习 去看看 朱有鹏

现在在做一个硬件项目,主要是用“高端的”51单片机连一个摄像头完成二维码识别的问题。

目录:

一、解决方案

二、详细分析

 

一、解决方案:

现在的需求是:给出二维码(可能存在图像偏移、旋转等问题),输出一个解码的字符串

 

 

 

解决方案目前是这样设计的:

这里有几个点:

1. 选什么摄像头

2. 摄像头怎么连开发板

3. 开发版上面怎么编程?怎么获取io信息

4. 怎么输出

 

当然,本项目最关键的还是其中的识别过程。

 

 

 

一、选什么摄像头

基本上所有的OV系列的摄像头都差不多,选择了一款比较常规的ov7670摄像头

 

 

二、摄像头怎么连接开发板

这个目前打算用杜邦线解决

 

 

三、开发版上面怎么编程?怎么获取io信息

这也是本项目的难点,因为一直是做深度学习算法,对于硬件开发根本不会。本节也记录学习历程。

 

首先,了解一下51单片机的原理:

51单片机是由存储器、控制器、io组成的微型计算机。

所有的引脚可以分为电源、时钟、控制、IO这几种,51单片机属于8位单片机。

 

单片机基础补充:

(1)电平特性:高电平(5V)低电平(0V)

(2)进制

(3)逻辑运算:0   1

与或非、异或

串口与并口:串口就是速度快的一种直线型传输,并口是指8根通道齐发由于数据间会存在干扰,所以速度会慢。

(4)编程语言

基本上使用C与汇编

上拉电阻?

就是一种用来控制空电极的东西?这个还没弄懂

晶振

通过晶体振动提供频率信号

 

 

 

回到主题,怎么在单片机上编程呢?这里使用的是keil,安装教程如下:https://blog.csdn.net/qq_41639829/article/details/81813992

 

二、详细分析:

第一个问题就是资源占用问题,图像从摄像头弄到板子上需要的是数据空间,对图像数据进行处理,也需要计算空间,那么这些东西究竟需要多少资源呢?

除了以上的问题,还有问题就在于,哪些是在rom上进行,哪些是在ram上进行。

我们先弄清楚哪些在rom上进行,哪些是ram上进行的。

ram(数据存储器)、rom(程序存储器)--------------------确定

那么我们的程序放在rom里。

(插一句,我们的rom和ram分别有多大呢?

说明文档说了T5L芯片是片内64KB的RAM,ROM是32KB)

 

好,现在能确定的是代码的编码需要存在ROM里面,运算可以在MDU(数学运算单元)中进行。那么现在问题就在于每一帧的图片以及如何选取计算的量应该就是在RAM中进行了。无疑问题就在于我们的图片输出多大。接下来就是ov7060摄像头的研究分析了。

ov7060摄像头

YUV4:2:2

这个是个啥?就是输出的码流,她每一次都会输出Y,每隔一次输出U\V,对于一个这样的[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3],输出是这样的Y0 U0 Y1 V1 Y2 U2 Y3 V3

但是我们需要知道他输出的分辨率,图像的大小,与这个无关,继续看。

他反复提到一个感光阵列(640X480)这个长得很像像素,那么感光阵列是个啥?了解完毕,就是像素。

那么我们又能更新一条有用信息:摄像头的输出是30万像素的。

 

那么对于空间资源的最后一个问题就是,需要多少RAM来处理这30万像素?

 

如图所示,图片是进到这个数据寄存器里面,就是那额256KB

 

 

2018-01-27 17:18:30 qq_34675909 阅读数 13252
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3998 人正在学习 去看看 朱有鹏

经过几天的努力,实现了在stm32单片机的RGB565图像简单处理,识别橘黄色乒乓球,同时单片机通过串口向上位机输出,乒乓球的重心坐标,和与图像中心线的夹角,在者可以输出的RGB565数据,通过c++读取输出的数据,转化为0~255范围中的单个r,g,b数值,产生一个txt文件,最后运行matlab程序,实现单片机颜色识别的的图像显示,由于单片机没有外接显示屏,所以采用c++和matlab实现数据的图像显示,所以过程比较繁琐,但是代码简单易懂,注释详细,stm32程序实在购买的开发板上做的修改,并非本人原创,其他为自己的原创上传资料仅供需要这方面的人参考,功能已经实现,资料包里面有单片机程序,c++,matlab程序,c++和MATLAB程序在一个文件夹,为运行方面,用c++6.0及以上,matlab应该都兼容,下面是图像展示(上传资料请到本人主页查找)

下载链接https://download.csdn.net/download/qq_34675909/10227246

2020-01-13 22:52:48 qq_39020934 阅读数 20
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3998 人正在学习 去看看 朱有鹏

GitHub代码地址
视频演示地址
QQ交流群:658384577

系统介绍

   使用STM32F103RCT6作为主控,摄像头使用OV7670(带FIFO)。STM32进行了16倍频。识别过程分别为:图像采集,二值化,识别车牌区域,字符分割,字符匹配。

识别过程分析

1.图像采集:

   通过OV7670摄像头进行图像采集,采集的图像大小为320*240像素,像素格式为RGB565。每个像素由两字节组成,第一字节的高五位是Red,第一字节的低三位和第二字节的高三位组成Green,第二字节的低五位是Blue。

2.二值化:

   程序开始之前设置R,G,B的阈值,通过阈值判断将像素设置为全黑(0x0000)或者全白(0xFFFF).同时根据色彩的变化记录每一行的颜色跳变点,由此识别出车牌区域。

3.识别车牌区域:

   根据上一步的二值化,由于车牌区域跳变点多,由此可以得出车牌区域。分别记录车牌区域的上下高度。然后通过RGB-HSV颜色转换,识别出车牌区域的左右边界。

4.字符分割:

   根据二值化的结果,以及记录的跳变点位置,对字符进行分割,同时记录字符的左右边界。

5.字符匹配:

   对分割出来的字符进行归一化处理,这里用到图片的扩大算法,扩大之后逐一的去进行字符匹配。字符模板事前通过字模软件转换成二进制数据保存在数组中。最后根据匹配结果相似度最大的做为输出结果。

实物图

在这里插入图片描述

单片机

阅读数 4828

单片机小知识总结

阅读数 2015

单片机

博文 来自: ReCclay
没有更多推荐了,返回首页