IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> stm32+AMG8833+VS2015 C#上位机图像显示 -> 正文阅读

[嵌入式]stm32+AMG8833+VS2015 C#上位机图像显示

设计思路

本人在电场工作,于是想做一款热成像智能控制小车,通过网上查找资料,发现AMG8833这款芯片可以说是物美价廉,基本能够实现想要的功能。因为我有一定的单片机开发基础,所以智能小车控制这一块的程序对我来说基本没有问题。
本次设计主要的有两个难点
一个难点是将AMG8833读取的8*8矩阵数据在上位机上以热成像的图形显示出来。本篇文章主要写这一处难点
另一个难点,就是外加摄像头,既能显示256色的实际图像,还能测温,利用wifi通讯,还能控制小车。
通过这段时间网上资料的查阅,单独的实现其中一项的功能都是可以实现的,但是全部融合在一起的没有,并且AMG8833这款芯片的使用者也不是很多,因此对我来说有一定难度,在这里写这份博客,有一定程度是希望给想要用这款芯片的朋友提供便捷,从而推动它的使用,也能够帮我解决以上难点问题

设计步骤

本篇文章对基础部分不作讲解,因为能够查阅的资料很多,主要部分我也是通过查阅其他作者的文章,修改后成功使用的。

  1. stm32的编程环境搭建 ,首先得下载Keil5编译器,然后激活,同时要下载mcuisp(用于STM32串口下载程序);
  2. 搭建好编程环境后,需要配置程序驱动 ,添加自己需要的驱动到程序中去;
  3. 了解 IIC 通讯,AMG8833与stm32是通过IIC通讯的。(网上大部分的IIC源代码都是使用的正点原子的,里面会有一个他们自己写的库函数,所以直接拿来使用会报错,需要下载那个sys.h库函数文件才能用,为了防止产生纠纷,我这里不提供文件,需要的可以联系我,我将下载方式告知
  4. 接下来主要就是AMG8833的驱动程序,这里有一个作者已经都写好了,我基本是用的他的,但是其中由于每个人使用的开发板不同,所以是会出现错误的,我将这些问题着重写出来,也是为后来学习者提供便捷;
  5. 既然是要和上位机通讯,我这里先使用了 串口通讯 ,没有直接去使用wifi,原因先由简到难;
  6. 程序已经可以和串口助手 进行通讯,能够成功的将64个数据读取并显示出来(这里用的sscom5.13.1串口助手);
  7. 在成功读取到数据后,接下来就是和上位机进行联调了,这里用的是VS2015 中的C#windows窗体,其实网上有很多利用VS实现串口通讯的案列,我就做了两个,最后发现还是C#windows窗体的较为好用(这里的术语使用的不是很专业,因为我熟悉VB,但是C#做上位机还是第一次,甚至VS也是第一次使用);
  8. 上位机界面已经成功做了出来, 主要就是串口的配置,以及显示界面等;
  9. 当前的难点就在于 热成像图像显示 功能,我在网上看到了唯一的一个大神实现的案例,我上位机基本也是仿照他的,就在某站上的,他说他是通过2D绘图制作出的热成像图形,但是我搜了很多例子,属实没有做出来,询问了大神也没有回复,目前想的是从云图入手,也希望其他大神能够为我指点迷津。

stm32主要程序代码

链接: AMG8833的使用与stm32驱动代码.

这里非常感谢该作者对我的设计提供了很大的帮助,在这里我将我遇到的一些问题及解决办法写出来。
第一个

#define AMG_SDA_IN()  {GPIOB->CRL&=0x0FFFFFFF;GPIOB->CRL|=8<<28;}
#define AMG_SDA_OUT() {GPIOB->CRL&=0x0FFFFFFF;GPIOB->CRL|=3<<28;}

这里如果报错,需要做以下修改:

#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}

函数名根据自己的就可以
第二个
明确自己开发板属于哪一系列,因为不同系列对串口配置的函数是不一样的,主要分为F1和F4系列,网上大多数是F4系列的,如果在编程报错中主要体现在GPIO口这一块,那么很可能就是这一问题了。

第三个
我用的是正点原子的IIC程序,然后与该作者的AMG8833程序结合起来的,如果直接使用他的没有成功,问题在哪里,我还没有发现。

VS2015 C#上位机窗体制作

链接: STM32 AMG8833 上位机显示 (嵌入式设计).
我目前就是在仿照该作者的去做,没有提供任何源码。
以下界面是我做的,目前已经能够实现串口通讯,能够将64位数据都读取并显示出来。
我制作的上位机显示界面

总结

我的设计目前就做到了这里,因为VS和C#都是第一次使用,还有很多不了解的地方,目前最要的就是解决第一个难点,如何将64个数据做成热成像图形显示出来。

一直不知道什么时候可以写这篇博客,起码有个开头,因为一个人的出现,让我想要变得更加优秀,所以我想继续做下去,当前就写到这里,接下里我会尝试把图形制作出来,如果做出来肯定会有后续

希望能够帮助也在使用AMG8833的你,文章没有任何源程序,需要的朋友可以问我要,我每天都会在线

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:08:40  更:2022-01-14 02:10:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:35:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码