1 怎样用LED矩阵作为扫描仪-德赢Vwin官网 网
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

经过一些实验,我发现从传感器检测像素是否可见的最佳方法是从传感器获取成对的vwin 读数:当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库使用缓冲区中的数据刷新矩阵,直到我准备好进行下一次扫描。

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

    关注

    2

    文章

    422

    浏览量

    67844
  • LED矩阵
    +关注

    关注

    0

    文章

    71

    浏览量

    17595
收藏 人收藏

    评论

    相关推荐

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

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

    国产纯硅振荡器替换SITime用于三维扫描仪

    国产纯硅振荡器替换SITime用于三维扫描仪
    的头像 发表于 12-04 10:18 109次阅读
    国产纯硅振荡器替换SITime用于三维<b class='flag-5'>扫描仪</b>中

    如何将三维激光扫描仪与BIM结合使用

    将三维激光扫描仪与BIM(建筑信息模型)结合使用,可以充分发挥两者的优势,提高工程测量的精度和效率。以下是将三维激光扫描仪与BIM结合使用的具体步骤和注意事项: 一、前期准备 确定扫描目标 : 明确
    的头像 发表于 11-28 10:18 164次阅读

    三维激光扫描仪与无人机结合的应用

    三维激光扫描仪与无人机结合的应用为多个领域带来了革命性的变化。以下是对这种结合应用的具体分析: 一、应用概述 三维激光扫描仪与无人机技术的结合,通过无人机搭载三维激光扫描仪进行空中作业,能够
    的头像 发表于 11-28 10:10 275次阅读

    三维激光扫描仪使用技巧 三维激光扫描仪测量精度分析

    三维激光扫描仪使用技巧 三维激光扫描仪的使用技巧涵盖了多个方面,旨在确保扫描过程的准确性和高效性。以下是一些关键的使用技巧: 稳定操作环境 :确保扫描过程中有一个稳定的操作环境,避免震
    的头像 发表于 11-28 10:07 201次阅读

    三维激光扫描仪应用领域 三维激光扫描仪与传统测量工具比较

    三维激光扫描仪应用领域 三维激光扫描仪因其高精度、高效率和非接触式的测量方式,在多个领域得到了广泛应用: 测绘领域 :用于地形、公路铁路、河道及建筑基地的测绘,提供精确的空间数据。 工业测量 :在
    的头像 发表于 11-28 10:04 208次阅读

    大幅扫描仪扫描地图怎么操作

    1. 准备扫描仪和地图 在开始扫描之前,确保您的大幅扫描仪已经安装并正确配置。您可能需要安装特定的驱动程序或软件,以便扫描仪能够与您的计算机通信。 检查
    的头像 发表于 10-14 15:47 565次阅读

    蔡司激光三维扫描仪有效扫描金属材料

    蔡司激光三维扫描仪因其高精度和多功能性,在工业检测、逆向工程、质量控制等领域得到了广泛应用。对于金属材料的扫描,用户常常关心的是ZEISS激光三维扫描仪是否能够有效地完成这项任务。本文蔡司代理-三本
    的头像 发表于 09-26 15:08 460次阅读
    蔡司激光三维<b class='flag-5'>扫描仪</b>有效<b class='flag-5'>扫描</b>金属材料

    何为电磁干扰(EMI)扫描仪,哪里需要它?

    什么是电磁干扰扫描仪?电磁干扰扫描仪(Electromagneticinterferencescanner)又称EMI扫描仪,是属于电磁兼容(EMC)测所试设备,具备干扰频谱分析、定频干扰成像功能
    的头像 发表于 08-30 13:02 396次阅读
    何为电磁干扰(EMI)<b class='flag-5'>扫描仪</b>,哪里需要它?

    如何选择电磁干扰(EMI)扫描仪,看看这几点

    在上期讲完了电磁干扰(EMI)扫描仪的定义和应用以后,我们应该如何去选择一款合适的电磁干扰(EMI)扫描仪?在当今复杂的电子设备环境中,选择合适的电磁干扰(EMI)扫描仪对于确保产品质量、符合标准
    的头像 发表于 08-30 13:02 497次阅读
    如何选择电磁干扰(EMI)<b class='flag-5'>扫描仪</b>,看看这几点

    lidar激光雷达扫描仪有什么

    LiDAR(Light Detection and Ranging,激光探测与测距)是一种利用激光技术进行距离测量和成像的技术。LiDAR激光雷达扫描仪具有高精度、高分辨率、快速扫描等特点,广泛应用
    的头像 发表于 08-29 16:58 776次阅读

    泰来三维|如何轻松玩转三维扫描仪中手持快速扫描模式

    如何轻松玩转三维扫描仪中手持快速扫描模式,EinScan Pro 2X 2020系列EinScan Pro 2X plus三维扫描仪包含普通模式和精细模式
    的头像 发表于 01-11 15:44 478次阅读
    泰来三维|如何轻松玩转三维<b class='flag-5'>扫描仪</b>中手持快速<b class='flag-5'>扫描</b>模式

    怎样快速选择二维码扫描仪模组

    扫描仪模组来快速、准确采集各种二维码、屏幕码以外,其他只要涉及到扫码解决方案的行业领域都需要使用到这些嵌入式二维码扫描模组。作为专业二维码扫码设备生产厂家,深圳远景达
    的头像 发表于 01-11 14:30 445次阅读
    <b class='flag-5'>怎样</b>快速选择二维码<b class='flag-5'>扫描仪</b>模组

    矩阵led扫描频率怎么调

    矩阵LED扫描频率是指LED矩阵在单位时间内刷新显示的次数。LED
    的头像 发表于 01-02 17:30 1290次阅读