动手学树莓派Python篇第9章:小小按键在我手,我的触碰你知道

SAKSHAT提供的按键使用方法

当前SAKSHAT为我们提供的方法参考:http://wiki.nxez.com/saks:sdk:libraries:tactrow

这里就直接摘录了,以下是创百科的内容:

TactRow
轻触开关组类,配置一组轻触开关的触发事件并随时读取开关即时状态。 方法

init(self, pin, real_true=GPIO.HIGH)

初始化对象,设置引脚和触发电平(高电平或低电平触发)。pins 为 IO 引脚数组。

is_on(self, index)

返回当前轻触开关的按下状态。true 或 false。index 为 LED 编号,从 0 开始。

row_status(self)

返回当前轻触开关组的工作状态的数组。

items(self)

返回当前轻触开关组的对象数组。
对于按键可以安装按键触发时的回调函数,回调函数复制给tact_event_handler方法


#输出按键状态
import time
from sakshat import SAKSHAT
from sakspins import SAKSPins as PINS
 
if __name__ == "__main__":
    try:
        #Declare the SAKS Board
        SAKS = SAKSHAT()
         
        while True:
            #获取按键状态
            blue_button = SAKS.tactrow.is_on(0)
            yello_button = SAKS.tactrow.is_on(1)
             
            if blue_button == False:
                print("蓝色未按下")
            else:
                print("蓝色已按下")
                 
            if yello_button == False:
                print("黄色未按下")
            else:
                print("黄色已按下")
 
            time.sleep(1)
             
    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:
            #获取按键组状态
            key_status = SAKS.tactrow.row_status
             
            #打印安装状态
            print("按键组状态为" + str(key_status))
 
            time.sleep(1)
             
    except KeyboardInterrupt:
        print("任务被终止了")
#按键事件触发方式操作
import time
from sakshat import SAKSHAT
from sakspins import SAKSPins as PINS
 
#在检测到轻触开关触发时自动执行此函数
def key_event_handler(pin, status):
    '''
    called while the status of tacts changed
    :param pin: pin number which stauts of tact is changed
    :param status: current status
    :return: void
    '''
     
    #判断是否是右边的轻触开关被触发,并且是在被按下
    if pin == PINS.TACT_RIGHT and status == True:   
        print("黄色按键被按下")
 
    #判断是否是右边的轻触开关被触发,并且是在被按下
    if pin == PINS.TACT_RIGHT and status == False:   
        print("黄色按键被释放")
         
    #判断是否是右边的轻触开关被触发,并且是在被按下
    if pin == PINS.TACT_LEFT and status == True:   
        print("蓝色按键被按下")
 
    #判断是否是右边的轻触开关被触发,并且是在被按下
    if pin == PINS.TACT_LEFT and status == False:   
        print("蓝色按键被释放")
 
if __name__ == "__main__":
    try:
        #Declare the SAKS Board
        SAKS = SAKSHAT()
         
        #设定轻触开关回调函数
        SAKS.tact_event_handler = key_event_handler
             
    except KeyboardInterrupt:
        print("任务被终止了")


课程 bilibili 视频地址:https://www.bilibili.com/video/av71878718/?p=20

- 本文内容来自网络,如有侵权,请联系本站处理。

2022-12   阅读(24)   评论(0)
 标签: 编程

涨知识
摩尔斯电码

摩尔斯电码(Morse code)也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。

评论:
相关文章
Micro:bit MicroPython 教程 6.2 播放内置音乐

MicroPython中内置了许多好听的音乐,你可以直接调用他们直接播放。


CCF中学生计算机程序设计能力等级评价等级标准

CCF于2013年设立《青少年计算机程序设计评价标准》课题,于2014年7月形成评价体系并予以发布。凡参加NOI系列活动的选手均可参加等级评价。


NumPy图解教程

NumPy是Python中用于数据分析、机器学习、科学计算的重要软件包。它极大地简化了向量和矩阵的操作及处理。


Scratch 3.0 介绍

Scratch 3.0采用了HTML5和JavaScript技术来编写,支持所有的现代浏览器和WebGL,能够跨平台使用。 让写程式更容易入门。


Micro:bit MicroPython 教程 4.1 Python中的循环语句

循环语句允许我们执行一个语句或语句组多次。



Micro:bit MicroPython 教程 4.2 Python中的条件语句

条件语句是通过一条或多条语句的执行结果(True或者False)来决定是否执行代码块。


Arduino 数据结构: ArrayList

ArrayList 类是一个 C++ 模板类,它提供了 ArrayList 的实现,以便轻松存储任何指定类型的值。它允许使用索引进行高效存储和检索,支持排序操作。


ESP32 Arduino 开发框架

Arduino开发环境下适用于ESP32芯片系列开发板的应用开发框架。


2025编程教育全面走进我国中小学,站在风口,让孩子未来多一条 “黄金赛道”!

教育部信息科技课标专家组组长熊璋曾明确指出:在很近的将来,信息科技课程还会增加比重,它对社会太重要了。如今这一预言就实现了,