SAKSHAT提供的LED使用方法
当前SAKSHAT为我们提供的方法参考:http://wiki.nxez.com/saks:sdk:libraries:led74hc595
这里就直接摘录了,以下是创百科的内容:
74HC595 芯片驱动下的 LED 灯组类,控制一组 LED 工作。 方法
init(self, pins, real_true = GPIO.HIGH)
初始化对象,设置引脚和触发电平(高电平或低电平触发)。pins 为 IO 引脚数组。
ic(self)
返回当前驱动数码管的IC对象。
is_on(self, index)
返回当前 LED 的工作状态。true 或 false。index 为 LED 编号,从 0 开始。
row_status(self)
返回当前 LED 灯组的工作状态的数组。
on(self)
设置 LED 灯组为全部点亮状态。
off(self)
设置 LED 灯组为全部熄灭状态。
on_for_index(self, index)
设置当前 LED 灯组的第 index+1 个 LED 的状态为点亮。index 为 LED 编号,从 0 开始。
off_for_index(self, index)
设置当前 LED 灯组的第 index+1 个 LED 的状态为熄灭。index 为 LED 编号,从 0 开始。
set_row(self, status)
设置当前 LED 灯组的点亮状态。status 为布尔型数组。status 中的元素也可以为 None,表示不改变该元素位置的 LED 状态。
#点亮所有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("任务被终止了")
#返回当前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("任务被终止了")
#返回当前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("任务被终止了")
#逐一点亮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("任务被终止了")
#设置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("任务被终止了")
#流水灯走起 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