@张飞老师:如何设计单片机控制的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个晶体管驱动,这样用一个电源就能实现灯的电流反向,但是仿真时候运行时间长了会报错,由于初次设计电路,不知道这个电路有什么问题,希望能指点下。
你的线路好像不对吧 请看我的方案,肯定可以,望采纳,
给你一点资料吧。
用树莓派控制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灯的驱动电路的主要内容,如果未能解决你的问题,请参考以下文章