标准版
#第四届立创大赛#Teensy 打造热成像仪

创建时间:5年前

项目主题:自拟主题

描述

<p>注:*为必填项。</p> <p>【请在报名阶段填写 ↓】 使用 Teensy 配合 MLX90640 实现一个简单的热成像仪</p> <p>【请在竞赛阶段填写 ↓】 <em>  一、作品详情; 使用 Teensy 3.2在 320</em>240 的液晶屏幕上显示 MLX90640取得的温度数据,从而实现一个简单的热成像仪。</p> <p>*  二、描述作品所面临的挑战及所解决的问题; 主要问题有:</p> <ol> <li>传感器是 32x24 的数据,屏幕是 320X240的分辨率,如何来进行显示达到最好的效果。最终使用双线性插值算法,将 32x24的数据进行插值显示在屏幕上;</li> <li>实现液晶屏上的快速显示。选择 UcgLib 实现屏幕的显示,通过DrawPixel 来绘制每一个点,这样的效率很低。最终,通过研究ILI9431的DataSheet掌握了最简单的发送点的方法,直接使用SPI将颜色传输到主控的 DRAM 中实现了快速显示。</li> </ol> <p>*  三、描述作品硬件、软件部分涉及到的关键点; 使用 Arduino 来进行编译。</p> <p>因为主要模块是 Teensy 3.2 所以整体电路非常简单,外部只是有一个 5v转3.3v 模块,外加 i2c 接口的传感器。</p> <p><img src="//image.lceda.cn/pullimage/Vob3HSC1qpXMavQO9FPHbaozT62P01JL0xUetOUF.jpeg" alt="c1.jpg"></p> <p><img src="//image.lceda.cn/pullimage/70tAeLrXNb2aOcGfStPuEDmWudc7qMrXiAUwFIqL.png" alt="xx.png"> 完整电路和pcb 文件可以在附件中看到,是 eagle 格式的。</p> <p>*  四、作品材料清单; Teensy 3.2 一块 MLX90640 一块 320X240 LCD ILI9341主控一块</p> <p><em>  五、作品图片上传;(PCB上须有大赛logo标识并拍照上传,若无视为放弃参赛) <img src="//image.lceda.cn/pullimage/FwygQjNGVB4XH8qrfz0fDleiJlMQWqCInZBDDK8y.png" alt="ircam.png"> </em>  六、演示您的作品并录制成视频上传;(视频内容须包含:作品介绍;功能演示;性能测试;PCB上大赛logo标识特写镜头,若无视为放弃参赛)</p> <p>七、开源文档。</p> <p>在我小时候,荧幕上还都是史泰龙施瓦辛格这样的硬汉,他们亮出肌肉敌人就会大片的倒下,看起来非常过瘾,一个偶然的机会,在父亲的朋友家看了电视上播出的《铁血战士》。这部影片给我留下很深的印象,一方面是神秘的丛林,另一方面是影片中掌握着高科技的外星人。譬如说,他有一个很酷的带在手腕上能显示当前心率的个人电脑。还有就是他可以切换到红外线模式,看到人类无法看到的红外线。这样的功能在夜战中占尽便宜。当年最后州长大人凭借主角光环发现了对手这一特性,用泥巴将自己包裹起来躲过搜查最终反杀之。最近发现市面上有一种红外阵列传感器:MLX90640 ,分辨率可以达到 32*24.于是尝试DIY一个简易的热成像仪。首先,主控选择  Teensy 3.2 ,原因是它性能远超 Arduino \,主频可以达到 120Mhz (Overclock状态),内存有 62KB。MLX90640对内存要求比较高,普通的 Arduino 无法胜任。之后,选择屏幕,从淘宝入手了 320*240 分辨率的SPI 接口的液晶屏。之后就可以动手制作了。 从整体上来说,完成制作需要三部分:第一步,获得传感器数据;第二步,处理数据(因为屏幕明显比传感器大,因此,需要将少量数据变换成大量数据,这里我使用的是双线性插值算法);第三步,将数据显示在屏幕上。下面就是每个步骤的做法。第一步:传感器数据的获得。MLX90640 有对应的 Arduino 库,这使得我们能够方便的获得红外数据。需要注意的是,取得的数据是从右上到左下排列的。<img src="//image.lceda.cn/pullimage/FemV5pDTaLt02MFrznCfJuYrVwGDD9lqbsUNFCtZ.jpeg" alt="image004.jpg"> 代码很简单:   for (byte x = 0 ; x </p>

文档

BOM

暂无

附件

附件名 下载
IrCam.zip
UcgLib.zip
热成像v1.0.rar
格式工厂未命名.mp4

评论(15)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
立创电赛 回复
<p>很有意义的作品,创客圈需要这样的好作品被发掘。如果能给大家公开一下源码就好啦,顺便再写个教程给大家科普一下相关知识就更棒。</p>
立创电赛 回复
<p>你的作品好像没有看到原理图和相关PCB。建议你弄个简单的原理图便于讲述相关连线的关系。</p>
Zoologist 回复
<p>@LCDS 忘记贴了,晚上贴上来</p>
Zoologist 回复
<p>@LCDS 原理图和电路图已经上传文章中和附件上。</p>
立创电赛 回复
<p>温馨提示:距项目提交截止还有11天,记得完善作品上传哟!</p>
Zoologist 回复
<p>@LCDS  原理图 pcb 文件和说明都已经上传,还有视频,请帮忙看一下是否还缺少什么? 谢谢!</p>
立创电赛 回复
<p>恭喜您的项目获得第四届立创电子设计大赛参与奖,点击查看获奖名单:<a href="https://diy.szlcsc.com/posts/7b78bd99e53745588a4f2d81cc11af92">https://diy.szlcsc.com/posts/7b78bd99e53745588a4f2d81cc11af92</a></p>
158813a 回复
<p>这个刷新率是多少,感觉很低的样子</p>
Zoologist 回复
<p>忘记了,好像是比较低的(16Hz?),因为传感器是 I2C 接口的。</p>
zhmaoo 回复
<p><span class="colour" style="color:rgb(51,51,51);">您好!请问这个I2C使用的是哪个I2C的库?是Wire.h 还是 i2c_t3.h?因为我有个teensy4.0板子必须和其他传感器通过I2C通信,但程序始终无法编译,提示Wire未声明,如果可能,可否私信发我一下I2C部分的源码?zhmao2018@126.com叩谢!</span></p>
Zoologist 回复
<p>代码是开源的,IrCam.zip 就是完整的代码<br/>其中用的是:</p><br/><h1>include \</h1><br/><p>按道理 i2c 是比较简单的,你可以先跑一下 i2c scan 的代码看看</p><br/><p>如果扫不到,检查一下 i2c 的2个信号线是不是需要上拉。</p>
Zoologist 回复
<p>wire.h 这个库</p>
zhmaoo 回复
<p>刚看到,后来我又换了STM32所以没继续搞这个了,不过还是谢谢您!</p>
zhmaoo 回复
<p>您有没有遇到过,加了i2c相关语句编译上传后,电脑的串口就不识别teensy板子了?</p>
Zoologist 回复
<p>没有碰到啊,你跑 example 里面的 i2c 代码也有这样的问题吗?</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow