樹(shù)莓派gpio有什么用,樹(shù)莓派gpio編程
樹(shù)莓派,(英語(yǔ):Raspberry Pi,簡(jiǎn)寫(xiě)為RPi,別名為RasPi / RPI)是為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì),只有信用卡大小的微型電腦,其系統(tǒng)基于Linux。隨著Windows 10 IoT的發(fā)布,用戶(hù)可以用上運(yùn)行Windows的樹(shù)莓派。
樹(shù)莓派自問(wèn)世以來(lái),受眾多計(jì)算機(jī)發(fā)燒友和創(chuàng)客的追捧,曾經(jīng)一“派”難求。別看其外表“嬌小”,內(nèi)“芯”卻很強(qiáng)大,視頻、音頻等功能通通皆有,可謂是“麻雀雖小,五臟俱全”。
樹(shù)莓派由注冊(cè)于英國(guó)的“Raspberry Pi 慈善基金會(huì)”開(kāi)發(fā),埃本·阿普頓(Eben Upton)為項(xiàng)目帶頭人。2012年3月,英國(guó)劍橋大學(xué)的埃本·阿普頓正式發(fā)售世界上最小的臺(tái)式機(jī),又稱(chēng)卡片式電腦,外形只有信用卡大小,卻具有電腦的所有基本功能,這就是Raspberry Pi電腦板,中文譯名"樹(shù)莓派"。這一基金會(huì)以提升學(xué)校計(jì)算機(jī)科學(xué)及相關(guān)學(xué)科的教育,讓計(jì)算機(jī)變得有趣為宗旨?;饡?huì)期望這 一款電腦無(wú)論是在發(fā)展中國(guó)家還是在發(fā)達(dá)國(guó)家,會(huì)有更多的其它應(yīng)用不斷被開(kāi)發(fā)出來(lái),并應(yīng)用到更多領(lǐng)域。在2006年樹(shù)莓派早期概念是基于Atmel的 ATmega644單片機(jī),首批上市的10000“臺(tái)”樹(shù)莓派的“板子”,由中國(guó)臺(tái)灣和大陸廠家制造。
它是一款基于ARM的微型電腦主板,以SD/MicroSD卡為內(nèi)存硬盤(pán),卡片主板周?chē)?/2/4個(gè)USB接口和一個(gè)10/100 以太網(wǎng)接口(A型沒(méi)有網(wǎng)口),可連接鍵盤(pán)、鼠標(biāo)和網(wǎng)線,同時(shí)擁有視頻模擬信號(hào)的電視輸出接口和HDMI高清視頻輸出接口,以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC的基本功能只需接通電視機(jī)和鍵盤(pán),就能執(zhí)行如電子表格、文字處理、玩游戲、播放高清視頻等諸多功能。 Raspberry Pi B款只提供電腦板,無(wú)內(nèi)存、電源、鍵盤(pán)、機(jī)箱或連線。
樹(shù)莓派的開(kāi)發(fā)功能強(qiáng)大,提供了一組用來(lái)輸出與輸入用的腳針,稱(chēng)為「Gereral-Purpose Input/Output、GPIO」,樹(shù)莓派3B+有40個(gè)GPIO腳針。GPIO引腳,可以通過(guò)它們輸出高低電平或者通過(guò)它們讀入引腳的狀態(tài)。GPIO是個(gè)比較重要的概念,用戶(hù)可以通過(guò)GPIO口和硬件進(jìn)行數(shù)據(jù)交互(如UART),控制硬件工作(如LED、蜂鳴器等),讀取硬件的工作狀態(tài)信號(hào)(如中斷信號(hào))等。GPIO口的使用非常廣泛。掌握了GPIO,差不多相當(dāng)于掌握了操作硬件的能力。
GPIO(General Purpose I/O Ports)意思為通用輸入/輸出端口,通俗地說(shuō),就是一些引腳,可以通過(guò)它們輸出高低電平或者通過(guò)它們讀入引腳的狀態(tài)-是高電平或是低電平。GPIO是個(gè)比較重要的概念,用戶(hù)可以通過(guò)GPIO口和硬件進(jìn)行數(shù)據(jù)交互(如UART),控制硬件工作(如LED、蜂鳴器等),讀取硬件的工作狀態(tài)信號(hào)(如中斷信號(hào))等。GPIO口的使用非常廣泛。掌握了GPIO,差不多相當(dāng)于掌握了操作硬件的能力。
【開(kāi)發(fā)語(yǔ)言】——python
【簡(jiǎn)單介紹】——該庫(kù)更確切的名稱(chēng)為raspberry-gpio-python,樹(shù)莓派官方資料中推薦且容易上手。python GPIO是一個(gè)小型的python庫(kù),可以幫助用戶(hù)完成raspberry相關(guān)IO口操作。但是python GPIO庫(kù)還沒(méi)有支持SPI、I2C或者1-wire等總線接口。除了python GPIO之外,還有眾多的python擴(kuò)展庫(kù)(例如webiopi),毫無(wú)疑問(wèn)的說(shuō)python非常適合樹(shù)莓派,樹(shù)莓派也非常適合python。
樹(shù)莓派上可以通過(guò)下面幾步實(shí)現(xiàn)對(duì) gpio 上編程實(shí)現(xiàn) PWM:安裝 RPi.GPIO 庫(kù):使用命令 pip install RPi.GPIO 安裝 RPi.GPIO 庫(kù)。引入 RPi.GPIO 庫(kù):在程序中引入 RPi.GPIO 庫(kù)。設(shè)置 gpio 模式:使用命令 GPIO.setmode(GPIO.BOARD) 設(shè)置 gpio 模式為物理編號(hào)模式。設(shè)置 gpio 輸出模式:使用命令 GPIO.setup(pin,GPIO.OUT) 設(shè)置 gpio 輸出模式,其中 pin 為 gpio 編號(hào)。
40個(gè)PIN中,有固定輸出的5V(2、4號(hào)PIN)、3.3V(1、17號(hào)PIN)和地線(Ground,6、9、14、20、25、30、34、39)。如果一個(gè)電路兩端接在,5V和地線之間,該電路就會(huì)獲得5V的電壓輸入。27和28號(hào)PIN標(biāo)著ID_SD和ID_SC。它們是兩個(gè)特殊的PIN。它們屬于ID EEPROM (Electrically Erasable Programmable Read-Only Memory) 接口,用于和拓展樹(shù)莓派功能的附加電路板通信。其他的PIN大多編程GPIOX的編號(hào),如GPIO14。樹(shù)莓派的操作系統(tǒng)中,會(huì)用GPIO的編號(hào)14來(lái)指代這個(gè)PIN,而不是位置編號(hào)的8。有一些PIN除了GPIO功能外,還提供了高級(jí)端口功能。比如說(shuō),GPIO14和GPIO15就同時(shí)可以充當(dāng)UART端口。此外,GPIO上還能找到I2C和SPI端口。