SAKSHAT提供的LED使用方法
当前SAKSHAT为我们提供的方法参考:http://wiki.nxez.com/saks:sdk:libraries:led74hc595
这里就直接摘录了,以下是创百科的内容:
74HC595 芯片驱动下的 LED 灯组类,控制一组 LED 工作。 方法
1 | init( self , pins, real_true = GPIO.HIGH) |
初始化对象,设置引脚和触发电平(高电平或低电平触发)。pins 为 IO 引脚数组。
1 | ic( self ) |
返回当前驱动数码管的IC对象。
1 | is_on( self , index) |
返回当前 LED 的工作状态。true 或 false。index 为 LED 编号,从 0 开始。
1 | row_status( self ) |
返回当前 LED 灯组的工作状态的数组。
1 | on( self ) |
设置 LED 灯组为全部点亮状态。
1 | off( self ) |
设置 LED 灯组为全部熄灭状态。
1 | on_for_index( self , index) |
设置当前 LED 灯组的第 index+1 个 LED 的状态为点亮。index 为 LED 编号,从 0 开始。
1 | off_for_index( self , index) |
设置当前 LED 灯组的第 index+1 个 LED 的状态为熄灭。index 为 LED 编号,从 0 开始。
1 | set_row( self , status) |
设置当前 LED 灯组的点亮状态。status 为布尔型数组。status 中的元素也可以为 None,表示不改变该元素位置的 LED 状态。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #点亮所有LED灯 from sakshat import SAKSHAT from sakspins import SAKSPins as PINS if __name__ = = "__main__" : try : #Declare the SAKS Board SAKS = SAKSHAT() #点亮所有LED灯 SAKS.ledrow.on() except KeyboardInterrupt: print ( "任务被终止了" ) #熄灭所有LED灯 from sakshat import SAKSHAT from sakspins import SAKSPins as PINS if __name__ = = "__main__" : try : #Declare the SAKS Board SAKS = SAKSHAT() #熄灭所有LED灯 SAKS.ledrow.off() except KeyboardInterrupt: print ( "任务被终止了" ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #返回当前LED灯组状态。 import time from sakshat import SAKSHAT from sakspins import SAKSPins as PINS led_status = [] if __name__ = = "__main__" : try : #Declare the SAKS Board SAKS = SAKSHAT() #点亮所有灯并输出所有灯状态 for i in range ( 0 , 8 ): SAKS.ledrow.on_for_index(i) led_status = SAKS.ledrow.row_status print ( "点亮所有灯状态" + str (led_status)) time.sleep( 5 ) #关闭所有灯并输出等状态 for i in range ( 0 , 8 ): SAKS.ledrow.off_for_index(i) led_status = SAKS.ledrow.row_status print ( "关闭所有灯状态" + str (led_status)) time.sleep( 5 ) #熄灭所有LED灯 SAKS.ledrow.off() #间隔点亮LED灯模式1 for i in range ( 0 , 8 , 2 ): SAKS.ledrow.on_for_index(i) led_status = SAKS.ledrow.row_status print ( "间隔点亮LED灯模式1" + str (led_status)) time.sleep( 5 ) #熄灭所有LED灯 SAKS.ledrow.off() #间隔点亮LED灯模式2 for i in range ( 1 , 8 , 2 ): SAKS.ledrow.on_for_index(i) led_status = SAKS.ledrow.row_status print ( "间隔点亮LED灯模式2" + str (led_status)) except KeyboardInterrupt: print ( "任务被终止了" ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #返回当前LED单个灯状态。 import time from sakshat import SAKSHAT from sakspins import SAKSPins as PINS led_status = [] if __name__ = = "__main__" : try : #Declare the SAKS Board SAKS = SAKSHAT() #熄灭所有LED灯 SAKS.ledrow.off() #关闭所有灯并输出等状态 for i in range ( 0 , 8 , 2 ): SAKS.ledrow.on_for_index(i) led_status = SAKS.ledrow.row_status print ( "关闭所有灯状态" + str (led_status)) for i in range ( 0 , 8 ): led_one_status = SAKS.ledrow.is_on(i) print ( "第" + str (i) + "个LED灯状态为" + str (led_one_status)) except KeyboardInterrupt: print ( "任务被终止了" ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #逐一点亮LED灯,然后逐一熄灭LED灯 import time from sakshat import SAKSHAT from sakspins import SAKSPins as PINS if __name__ = = "__main__" : try : #Declare the SAKS Board SAKS = SAKSHAT() for i in range ( 0 , 8 ): SAKS.ledrow.on_for_index(i) time.sleep( 1 ) for i in range ( 0 , 8 ): SAKS.ledrow.off_for_index(i) time.sleep( 1 ) except KeyboardInterrupt: print ( "任务被终止了" ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #设置LED灯族状态 import time from sakshat import SAKSHAT from sakspins import SAKSPins as PINS if __name__ = = "__main__" : try : #Declare the SAKS Board SAKS = SAKSHAT() SAKS.ledrow.set_row([ True , False , True , False , True , False , True , False ]) time.sleep( 5 ) SAKS.ledrow.set_row([ None , True , None , True , None , None , None , None ]) time.sleep( 5 ) SAKS.ledrow.set_row([ None , None , None , None , None , True , None , True ]) time.sleep( 5 ) SAKS.ledrow.set_row([ False , None , False , None , False , None , False , None ]) time.sleep( 5 ) SAKS.ledrow.set_row([ False , False , False , False , False , False , False , False ]) except KeyboardInterrupt: print ( "任务被终止了" ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #流水灯走起 import time from sakshat import SAKSHAT from sakspins import SAKSPins as PINS if __name__ = = "__main__" : try : #Declare the SAKS Board SAKS = SAKSHAT() while True : for i in range ( 0 , 8 ): SAKS.ledrow.on_for_index(i) time.sleep( 0.1 ) SAKS.ledrow.off_for_index(i) except KeyboardInterrupt: print ( "任务被终止了" ) |
课程 bilibili 视频地址:https://www.bilibili.com/video/av71878718/?p=18
课程 gitee 地址:https://gitee.com/shirf_taste_raspi/shirf_serial_share