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


目录

  • 树莓派从零开始快速入门第6讲——按键输入
  • 一、前言
  • 二、硬件连接
  • 三、编写代码并运行
  • 四、结束语


一、前言

上一讲介绍了如何点亮一个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格式,否则无法写入中文注释

运行结果:

Python 在树莓派模拟键盘输入 树莓派 按键输入_python

四、结束语

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

树莓派入门系列:
树莓派从零开始快速入门系列汇总