RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)字輸入與輸出集成示例程序

麥辣雞腿堡 ? 來源:古月居 ? 作者:古月居 ? 2023-11-27 14:28 ? 次閱讀

學(xué)習(xí)了GPIO的輸入與輸出功能后,我們就可以做一些自動(dòng)化的功能了。

硬件接線

比如我們同時(shí)連接一個(gè)按鍵和LED燈,嘗試實(shí)現(xiàn)按鍵被按下,燈被點(diǎn)亮,松開,燈熄滅,這樣的功能。

運(yùn)行示例程序

我們通過這個(gè)例程來試一試效果如何?

$ sudo python3 button_led.py

圖片

我們來看一下具體的操作,同樣的,按照剛才的設(shè)置,將實(shí)物連接完成,然后連接到X3Pi,運(yùn)行剛才的程序。按下按鍵后,就可以看到LED被點(diǎn)亮了,松開之后,LED就熄滅了。

代碼解析

button_led.py

#!/usr/bin/env python3


import Hobot.GPIO as GPIO
import time


# 定義使用的GPIO通道:
# 36號(hào)作為輸出,可以點(diǎn)亮一個(gè)LED
# 38號(hào)作為輸入,可以接一個(gè)按鈕
led_pin = 36 # BOARD 編碼 36
but_pin = 38 # BOARD 編碼 38


# 禁用警告信息
GPIO.setwarnings(False)


def main():
    prev_value = None


    # Pin Setup:
    GPIO.setmode(GPIO.BOARD)  # BOARD pin-numbering scheme
    GPIO.setup(led_pin, GPIO.OUT)  # LED pin set as output
    GPIO.setup(but_pin, GPIO.IN)  # Button pin set as input


    # Initial state for LEDs:
    GPIO.output(led_pin, GPIO.LOW)
    print("Starting demo now! Press CTRL+C to exit")
    try:
        while True:
            curr_value = GPIO.input(but_pin)
            if curr_value != prev_value:
                GPIO.output(led_pin, curr_value)
                prev_value = curr_value
                print("Outputting {} to Pin {}".format(curr_value, led_pin))
            time.sleep(1)
    finally:
        GPIO.cleanup()  # cleanup all GPIO


if __name__ == '__main__':
    main()

基本的配置還是一樣的,引入基本的庫,然后設(shè)置為BOARD模式,然后初始化兩個(gè)管腳,一個(gè)用來讀取按鍵的通斷,一個(gè)用來控制LED的亮滅,之后只需要判斷按鍵的狀態(tài)來做出對(duì)應(yīng)的控制LED的動(dòng)作就可以了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23252

    瀏覽量

    660558
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3785

    瀏覽量

    81002
  • 數(shù)字輸出
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8923
  • 數(shù)字輸入
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    7831
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [原創(chuàng)]GDF圖形輸入示例程序

    GDF圖形輸入示例程序
    發(fā)表于 07-24 15:45

    ISD1700-51單片機(jī)C語言示例程序

    ISD1700-51單片機(jī)C語言示例程序
    發(fā)表于 09-19 21:48 ?270次下載

    ARM_KIT_示例程序

    ARM KIT 示例程序_2008,有需要的下來看看。
    發(fā)表于 02-18 15:11 ?19次下載

    ISD1700-51單片機(jī)C語言示例程序

    ISD1700-51單片機(jī)C語言示例程序。
    發(fā)表于 03-22 16:39 ?11次下載

    鎖相環(huán)芯片ADF4157示例程序下載

    鎖相環(huán)芯片ADF4157示例程序
    發(fā)表于 04-28 10:36 ?7次下載
    鎖相環(huán)芯片ADF4157<b class='flag-5'>示例程序</b>下載

    DPDK安裝教程和DPDK程序運(yùn)行收發(fā)包示例程序及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是DPDK安裝教程和DPDK程序運(yùn)行收發(fā)包示例程序及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述。
    發(fā)表于 09-03 08:00 ?0次下載
    DPDK安裝教程和DPDK<b class='flag-5'>程序</b>運(yùn)行收發(fā)包<b class='flag-5'>示例程序</b>及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述

    Python使用示例程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Python使用示例程序和工程文件免費(fèi)下載。
    發(fā)表于 06-15 08:00 ?6次下載
    Python使用<b class='flag-5'>示例程序</b>和工程文件免費(fèi)下載

    PIC12F508/509深入教程-示例程序

    PIC12F508/509深入教程-示例程序
    發(fā)表于 11-16 18:06 ?29次下載
    PIC12F508/509深入教程-<b class='flag-5'>示例程序</b>

    《我和 LabVIEW》示例程序分享

    《我和 LabVIEW》示例程序分享
    發(fā)表于 12-07 17:30 ?18次下載

    STM32 之 標(biāo)準(zhǔn)外設(shè)版USB驅(qū)動(dòng)庫詳解(架構(gòu)+文件+函數(shù)+使用說明+示例程序

    STM32 之 標(biāo)準(zhǔn)外設(shè)版USB驅(qū)動(dòng)庫詳解(架構(gòu)+文件+函數(shù)+使用說明+示例程序
    發(fā)表于 12-08 20:36 ?0次下載
    STM32 之 標(biāo)準(zhǔn)外設(shè)版USB驅(qū)動(dòng)庫詳解(架構(gòu)+文件+函數(shù)+使用說明+<b class='flag-5'>示例程序</b>)

    電子羅盤磁場(chǎng)傳感器模塊資料(含產(chǎn)品說明書、示例程序

    電子羅盤磁場(chǎng)傳感器模塊資料(含產(chǎn)品說明書、示例程序
    發(fā)表于 01-19 09:41 ?17次下載

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)
    發(fā)表于 06-28 19:15 ?0次下載
    介紹 I/O 腳本<b class='flag-5'>示例程序</b>(740 系列的模擬器調(diào)試器)

    ADS1256+STM32F103RCTx示例程序

    的24位模擬-數(shù)字轉(zhuǎn)換器,而STM32F103RCTx是一種基于ARM Cortex-M3內(nèi)核的微控制器,具有高性能和低功耗的特點(diǎn)。該示例程序提供了完整的源代碼,方便開發(fā)者學(xué)習(xí)和使用,同時(shí)也可作為基礎(chǔ)參考代碼用于實(shí)際項(xiàng)目開發(fā)。
    發(fā)表于 09-07 09:48 ?16次下載

    CP Software Cluster示例程序介紹

    AUTOSAR組織展示了基于ST Stellar系列單片機(jī)實(shí)現(xiàn)的CP Software Cluster示例程序,如圖3所示。 圖3 CP Software Cluster示例程序總覽 示例程序將軟件
    的頭像 發(fā)表于 09-13 17:13 ?980次閱讀
    CP Software Cluster<b class='flag-5'>示例程序</b>介紹

    RX722M的示例程序說明

    電子發(fā)燒友網(wǎng)站提供《RX722M的示例程序說明.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 10:57 ?1次下載
    RX722M的<b class='flag-5'>示例程序</b>說明
    RM新时代网站-首页