树莓派与GPIO:74HC595控制LED数码管

编程入门 行业动态 更新时间:2024-10-05 15:31:28

树莓派与GPIO:74HC595控制LED<a href=https://www.elefans.com/category/jswz/34/1769521.html style=数码管"/>

树莓派与GPIO:74HC595控制LED数码管

当初入手树莓派的一个重要原因就是看中了它的GPIO。利用GPIO和python脚本(当然也可以是C等等),可以玩出很多花来。最简单的例子,控制一只LED是亮灯还是灭灯。这当然没啥稀奇,但改下python脚本,有规律的亮和灭,就能模拟汽车转向灯。再改改,还能模拟大楼晚上防飞机撞的双闪灯效果出来。当然这些效果最多也就两个三极管加两三个电阻电容就能实现,这种特效就是五毛特效还有的找。但这不是重点,重点在于,没有GPIO的树莓派可玩性大大降低。

LED数码管是常见的东东,本质上就是8个独立的LED被封装在一起,其中7个组成了“8”字,还有一个小数点。我们可以用8个GPIO去控制这些LED的亮与灭,让亮的LED拼成想要的数字。这当然是可行的,但是会消耗宝贵的GPIO引脚。因此稍微有技术含量一点的做法是用一片串入并出的IC,如74HC595来减少GPIO的消耗。具体原理请参阅/,谨向原作者表示感谢,尤其是那个动图对理解74HC595的工作原理很有启发。但可能与原作者用的数码管类型或引脚编号不同,我实际调试成功的驱动单管电路图如下:

其中,8字数码管是共阳的,图中段码前的数字代表实际的物理引脚号,规则是如图放置,逆时针数,左下为1,左上为10。3号脚悬空不管。74HC595也一样,引脚向下,缺口向左,逆时针数。1号脚接数码管g,2号脚接f,......,7号脚接数码管a,15号脚接数码管dp。

Vcc接树莓派GPIO3.3V引脚,DS接树莓派PIN13,SHCP接PIN11,STCP接PIN15。

python脚本编写是按ABCDEFG DP的顺序来。参考代码如下(仅以显示5为例):

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(13,GPIO.OUT)  # Serail Data
GPIO.setup(11,GPIO.OUT)  # Serail Data Confirm
GPIO.setup(15,GPIO.OUT)  # Output Data

def InputBit():
    GPIO.output(11,False)
    GPIO.output(11,True)

def ShowLED():
    GPIO.output(15,False)
    GPIO.output(15,True)   


def Show5():

    # Data 0 A
    GPIO.output(13,False)
    InputBit()

    # Data 1 B
    GPIO.output(13,True)
    InputBit()

    # Data 2 C
    GPIO.output(13,False)
    InputBit()

    # Data 3 D
    GPIO.output(13,False)
    InputBit()

    # Data 4 E
    GPIO.output(13,True)
    InputBit()

    # Data 5 F
    GPIO.output(13,False)
    InputBit()
   
    # Data 6 G
    GPIO.output(13,False)
    InputBit()

    # Data 7 DOT
    GPIO.output(13,True)
    InputBit()

    # Output
    ShowLED()   
   

def main():
    Show5()


if __name__ == "__main__":
 main()





更多推荐

树莓派与GPIO:74HC595控制LED数码管

本文发布于:2024-02-27 23:20:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766961.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数码管   GPIO   树莓派   LED

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!