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

    文章

    458

    浏览量

    68932
  • LED矩阵
    +关注

    关注

    0

    文章

    86

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    远景达LV3096R固定式条码扫描仪:解锁条码识别新体验

    在智能设备普及的当下,条码扫描技术已成为物流、金融、政务等多个领域高效运转的核心支撑。远景达LV3096R固定式条码扫描仪凭借硬核技术与灵活适配性,成为市场上备受青睐的标杆产品,其作为高性能的固定式
    的头像 发表于 02-01 00:00 1011次阅读
    远景达LV3096R固定式条码<b class='flag-5'>扫描仪</b>:解锁条码识别新体验

    禾赛科技与如视即将推出手持实景扫描仪庞加莱R1

    2025 年 11 月 4 日,全球领先的激光雷达企业禾赛科技与数字空间综合解决方案引领者如视联合宣布将推出手持实景扫描仪庞加莱 R1。该产品搭载禾赛迷你型超半球 3D 激光雷达 JT128 ,配合
    的头像 发表于 11-06 15:46 1055次阅读

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

    作为工业传感器领域的全球领先企业,SICK公司凭借其创新的激光扫描技术,为各行各业提供了多种高效、可靠的解决方案。从简单的物体检测到复杂的安全防护,__SICK激光扫描仪__产品正不断推动着工业
    的头像 发表于 11-06 14:25 465次阅读
    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 1245次阅读
    200万粉汽车达人的改装秘诀:<b class='flag-5'>用</b>这台手持<b class='flag-5'>扫描仪</b>,让法拉利轮辋完美适配

    Brother全新发布两款网络扫描仪,助力企业加速迈入数字化办公新生态

    上海2025年8月25日 /美通社/ -- 纸质文档电子化是构建数字化办公的基础环节。Brother全新推出高速办公网络扫描仪ADS-3350W和ADS-2750W。在速度、容量和功能方面做出优化
    的头像 发表于 08-25 13:46 644次阅读
    Brother全新发布两款网络<b class='flag-5'>扫描仪</b>,助力企业加速迈入数字化办公新生态

    三维扫描仪 | 先临三维工程师使用AutoScan Inspec2扫描耳机外壳

    扫描仪
    jf_37811293
    发布于 :2025年08月18日 08:53:02

    M12连接器在激光扫描仪传感器上的广泛运用

    在工业自动化与精密制造领域,激光技术(如切割、焊接、测量等)对设备连接的可靠性、抗干扰性及紧凑性提出了极高要求。M12连接器凭借其标准化设计、高防护等级及灵活的芯数配置,成为激光扫描仪传感器上的核心
    发表于 08-08 15:12 0次下载

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

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

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

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

    三维扫描仪 | 先临三维工程师使用FreeScan UE Pro2扫描汽车缸体

    扫描仪
    jf_37811293
    发布于 :2025年06月05日 10:17:17

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

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

    积木易搭上新3D空间扫描仪RayZoom G100,搭载3D高斯泼溅+开发者方案

    近日,积木易搭旗下子公司——武汉睿数信息技术有限公司(简称“睿数信息”)上新了一款手持式3D空间扫描仪——RayZoom G100。  RayZoom G100是一款通用型3D空间扫描仪,能够满足
    的头像 发表于 04-24 09:14 1374次阅读