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

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

3天内不再提示

这个控制LED的经典算法 你会用吗?

得捷电子DigiKey 来源:未知 2023-04-13 02:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Q A &问:什么是查理复用算法(Charlieplexing )? 这算法可以用来做什么? 查理复用算法(Charlieplesing),具备控制多个LED的能力,即可以用较少数量的微控制器输出端来控制较多数量的 LED(微控制器输出端少于LED数量)。在1995年,Maxim公司的 Charles Allen 首次提出这一想法,并命名为 Charlieplesing。

查理复用算法使用微控制器的所有三种逻辑状态以及LED的单向导电性来控制矩阵。如果你试图显示不同进程的状态,并且不想占用多个微控制器引脚,那么这可能很有用。

以下是一组使用查理复用算法LED的最简单例子。

99b966cc-d960-11ed-bfe3-dac502259ad0.png

注意,在上面的例子中,它使用了一组互补的 LED。基于 LED 如何允许电流在一个方向流动并阻止电流在另一个方向上流动,它允许我们根据输入/输出的设置来控制两个 LED。要使用此例子,可以通过更改引脚的输出类型来控制具有两个引脚的两个 LED。如果你将引脚2设置为高电平,引脚1设置为低电平,则L1 -LED将点亮。如果将引脚1设置成高电平,而引脚2设置成低电平,那么L2 -LED将会点亮。

以下是如何在 Arduino 设置。

void setup() {Serial.begin(9600);

}

void loop() {pinMode(1,OUTPUT);pinMode(2,OUTPUT);

pinMode(3,INPUT);

digitalWrite(2,HIGH);digitalWrite(1,LOW);

delay(1000);

Serial.println("1");

pinMode(1,OUTPUT);pinMode(2,OUTPUT);

pinMode(3,INPUT);

digitalWrite(1,HIGH);digitalWrite(2,LOW);

delay(1000);

Serial.println("2");}

现在看这个示意图,你可能会想,“这怎么有用?我们只使用两个引脚控制两个LED。”让我们看看当我们添加第三个引脚时会发生什么。

以下是如何设置3个引脚的LED。

99c986ba-d960-11ed-bfe3-dac502259ad0.png

通过此设置可以看到,你可以使用3个引脚控制6个 LED。要在此设置中控制LED,你需要使用微控制器的所有三种状态。如果你想打开L1- LED而不打开其他LED,则必须将引脚2设置为高,将引脚1设置为低,将引脚3设置为输入。引脚3必须设置为输入的原因是将该引脚设置为高阻抗。这基本上从电路上断开了引脚。此外,如果我们将引脚3设置为LOW,LED L4也会亮起。

现在,如果你想打开L2-LED,用户可以将引脚1设置为高,将引脚2设置为低,将引脚3设置为输入。再次注意,如果我们没有将引脚3设置为输入,则L4-LED也将打开。

然后,用户可以完成此过程,直到他们按顺序成功点亮每个LED。

如果你想用 Arduino 编写代码, 请查看这里

现在我们已经探索了2个引脚和3个引脚,你可以看到查理复用算法如何成为一个有用的工具。让我们再为4个输入引脚进行一次设置。

在我们展示4个输入引脚的设置之前,你能猜出我们能够控制多少个 LED 吗?

通过将要使用的I/O数量乘以相同的I/O数量减1,可以计算出可以控制的LED数量。因此,例如,如果我们想使用4个I/O引脚,我们将该数字乘以3,这将让我们知道,我们可以用4个I/O控制多达12个LED。

以下是如何设置4个 I/O 的 LED。

99e1e0de-d960-11ed-bfe3-dac502259ad0.png

注意,我对这一个连接进行了颜色编码,以使连接更清晰。如你所见,通过在原理图中再添加一个引脚,我们可以再添加 6个 LED。为了控制LED,此设置与3个引脚的工作方式相同,但是,在这种情况下,我们将设置2个引脚作为输入。这里是 Arduino 代码,用于控制所有 12个LED。

正如你所看到的,如果你 I/O 引脚数量有限,这可能是一个有用的工具。

如果你想看到查理复用算法的其他选项,我看到的使用查理复用算法的最常见项目之一是 LED 立方体。如果你在网上搜索查理复用算法LED立方体,你会看到几个不同的版本。

9a015b9e-d960-11ed-bfe3-dac502259ad0.png

更多LED设计的技术信息,请查看以下内容:
  • 用生长灯帮助植物茁壮成长

  • LED新设计技巧和驱动器选择浅析

  • 橱柜灯和普通照明灯带的组装指南

  • 了解如何避免LED被腐蚀

  • LED 应用:该选通孔还是表面贴装好
9a015b9e-d960-11ed-bfe3-dac502259ad0.png    最后,如果你喜欢这篇文章,快分享给更多的小伙伴吧!切记点个赞哦!

提示点击菜单设计支持:工程师锦囊,获取更多工程师小贴士


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

    关注

    1

    文章

    257

    浏览量

    14230

原文标题:这个控制LED的经典算法 你会用吗?

文章出处:【微信号:得捷电子DigiKey,微信公众号:得捷电子DigiKey】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    幻尔miniBalan智能平衡小车搭载PID、LQR等多维算法,融合多模态AI大模型

    、“卷”的第一课:读懂经典的PID控制艺术在眼花缭乱的新技术中,真正的实力源于对经典理论的深刻理解。在接触更前沿的AI之前,让我们先夯实控制理论的基石——PID
    的头像 发表于 05-19 11:46 647次阅读
    幻尔miniBalan智能平衡小车搭载PID、LQR等多维<b class='flag-5'>算法</b>,融合多模态AI大模型

    LDS9003/9001:高功率LED温度与PWM控制器之利器

    和LDS9001采用LED - Sense™算法,直接监测LED结温(Tj),实现高温下LED电流降额与热控制。这一创新技术使得
    的头像 发表于 04-04 11:30 295次阅读

    PID控制算法

    当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典
    发表于 01-23 08:18

    固态变压器(SST)中LLC高频DC/DC变换级的控制算法架构与经典代码实现

    固态变压器(SST)中LLC高频DC/DC变换级的控制算法架构与经典代码实现 BASiC Semiconductor基本半导体一级代理商倾佳电子(Changer Tech)是一家专注于功率半导体
    的头像 发表于 01-14 16:56 544次阅读
    固态变压器(SST)中LLC高频DC/DC变换级的<b class='flag-5'>控制</b><b class='flag-5'>算法</b>架构与<b class='flag-5'>经典</b>代码实现

    PWM经典应用:LED亮度控制及呼吸灯实战

    信号生成: 加热控制: 本文特别分享PWM相关基础知识,并以Air8000核心板为例,演示LuatOS开发中如何使用PWM功能实现LED亮度控制及呼吸灯效果,帮助开发者快速上手。 一、 PWM相关基础知识 PWM具有高效、
    的头像 发表于 01-05 20:50 522次阅读
    PWM<b class='flag-5'>经典</b>应用:<b class='flag-5'>LED</b>亮度<b class='flag-5'>控制</b>及呼吸灯实战

    CW32L012的PID温度控制——算法基础

    PID 控制算法是比例(Proportional)- 积分(Integral)- 微分(Derivative) 控制的简称,是工业控制、嵌入式系统中最
    的头像 发表于 01-05 16:27 2491次阅读
    CW32L012的PID温度<b class='flag-5'>控制</b>——<b class='flag-5'>算法</b>基础

    LED触摸控制PCBA方案开发 | 灯控触摸方案开发

    单键LED触摸控制PCBA方案开发灯控触摸方案开发PCBA方案灯控方案支持定制寻找灵活、可靠的LED灯光控制解决方案?我们的单键LED触摸
    的头像 发表于 12-10 17:43 633次阅读
    <b class='flag-5'>LED</b>触摸<b class='flag-5'>控制</b>PCBA方案开发 | 灯控触摸方案开发

    哪些场合会用到volatile关键字?

    当你理解 volatile关键字的含义之后,就能明白,其实很多场合都能用到 volatile关键字。 1.全局变量单片机开发,难免会用到全局变量。一些初级工程师,更是全局变量满天飞。这种情况下
    发表于 11-25 08:19

    基于E203 RISC-V的音频信号处理系统 -ANC算法简介

    。20世纪30年代,德国波恩大学L. Paul首次提出了主动噪声控制的概念。20世纪80年代初期,J. C. Morgan和D. R. Burgress时提出经典滤波-x最小均方(Filtered-x
    发表于 10-28 07:50

    BLDC与PMSM电机控制算法的联系与区别

    脉动小、更加平稳顺滑,因此广泛应用于对控制性能要求高的场合,如工业伺服系统、电动汽车驱动等。 二、 核心控制算法解析​ 六步换相法​​ l原理: 一种简单直接的控制方法。它将电机的电周
    发表于 10-27 09:23

    PID控制算法学习笔记资料

    用于新手学习PID控制算法
    发表于 08-12 16:22 7次下载

    RGB LED 时尚照明控制器 skyworksinc

    电子发烧友网为提供()RGB LED 时尚照明控制器相关产品参数、数据手册,更有RGB LED 时尚照明控制器的引脚图、接线图、封装手册、
    发表于 07-28 18:34
    RGB <b class='flag-5'>LED</b> 时尚照明<b class='flag-5'>控制</b>器 skyworksinc

    工业RTU会用到哪些芯片

    工业RTU(远程终端单元)通常会用到处理器芯片、通信芯片、数据采集芯片、存储芯片和电源管理芯片等。
    的头像 发表于 07-05 09:15 917次阅读

    HTTP协议在工业领域会用到吗

    HTTP协议在工业领域会用到,并且在工业互联网、设备管理、数据交互等多个方面发挥着重要作用,以下为详细介绍: 工业互联网场景 设备接入与管理 原理:在工业互联网平台中,各类工业设备(如传感器
    的头像 发表于 06-03 09:17 822次阅读

    控制系统调优必备知识:“运动控制控制周期怎么算”真的懂了吗?

    在工业自动化领域,运动控制控制周期这个参数常常被忽视,但它却是影响整个系统稳定性、精度甚至产能的关键因素。是不是也遇到过这些问题:电机总是抖动?轨迹跟踪老是偏?想优化系统却无从下手
    的头像 发表于 05-27 10:59 2084次阅读
    <b class='flag-5'>控制</b>系统调优必备知识:“运动<b class='flag-5'>控制</b>卡 <b class='flag-5'>控制</b>周期怎么算”<b class='flag-5'>你</b>真的懂了吗?