0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用LED矩阵作为扫描仪

454398 来源:工程师吴畏 2019-08-23 11:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:此版本中使用的部件

怎样用LED矩阵作为扫描仪

对于这个项目,我使用了以下组件:

带面包板的Arduino Uno

32x32 RGB LED矩阵(来自AdaFruit或Tindie)

5V 4A电源适配器(来自AdaFruit)

DC电源适配器2.1mm插孔至螺丝接线端子(来自AdaFruit)

透明的3mm TIL78光电晶体管

跳线

AdaFruit还销售Arduino屏蔽,可用于代替跳线。

和我一样有一些Tindie学分,我从Tindie得到了我的矩阵,但是AdaFruit的矩阵看起来是相同的,所以任何一个都应该有用。

光电晶体管来自我几十年前的零件系列。它是一个明显的3mm部分标记为TIL78。据我所知,该部件适用于红外线,可以是一个透明的外壳或一个阻挡可见光的黑暗外壳。由于RGB LED矩阵发出可见光,因此必须使用透明版本。

此TIL78似乎已经停产,但我想这个项目可以使用现代光电晶体管制作。如果你发现有用的东西,请告诉我,我会更新这个Instructable!

第2步:连接和测试光电晶体管

通常,你需要一个与光电晶体管串联的电阻,但是我知道Arduino能够在任何引脚上启用内部上拉电阻。我怀疑我可以利用它将光电晶体管连接到Arduino,而无需任何额外的组件。事实证明我的预感是正确的!

我用电线将光电晶体管连接到Arduino上的GND和A5引脚。然后我创建了一个草图,将A5引脚设置为INPUT_PULLUP。这通常用于开关,但在这种情况下它为光电晶体管供电!

#define SENSOR A5

void setup() {

Serial.begin(9600);

pinMode(SENSOR, INPUT_PULLUP);

}

void loop() {

// Read analog value continuously and print it

Serial.println(analogRead(SENSOR));

}

此草图将值打印到与环境亮度对应的串行端口。通过使用Arduino IDE“工具”菜单中的便捷“串行绘图仪”,我可以获得环境光的移动图!当我用手盖住并打开光电晶体管时,图表会上下移动。很好!

这个草图是检查光电晶体管是否以正确极性接线的好方法:光电晶体管在一个方向与另一个方向连接时会更敏感。

步骤3:将矩阵带状电缆连接到Arduino

要将矩阵连接到Arduino,我浏览了Adafruit的这本方便指南。为方便起见,我将图表和引脚分布粘贴到文档中并打印了一个快速参考页面,以便在连接所有内容时使用。

注意确保连接器上的选项卡与图中的选项卡匹配。

或者,对于更清洁的电路,您可以使用AdaFruit为这些面板销售的RGB矩阵屏蔽。如果使用屏蔽,则需要焊接光电晶体管的插头或电线。

步骤4:连接矩阵

我将矩阵电源线上的叉形端子拧到插孔适配器上,确保极性正确。由于部分端子暴露在外,为了安全起见,我用电工胶带将整个部件包起来。

然后,我插上电源连接器和带状电缆,注意不要打扰电源线中的跳线。过程

步骤5:安装AdaFruit矩阵库并测试矩阵

您需要安装“RGB矩阵面板”和AdaFruit“ Adafruit GFX Library“在您的Arduino IDE中。如果你需要帮助,这个教程是最好的方法。

我建议你运行一些例子,以确保你的RGB面板在继续之前工作。我建议使用“plasma_32x32”示例,因为它非常棒!

重要提示:我发现如果在插入5V电源到矩阵之前我给Arduino上电,矩阵会朦胧地亮起来。似乎矩阵试图从Arduino中获取力量,这绝对不利于它!因此,为了避免Arduino过载,请在启动Arduino之前启动矩阵!

步骤6:加载Matrix扫描码

现在,加载Arduino草图以扫描矩阵。我提供了Arduino源代码。加载后,您应该会看到每隔几秒闪烁一次光的闪光。

如果您将光电晶体管靠近矩阵,您应该会看到光电传感器附近的LED亮起。

尝试进一步移动光电晶体管,使其更接近矩阵,看看它的行为就像手电筒一样。如果你将一个物体放在矩阵上并将光电晶体管放在它上面,你应该能够捕捉到物体的“阴影”!

你可以在代码中找到一些参数:

static constexpr uint8_t READINGS_PER_PIXELS = 1;

static constexpr uint8_t THRESHOLD = 15;

static constexpr bool INVERT = false;

static constexpr bool CLEAR = true;

如果检测效果不佳,您可以尝试增加READING_PER_PIXEL和THRESHOLD。将CLEAR设置为false以获得类似画笔的效果,其中每个新扫描会向画布添加更多“绘画”。对于负效应,将INVERT设置为true,其中矩阵通常点亮,但光电晶体管会使其“看到”变暗。

步骤7:代码如何工作:检测可见对比一个模糊的LED

经过一些实验,我发现从传感器检测像素是否可见的最佳方法是从传感器获取成对的模拟读数:当LED是一个读数时当LED亮起时关闭和另一个读数。如果传感器看不到LED,则读数几乎相同;如果传感器可以看到LED,则读数会有所不同。

为了提高灵敏度,我在使用OE(输出使能)线打开和关闭LED时读取多个读数。我使用两个累加器来总结LED关闭时的读数与LED打开时的读数。然后我将这两个总和之间的差异与阈值进行比较,以确定该值是否超过某个阈值,从而让我决定LED是否在传感器的视线范围内。

步骤8 :代码如何工作:扫描矩阵

为了扫描矩阵,我直接操作数据线,因为这比使用AdaFruit库绘制像素更有效。要禁用AdaFruit库,我会在开始扫描之前关闭中断。由于AdaFruit库通过使用中断工作,这使我可以暂时控制矩阵。

矩阵有六个移位寄存器,对应于整行像素的R,G和B颜色。矩阵的上半部分和下半部分。还有一个锁存控制线(LAT),它将移位寄存器中的值复制到LED驱动器。四条地址线(A,B,C和D)选择上半部分和下半部分的哪些行有效,OE(输出使能)用于打开和关闭LED驱动器。

在正常操作中,当新的替换行移入移位寄存器时,锁存器保持用先前值照亮的行。加载完整行后,将锁定新值,并为下一行重复该过程。这种更新方式需要写入整行,即使只需要写入一个像素。

对于扫描,我选择利用移位寄存器,但不选择锁存功能。我将锁存控制线(LAT)设置为高电平,使得移位寄存器的内容立即在每个CLK脉冲上加载到LED驱动器中。一旦我照亮了第一个像素,时钟线(CLK)上的每个脉冲都会使点亮的像素沿着行向下推到下一个像素。在这样做时,我可以将照亮的像素向下按行以扫描整行。

对于行中的每个位置,我使用OE(输出使能)线来打开和关闭像素。从光传感器获取读数。一旦我有足够的读数来确定该像素是否可见,我就会向AdaFruit库的帧缓冲区写一个颜色(扫描时,我仍然可以将像素值写入库的帧缓冲区,即使库暂时暂停) 。

扫描完所有行后。我重新启用中断,这会导致AdaFruit库使用缓冲区中的数据刷新矩阵,直到我准备好进行下一次扫描。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 扫描仪
    +关注

    关注

    2

    文章

    451

    浏览量

    68797
  • LED矩阵
    +关注

    关注

    0

    文章

    86

    浏览量

    18137
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SICK激光扫描仪:为工业高精度检测及测量保驾护航

    作为工业传感器领域的全球领先企业,SICK公司凭借其创新的激光扫描技术,为各行各业提供了多种高效、可靠的解决方案。从简单的物体检测到复杂的安全防护,__SICK激光扫描仪__产品正不断推动着工业
    的头像 发表于 11-06 14:25 124次阅读
    SICK激光<b class='flag-5'>扫描仪</b>:为工业高精度检测及测量保驾护航

    三维扫描仪 | 先临三维RobotScan Q12自动化扫描机器人零部件

    扫描仪
    jf_37811293
    发布于 :2025年10月28日 10:44:21

    200万粉汽车达人的改装秘诀:这台手持扫描仪,让法拉利轮辋完美适配

    mbDesign 的合作案例,看看蔡司 ZEISS T-SCAN hawk 2 手持式 3D 扫描仪,如何为法拉利 F12 Berlinetta 的轮罩与轮辋优化提供关键支持。 一 、 合作背景:以设计为
    的头像 发表于 09-26 17:10 878次阅读
    200万粉汽车达人的改装秘诀:<b class='flag-5'>用</b>这台手持<b class='flag-5'>扫描仪</b>,让法拉利轮辋完美适配

    蔡司三维扫描仪第三方代抄数检测机构

    在智能制造与数字化转型的浪潮中,蔡司三维激光扫描仪以其卓越的技术性能和广泛的应用场景,成为工业检测领域的标杆工具。蔡司官方授权代理-广东三本测量获悉:作为全球光学与光电技术领域的领导者,蔡司推出
    的头像 发表于 08-02 11:57 707次阅读
    蔡司三维<b class='flag-5'>扫描仪</b>第三方代抄数检测机构

    三维扫描仪 | 先临三维AutoScan Inspec2进行叶轮全尺寸检测

    扫描仪
    jf_37811293
    发布于 :2025年07月28日 08:37:19

    超酷的树莓派激光雷达扫描仪

    摘要这款DIY的PiLiDAR扫描仪项目利用树莓派进行激光雷达测绘。激光雷达通过发射激光来扫描周围环境,从而创建三维模型。该项目需要树莓派4、摄像头、电机以及激光雷达套件。你是否了解过激光雷达扫描仪
    的头像 发表于 06-01 08:33 798次阅读
    超酷的树莓派激光雷达<b class='flag-5'>扫描仪</b>!

    奥比中光助力创想三维登顶世界消费级3D扫描仪市场

    “全球第一!”近日,全球消费级3D扫描仪领导品牌创想三维(Creality)在年度战略供应商大会上正式发布多款新品,刷新行业新成就;作为行业芯片级3D扫描技术领导者,奥比中光持续为其新品Otter
    的头像 发表于 04-11 11:38 1263次阅读

    远程输入输出扫描仪说明

    电子发烧友网站提供《远程输入输出扫描仪说明.pdf》资料免费下载
    发表于 03-26 15:06 0次下载

    蔡司工业CT三坐标扫描仪测量软件

    蔡司工业CT三坐标扫描仪INSPECTOptical3D是蔡司旗下一款专为三维测量数据检测和评估而设计的强大软件。该软件在汽车行业中具有广泛的应用,为汽车制造商提供了高效、精确和可靠的测量解决方案
    的头像 发表于 02-21 11:02 1055次阅读
    蔡司工业CT三坐标<b class='flag-5'>扫描仪</b>测量软件

    条形码扫描仪模组在医疗行业识读领域中的应用

    条形码扫描仪模组作为现代医疗信息化建设的重要工具,其在医疗行业识读领域的应用日益广泛且深入,不仅极大地提升了医疗流程的精准度和效率,还显著增强了患者安全及医疗服务质量。首先,在医疗器械管理方面
    的头像 发表于 01-15 16:06 774次阅读
    条形码<b class='flag-5'>扫描仪</b>模组在医疗行业识读领域中的应用

    XAORI骁锐SLC施莱格LS01系列安全激光扫描仪选型指南

    XAORI骁锐SLC施莱格LS01安全激光扫描仪产品特点深圳市骁锐科技有限公司XAORI骁锐SLC施莱格LS01系列安全激光(雷达)扫描仪是基于激光测距TOF法(飞行时间法)来确定扫描区域内保护对象
    的头像 发表于 01-15 10:49 1337次阅读
    XAORI骁锐SLC施莱格LS01系列安全激光<b class='flag-5'>扫描仪</b>选型指南

    Brother扫描仪ADS-1350W荣获Good Design Award

    ,连续第32年获得该奖项,这无疑是对其持续创新和卓越设计能力的最好肯定。 ADS-1350W作为Brother扫描仪系列的杰出代表,以
    的头像 发表于 01-08 11:19 881次阅读

    思看科技手持三维激光扫描仪三种工作模式介绍

    思看科技手持三维扫描仪有高速、精细、复合及深孔扫描模式,适用于不同场景需求,合理选择模式可快速获取、处理物体三维数据,支持后续制造、设计或修复工作。
    的头像 发表于 12-24 15:32 1485次阅读
    思看科技手持三维激光<b class='flag-5'>扫描仪</b>三种工作模式介绍

    三维扫描仪3D逆向建模检测湖北武汉应用中心成立

    武汉易测获杭州思看三维扫描仪代理权,成立服务中心,助力湖北制造升级。思看科技介绍高精度球形及无线三维扫描仪,双方将深化合作,推动技术创新应用。
    的头像 发表于 12-20 16:27 1378次阅读
    三维<b class='flag-5'>扫描仪</b>3D逆向建模检测湖北武汉应用中心成立

    微软已修复扫描仪USB连接问题

    微软对其支持文档予以更新,并宣告已将 Windows 11 版本 24H2 中的扫描仪 USB 连接问题处理好。 在此之前,Windows 11 24H2 的 eSCL 协议出现了故障,设备在需要
    的头像 发表于 12-12 16:55 1313次阅读