• 正文
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

树莓派从零开始快速入门第6讲——按键输入

2024/07/06
1167
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一、前言

上一讲介绍了如何点亮一个LED灯,了解了树莓派的编程方法和运行方式,其实就是控制GPIO输出。

按照惯例,这一讲应该要讲GPIO的输入了。

特别说明:关于树莓派的编程方法我这里就不再赘述了,不知道的同学可以翻一下我第5讲的内容。

树莓派从零开始快速入门第5讲——点亮LED

二、硬件连接

硬件上要准备一个按键板,或者用导线短接GPIO模拟电平跳变也行(不懂慎用,以防短路),把按键的一端接到树莓派任意一个GPIO口,另外一端接VCC或者GND。
硬件原理我就不说了,感兴趣的同学可以自己查找相关资料,或者看下我之前发布的RT-thread按键输入教程。

我这边用的还是微雪的扩展板Pioneer600。

三、编写代码并运行

按键检测代码示例:

#!/usr/bin/python                             
#-*- coding:utf-8 -*-               
import RPi.GPIO as GPIO             #导入RPi.GPIO库
import time                         #导入time库

KEY = 20                            #根据自己的引脚号设置
GPIO.setmode(GPIO.BCM)              #引脚使用BCM编码
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP) #KEY引脚设置为上拉输入模式
while True:                     
    time.sleep(0.05)                #延时0.05s
    if GPIO.input(KEY) == 0:        #如果KEY引脚为低电平(按键被按下),打印"KEY PRESS"
        print("KEY PRESS")          
        while GPIO.input(KEY) == 0: #如果按键一直被按下(没有松开),一直在while循环中出不去(防止按键长按一直打印)
            time.sleep(0.01)    
注:
#!/usr/bin/env python,定义python解析脚本的绝对路径
#-*- coding:utf-8 -*-,python文件为utf-8格式,否则无法写入中文注释

运行结果:

在这里插入图片描述

四、结束语

按键输入本质上就是读取GPIO的电平状态,按键本质是通过短接IO口和VCC或GND,从而改变IO口的电平状态。结合原理去看代码会更容易理解。好了,这一讲的内容就这么多了,想了解更多树莓派的知识可以关注我,后续我会继续更新更多的教程。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
AT24C32D-SSHM-T 1 Microchip Technology Inc IC EEPROM 32KBIT 1MHZ 8SOIC

ECAD模型

下载ECAD模型
$0.37 查看
SN74LVC2G74DCURE4 1 Texas Instruments Single Positive-Edge-Triggered D-Type Flip-Flop with Clear and Preset 8-VSSOP -40 to 125

ECAD模型

下载ECAD模型
$0.62 查看
树莓派

树莓派

Raspberry Pi Ltd致力于让全世界的用户和企业都能畅享计算的便利。Raspberry Pi产品成本低、品质高、结构紧凑、效率高,可用于很多地方:从家用计算到工厂控制、从复古游戏到嵌入式应用,从教育到企业。自2012年出售第一款产品以来,Raspberry Pi已成为英国备受欢迎的计算机公司。

Raspberry Pi Ltd致力于让全世界的用户和企业都能畅享计算的便利。Raspberry Pi产品成本低、品质高、结构紧凑、效率高,可用于很多地方:从家用计算到工厂控制、从复古游戏到嵌入式应用,从教育到企业。自2012年出售第一款产品以来,Raspberry Pi已成为英国备受欢迎的计算机公司。收起

查看更多

相关推荐