相關(guān)商品

  • 奧松 樹莓派原型擴(kuò)展板 Prototype Shield for Raspberry Pi 支持3B/3B+
  • 愛上Raspberry Pi 3代套件 樹莓派全家福入門套件 7寸液晶屏
  • 2.4G USB 無線鍵盤 觸摸鼠標(biāo) Banana Pi Raspberry pi3 樹莓派B+ 樹莓派3代
  • 雙頭HDMI連接線 高清外置HDMI線 轉(zhuǎn)接線 樹莓派 PcDuino接線
  •  樹莓派 二代 Raspberry Pi Mod B 512MB REV2.0 英標(biāo)綠版
  • 通用AV數(shù)據(jù)線 樹莓派套件 AV視頻線 優(yōu)質(zhì)接頭 7寸液晶顯示器專用
  • 樹莓派 Raspberry Pi 亞克力 透明 外殼 盒子 保護(hù)盒子 防靜電
  • Prototype Shield for RasPi 樹莓派 Raspberry Pi 原型擴(kuò)展板
  • Raspberry Pi 快速入門指南 愛上樹莓派指南 中文教材
  • Raspberry Pi Python 編程入門 樹莓派 快速入門指南 中文教材
  • Micro USB 數(shù)據(jù)線 Raspberry Pi 樹莓派 mini usb顯示器 連接線
  • 樹莓派B+外殼 Raspberry PI 黑色 包裝殼 Sparkfun原裝 美國進(jìn)口
  • 樹莓派應(yīng)用速成 Raspbmc媒體中心 愛上樹莓派 入門指南
  • 樹莓派應(yīng)用速成 網(wǎng)絡(luò)應(yīng)用秘方 愛上樹莓派 快速入門指南
  • 奧松機(jī)器人 樹莓派1B+ Raspberry Pi 1B+
  • 動(dòng)手玩轉(zhuǎn)Arduino套件 愛上Arduino互動(dòng)電子入門套件
  • 動(dòng)手玩轉(zhuǎn) Arduino 愛上 Arduino 互動(dòng)電子入門套件 Arduino必備教材
  • Raspberry pi 2代 3代 樹莓派控制器B+ 支架 3D打印 機(jī)器人固定架
  • 愛上Raspberry Pi 第2版 樹莓派編程快速入門手冊(cè) 零基礎(chǔ) 入門學(xué)習(xí)必備中文教材
  • 7寸液晶屏 樹莓派顯示器 HDMI 高清全彩 車載顯示器 Raspberry Pi
  • Adafruit 原裝進(jìn)口 Pimoroni PiBrella Raspberry PI 樹莓派配套
  • Adafruit 原裝進(jìn)口 Pimoroni PiGlow Raspberry PI 樹莓派2代
  • Adafruit 國外原裝進(jìn)口 Raspberry Pi 2代 3代 樹莓派原型擴(kuò)展板 面包板
  • Adafruit 國外原裝進(jìn)口 Raspberry Pi 2代 3代 樹莓派原型擴(kuò)展板 面包板
  • Adafruit原裝進(jìn)口 PiTFT外殼 Raspberry Pi 樹莓派B專用一體外殼
  • adafruit 原裝進(jìn)口 Printrbot 1405型號(hào)3D打印機(jī) 3D打印塑形機(jī)
  • Adafruit 原裝進(jìn)口 MonkMakes Raspberry Pi2 樹莓派 電機(jī)驅(qū)動(dòng)板
  • 樹莓派愛好者學(xué)習(xí) 樹莓派媒體中心 網(wǎng)絡(luò)應(yīng)用秘方 樹莓派學(xué)習(xí)套餐搭配組合
  • 樹莓派外殼 Raspberry Pi 外殼 適用B+/2B/3B/3B+ 彩色 通用樂高外殼
  • 樹莓派3代B型套件 愛上樹莓派 Raspberry Pi 編程開發(fā)套件
  • 樹莓派3控制器 HiFiBox DAC 樹莓派擴(kuò)展板 機(jī)器人聲卡 I2S DAC+
  • 樹莓派瑞士軍刀擴(kuò)展板 SAKS April v2.0版 Raspberry Pi 通用兼容
  • 樹莓派Pico 微控制器 Raspberry Pi Pico AI開發(fā)板 RP2040雙核處理器
  • 當(dāng)前位置: 首頁 > 應(yīng)用教程 > 【創(chuàng)客學(xué)堂】玩轉(zhuǎn)樹莓派之GPIO輸入與輸出

    【創(chuàng)客學(xué)堂】玩轉(zhuǎn)樹莓派之GPIO輸入與輸出

    編輯:Artech2013-12-23 瀏覽次數(shù):6705

        莓派Raspberry Pi)本質(zhì)上是一臺(tái)Linux小電腦,但其板載的GPIO接口彰顯著它的獨(dú)特之處。掌握并控制好這些IO接口我們就可以將樹莓派變成一塊性能極高的單片機(jī)。本文通過“按鍵控制樹莓派LED燈”的實(shí)驗(yàn)給大家分享一下使用樹莓派GPIO進(jìn)行輸入輸出的經(jīng)驗(yàn)。

    樹莓派V2,連接好VGA與鍵鼠等外設(shè)

    圖1 接好各種外設(shè)的樹莓派

    一 準(zhǔn)備器材

     

        下面通過一個(gè)“按鍵控制樹莓派LED燈”的實(shí)驗(yàn)給大家分享一下本人使用樹莓派GPIO進(jìn)行輸入輸出的經(jīng)驗(yàn)。
         這個(gè)實(shí)驗(yàn)中我們選用Python語言對(duì)樹莓派GPIO口進(jìn)行編程。Python語言是一種面向?qū)ο蟮慕忉屝哉Z言。好在現(xiàn)在有中文版的教材
    Raspberry Pi Python 編程入門》所以學(xué)習(xí)起來還是蠻輕松地。最新版的樹莓派上已經(jīng)預(yù)裝了Python軟件以及驅(qū)動(dòng)GPIO的軟件包。我們直接進(jìn)行編程就行了(如果沒有軟件包請(qǐng)按《愛上Raspberry Pi》書中所提方法進(jìn)行安裝)。
         樹莓派為了減小成本,沒有I/O口的外設(shè),所以我們需要一些有I/O外設(shè)的擴(kuò)展板,在這里給大家推薦一款樹莓派原型擴(kuò)展板,它有專門為樹莓派設(shè)計(jì)的接口,它將樹莓派所有的GPIO接口全部引出,板上有一顆LED接到樹莓派GPIO25腳上,另有一顆按鍵接到GPIO24。板子的其余部分全部打上通孔可以讓玩家焊上自己的電路。

    樹莓派原型擴(kuò)展板,用于擴(kuò)展GPIO方便連接

    圖2 樹莓派原型擴(kuò)展板


         首先,給大家演示一下用Python指令驅(qū)動(dòng)GPIO。打開樹莓派終端輸入 sudo python 用管理員身份打開python程序。依次輸入以下指令:>>>GPIO.setmode(GPIO.BCM)
    >>>GPIO.setup(25,GPIO.OUT) #設(shè)置25管腳為輸出
    >>>GPIO.output(25,GPIO.HIGH) #25腳輸出高電平
    >>>GPIO.output(25,GPIO.LOW) #25腳輸出低電平
        以上的指令可以控制管腳的輸出,python程序還可以讀取引腳的輸入,這將在接下來的例子中體現(xiàn)出來。
        指令固然能控制I/O口,當(dāng)然我們最希望的還是能生成可執(zhí)行文件,樹莓派做到這一點(diǎn)自然也是毫無問題的。首先我們需要建立一個(gè)空文本,在文本中輸入以下程序(程序內(nèi)容如注釋所示)。
    import RPi.GPIO as GPIO #調(diào)入GPIO庫
    import time #調(diào)入時(shí)間庫
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(24,GPIO.IN) #將24腳設(shè)置為輸入
    #GPIO.setup(24,GPIO.IN,pull_up_down=GPIO.PUD_UP)
    #將24腳設(shè)置成有上拉模式,如果用不帶上拉電阻的按鍵可以使用此句。
    GPIO.setup(23,GPIO.OUT) #將23腳設(shè)置為輸出
    count=0
    while True: #循環(huán)執(zhí)行
        inputValue = GPIO.input(24)#讀取鍵值
        if(inputValue==0): #判斷鍵值
             count=count+1
        if(count%2==0):
             print("THE LED IS ON NOW") #終端輸出
        else:
             print("THE LED IS OFF NOW") #終端輸出
        time.sleep(0.3) #延時(shí)等待
        if(count%2==0): #根據(jù)count的值決定LED燈是否開閉
             GPIO.output(23,GPIO.HIGH)
        else:
             GPIO.output(23,GPIO.LOW)
        time.sleep(0.01) #延時(shí)等待留給系統(tǒng)空閑時(shí)間
      #注意:1、程序段的前的空格數(shù),Python程序用空格字符控制程序?qū)哟?,而不是C語言的“{}”。2、Python程序中的注釋符是“#”而不是“//”.
            然后按下面的電路圖搭建電路,這里我用的是樹莓派原型擴(kuò)展板自帶的面包板自己搭建的電路。如果不想自己搭建電路也可以使用原型擴(kuò)展板上的自帶的LED燈和按鍵。只需要根據(jù)程序所示用語句“GPIO.setup(channel,GPIO.IN,pull_up_down=GPIO.PUD_UP)”將該輸入口設(shè)置成上拉模式即可。

    樹莓派GPIO實(shí)驗(yàn)電路原理圖

    圖3 按鍵與LED電路原理圖

    樹莓派原型擴(kuò)展板連線實(shí)物圖

    圖4 插接好元器件的原型擴(kuò)展板

    二 實(shí)踐環(huán)節(jié)

     


         將文本保存命名為KEYLED.py文件。然后進(jìn)入樹莓派終端,輸入sudo python keyled.py ,運(yùn)行我們所寫的程序。我們可以看到當(dāng)按下按鍵時(shí),LED燈變亮,終端顯示THE LED IS ON NOW,當(dāng)按鍵再次按下時(shí),LED燈變滅,終端顯示THE LED IS OFF NOW。

    python運(yùn)行程序指令

    圖5 輸入程序運(yùn)行指令

     

    終端顯示出LED燈的工作狀態(tài)

    圖6 LED燈亮滅狀態(tài)顯示

        樹莓派的GPIO應(yīng)用起來雖不如Arduino簡單易用,不過稍加練習(xí)很快也能運(yùn)用自如,這樣Arduino的很多模塊在樹莓派GPIO上也同樣能夠玩轉(zhuǎn)起來。

     相關(guān)鏈接:

    樹莓派二代:http://m.lifestyle201.com/goods-427.html

    樹莓派原型擴(kuò)展板:http://m.lifestyle201.com/goods-491.html

    樹莓派顯示器:http://m.lifestyle201.com/goods-386.html

    愛上Raspberry Pi:http://m.lifestyle201.com/goods-410.html

    愛上Raspberry Pi套件:http://m.lifestyle201.com/goods-433.html

     

    • 用戶評(píng)價(jià)

    暫時(shí)還沒有任何用戶評(píng)論

    總計(jì) 0 個(gè)記錄,共 1 頁。 第一頁 上一頁 下一頁 最末頁
    用戶名: 匿名用戶
    E-mail:
    評(píng)價(jià)等級(jí):
    評(píng)論內(nèi)容:
    驗(yàn)證碼:
    captcha

    Hi,大家好,我是小奧!

    歡迎來到奧松機(jī)器人的世界!

    需要咨詢服務(wù)請(qǐng)點(diǎn)小奧哦!

    • 銷售咨詢: 銷售咨詢
    • 銷售咨詢: 銷售咨詢
    • 技術(shù)支持: 技術(shù)支持
    • 咨詢電話:
      0451-86628691
    Top