@张飞老师:如何设计单片机控制的2PIN双色LED灯的驱动电路

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@张飞老师:如何设计单片机控制的2PIN双色LED灯的驱动电路相关的知识,希望对你有一定的参考价值。

有个红蓝2管脚的双色led灯,灯的颜色由两个管脚接电压的正负决定。灯的额定电压是24V,最大电流15mA,但是我用5V的开关电源供电测试,串了个10K电阻灯都能亮,电流用万用表测只有0.189A。现在我想用单片机控制这个灯的红蓝变化。驱动电路应该怎么做?
现在我的led的电源供电选择有5V的开关电源,7805转换,24V开关电源,原则上用24V供电比较好,灯比较亮,但是感觉电压高了,电流大了电路不好设计,用5V的好像简单点。
另外就是驱动电路上要实现红蓝灯的变化需要实现给led供电电压实现反向控制,我想到了H桥电路控制电机正反转的工作方式,因此考虑用4个晶体管驱动,这样用一个电源就能实现灯的电流反向,但是仿真时候运行时间长了会报错,由于初次设计电路,不知道这个电路有什么问题,希望能指点下。

参考技术A

  

你的线路好像不对吧 请看我的方案,肯定可以,望采纳,

参考技术B

给你一点资料吧。

 

用树莓派控制8*8led矩阵显示红心

话不多说,直接列代码,采用每行扫描显示的方式,led矩阵接口可查参考资料,对应连接相应的树莓派GPIO口。

import RPi.GPIO as GPIO
import time


PIN_A=11
PIN_B=12
PIN_C=13
PIN_D=15
PIN_E=16
PIN_F=18
PIN_G=22
PIN_H=24


PIN_a=29
PIN_b=31
PIN_c=33
PIN_d=35
PIN_e=37
PIN_f=32
PIN_g=36
PIN_h=38


GPIO.setmode(GPIO.BOARD)


GPIO.setup(PIN_A,GPIO.OUT)
GPIO.setup(PIN_B,GPIO.OUT)
GPIO.setup(PIN_C,GPIO.OUT)
GPIO.setup(PIN_D,GPIO.OUT)
GPIO.setup(PIN_E,GPIO.OUT)
GPIO.setup(PIN_F,GPIO.OUT)
GPIO.setup(PIN_G,GPIO.OUT)
GPIO.setup(PIN_H,GPIO.OUT)
GPIO.setup(PIN_a,GPIO.OUT)
GPIO.setup(PIN_b,GPIO.OUT)
GPIO.setup(PIN_c,GPIO.OUT)
GPIO.setup(PIN_d,GPIO.OUT)
GPIO.setup(PIN_e,GPIO.OUT)
GPIO.setup(PIN_f,GPIO.OUT)
GPIO.setup(PIN_g,GPIO.OUT)
GPIO.setup(PIN_h,GPIO.OUT)




GPIO.output(PIN_A,GPIO.LOW)
GPIO.output(PIN_B,GPIO.LOW)
GPIO.output(PIN_C,GPIO.LOW)
GPIO.output(PIN_D,GPIO.LOW)
GPIO.output(PIN_E,GPIO.LOW)
GPIO.output(PIN_F,GPIO.LOW)
GPIO.output(PIN_G,GPIO.LOW)
GPIO.output(PIN_H,GPIO.LOW)
GPIO.output(PIN_a,GPIO.LOW)
GPIO.output(PIN_b,GPIO.LOW)
GPIO.output(PIN_c,GPIO.LOW)
GPIO.output(PIN_d,GPIO.LOW)
GPIO.output(PIN_e,GPIO.LOW)
GPIO.output(PIN_f,GPIO.LOW)
GPIO.output(PIN_g,GPIO.LOW)
GPIO.output(PIN_h,GPIO.LOW)


while True:
        time.sleep(0.01)
        GPIO.output(PIN_H,GPIO.LOW)
        GPIO.output(PIN_A,GPIO.HIGH)
        GPIO.output(PIN_a,GPIO.HIGH)
        GPIO.output(PIN_b,GPIO.LOW)
        GPIO.output(PIN_c,GPIO.LOW)
        GPIO.output(PIN_d,GPIO.HIGH)
        GPIO.output(PIN_e,GPIO.HIGH)
        GPIO.output(PIN_f,GPIO.LOW)
        GPIO.output(PIN_g,GPIO.LOW)
        GPIO.output(PIN_h,GPIO.HIGH)
        time.sleep(0.01)
        GPIO.output(PIN_A,GPIO.LOW)
        GPIO.output(PIN_B,GPIO.HIGH)
        GPIO.output(PIN_a,GPIO.LOW)
        GPIO.output(PIN_d,GPIO.LOW)
        GPIO.output(PIN_e,GPIO.LOW)
        GPIO.output(PIN_h,GPIO.LOW)
        time.sleep(0.01)
        GPIO.output(PIN_B,GPIO.LOW)
        GPIO.output(PIN_C,GPIO.HIGH)
        time.sleep(0.01)
        GPIO.output(PIN_C,GPIO.LOW)
        GPIO.output(PIN_D,GPIO.HIGH)
        GPIO.output(PIN_a,GPIO.HIGH)
        GPIO.output(PIN_h,GPIO.HIGH)
        time.sleep(0.01)
        GPIO.output(PIN_D,GPIO.LOW)
        GPIO.output(PIN_E,GPIO.HIGH)
        time.sleep(0.01)
        GPIO.output(PIN_E,GPIO.LOW)
        GPIO.output(PIN_F,GPIO.HIGH)
        GPIO.output(PIN_b,GPIO.HIGH)
        GPIO.output(PIN_g,GPIO.HIGH)
        time.sleep(0.01)
        GPIO.output(PIN_F,GPIO.LOW)
        GPIO.output(PIN_G,GPIO.HIGH)
        time.sleep(0.01)
        GPIO.output(PIN_G,GPIO.LOW)
        GPIO.output(PIN_H,GPIO.HIGH)
        GPIO.output(PIN_c,GPIO.HIGH)
        GPIO.output(PIN_f,GPIO.HIGH)


以上是关于@张飞老师:如何设计单片机控制的2PIN双色LED灯的驱动电路的主要内容,如果未能解决你的问题,请参考以下文章

ESP324.RGB-LED实验(PWM)

如何巧妙利用4个IO口驱动12个LED灯

一起玩转树莓派——从双色LED灯开始

如何利用单片机控制一颗LED 灯闪烁

ESP323.双色LED实验(DAC)

ESP3220.WIFI Web Servers 双色LED灯实验(WiFi库)