加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 一、前言
    • 二、硬件連接
    • 三、編寫(xiě)代碼并運(yùn)行
    • 四、結(jié)束語(yǔ)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

樹(shù)莓派從零開(kāi)始快速入門第6講——按鍵輸入

07/06 15:25
561
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

一、前言

上一講介紹了如何點(diǎn)亮一個(gè)LED燈,了解了樹(shù)莓派的編程方法和運(yùn)行方式,其實(shí)就是控制GPIO輸出。

按照慣例,這一講應(yīng)該要講GPIO的輸入了。

特別說(shuō)明:關(guān)于樹(shù)莓派的編程方法我這里就不再贅述了,不知道的同學(xué)可以翻一下我第5講的內(nèi)容。

樹(shù)莓派從零開(kāi)始快速入門第5講——點(diǎn)亮LED

二、硬件連接

硬件上要準(zhǔn)備一個(gè)按鍵板,或者用導(dǎo)線短接GPIO模擬電平跳變也行(不懂慎用,以防短路),把按鍵的一端接到樹(shù)莓派任意一個(gè)GPIO口,另外一端接VCC或者GND。
硬件原理我就不說(shuō)了,感興趣的同學(xué)可以自己查找相關(guān)資料,或者看下我之前發(fā)布的RT-thread按鍵輸入教程。

我這邊用的還是微雪的擴(kuò)展板Pioneer600。

三、編寫(xiě)代碼并運(yùn)行

按鍵檢測(cè)代碼示例:

#!/usr/bin/python                             
#-*- coding:utf-8 -*-               
import RPi.GPIO as GPIO             #導(dǎo)入RPi.GPIO庫(kù)
import time                         #導(dǎo)入time庫(kù)

KEY = 20                            #根據(jù)自己的引腳號(hào)設(shè)置
GPIO.setmode(GPIO.BCM)              #引腳使用BCM編碼
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP) #KEY引腳設(shè)置為上拉輸入模式
while True:                     
    time.sleep(0.05)                #延時(shí)0.05s
    if GPIO.input(KEY) == 0:        #如果KEY引腳為低電平(按鍵被按下),打印"KEY PRESS"
        print("KEY PRESS")          
        while GPIO.input(KEY) == 0: #如果按鍵一直被按下(沒(méi)有松開(kāi)),一直在while循環(huán)中出不去(防止按鍵長(zhǎng)按一直打?。?/span>
            time.sleep(0.01)    
注:
#!/usr/bin/env python,定義python解析腳本的絕對(duì)路徑
#-*- coding:utf-8 -*-,python文件為utf-8格式,否則無(wú)法寫(xiě)入中文注釋

運(yùn)行結(jié)果:

在這里插入圖片描述

四、結(jié)束語(yǔ)

按鍵輸入本質(zhì)上就是讀取GPIO的電平狀態(tài),按鍵本質(zhì)是通過(guò)短接IO口和VCC或GND,從而改變IO口的電平狀態(tài)。結(jié)合原理去看代碼會(huì)更容易理解。好了,這一講的內(nèi)容就這么多了,想了解更多樹(shù)莓派的知識(shí)可以關(guān)注我,后續(xù)我會(huì)繼續(xù)更新更多的教程。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
74HC595BQ,115 1 NXP Semiconductors 74HC(T)595 - 8-bit serial-in, serial or parallel-out shift register with output latches; 3-state QFN 16-Pin
$0.41 查看
CMWX1ZZABZ-078 1 Murata Manufacturing Co Ltd LORA MODULE

ECAD模型

下載ECAD模型
$16.04 查看
24LC256-I/ST 1 Microchip Technology Inc 32K X 8 I2C/2-WIRE SERIAL EEPROM, PDSO8, 4.40 MM, PLASTIC, TSSOP-8

ECAD模型

下載ECAD模型
$1.05 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜