0018 樹莓派電腦控制第一個led燈亮起來

這節課開始,進入樹莓派硬件控制傳感器的世界,感受軟件和硬件結合帶來的無窮魅力。

硬件入手

根據后續課程的安排,需要入手的硬件零件如下:

面包板,杜邦線,led燈,蜂鳴器,溫濕度傳感器,單位數碼管,雙位數碼管

渠道推薦如下:

或者是這個:

以前面一個為例,進入之后,查找以下關鍵字和對應的型號:

面包板:

杜邦線:

選擇“20CM公對母”

led燈:

蜂鳴器:

可以買2個備用。

溫濕度傳感器:

單位數碼管:

雙位數碼管:

GPIO介紹

先來看一下樹莓派主板的一些對外的接口,這是反面的情況:

這是正面的情況:

重點關注上面有40根排針,這就是樹莓派用于控制外部傳感器的接口,稱之為GPIO

40根引腳如何進行編號呢,如果按照物理位置來編號,只要掌握一個規則就容易記?。?/p>

最靠近角上的那一根引腳為2號引腳。旁邊的就是1號引腳,具體請看上圖示意圖。

那么這40根引腳具體的用途和定義是什么呢,請看下面的圖:

這個圖是一個比較全面的一個定義,主要是因為對于這40根引腳有不同的編號規則來定義

雖然不同的規則叫的名字不一樣,但實際的用途是一致的

這里只學習一種編號規則,也就是物理位置編號,這樣更容易進行物理連接。

請看下面這張簡圖:

比如:1號引腳,是輸出1個3.3伏的電壓,也就是如果你拿一個數字萬用表去測量這根引腳的電壓,會一直測出來是3.3伏。

比如:2號引腳,是輸出1個5伏的電壓,也就是如果你拿一個數字萬用表去測量這根引腳的電壓,會一直測出來是5伏。

比如:6號引腳,是一個GND,也就是接地,如果測量電壓的話,就是0伏。

比如:11號引腳,是綠色圖標,旁邊寫著GPIO17,其實這個接口就是普通的接口,可以輸入也可以輸出,如果設置為輸出,則可以輸出高電壓或者低電壓。輸出高電壓就是3.3伏,輸出低電壓就是0伏??梢酝ㄟ^程序來控制。GPIO17是另外一種編號方式而已,這里我們可以忽略。

假如需要一個恒定的電壓輸出到某個電路,則可以選擇3.3v或者5v的相應接口。

假如需要一個變化的電壓輸出到某個電路,則可以選擇綠色的GPIO接口,例如11號,12號,13號,15號等等。

led燈電路原理

學過物理的話,應該可以看懂下面的最簡單的電路圖:

要讓led燈亮起來,需要在led燈的正極輸入一個正的電壓,led燈的負極接地,這樣led燈就可以亮起來了。

根據前面的GPIO接口的定義,選擇6號口GND連接到led燈的負極,然后選擇11號口連接到led燈的正極

這樣,通過程序控制11號口,輸出一個3.3伏的電壓,led燈就亮了,輸出一個0伏電壓,led燈就滅了。

硬件連接

在開始連接硬件電路之前,首先要做的事是將樹莓派電腦關機,并斷開電源。

因為如果樹莓派主板帶電的時候,進行插接電路可能會導致電子元器件的燒毀,所以一定要記住這個原則:

連接電路的時候主板必須斷電。

取出面包板,2根20cm的公對母杜邦線,1個led燈。

將杜邦線的母頭插到樹莓派主板的GPIO接口的6號口和11號口:

將杜邦線另外一頭的公頭插入面包板上:

將led燈的長腳插入11號口線的同一縱排,將led燈的短腳插入6號口線的同一縱排:

插好之后的樣子:

這樣插好之后,全部的電路就連接好了。

這里大家可以自行去網上搜索一下關于面包板的電路圖,看看為何這樣就可以把線和led燈連接起來了。

看看整體連接的效果:

然后,檢查一下電路的接口是否有錯誤,正確無誤之后就可以啟動樹莓派電腦的電源了:

程序編寫

電腦啟動之后,可以編寫程序了:

啟動文本編輯器,輸入以下代碼,文件保存為led.py

程序執行

保存文件之后,運行sudo python led.py看看led燈是否亮了3秒鐘之后熄滅。

如果燈不亮,則按照以下次序進行檢查判斷:

1.首先查看樹莓派主板上的引腳口的編號

是否是11號口,接到面包板上的是對著led燈的長腳

是否是6號口,接到面包板上的是對著led燈的短腳

2.如果接線沒有錯誤,則有可能是led燈壞了

可以采取換一個led燈試試看

或者將11號口的杜邦線的母頭拔出來,插入到1號口,看看led燈是否亮,如果亮了則說明燈和線沒有問題。

3.如果電路都沒有問題,則可能是程序錯誤

逐行檢查代碼,看看是否有遺漏或者錯誤。

4.如果以上都不能讓燈亮起來,那只能去qq群里直接提問了。

看看程序執行結果:

程序每行說明

import RPi.GPIO as GPIO

導入模塊RPI.GPIO,命名為別名為GPIO

如果只寫import RPi.GPIO也是可以的,但是后面用的地方就必須用RPi.GPIO.setmode(RPi.GPIO.BOARD)這樣寫齊全

用別名的方式可以簡化代碼

import time

導入time模塊

GPIO.setmode(GPIO.BOARD)

聲明GPIO使用物理編號方式,也就是11號口就是物理編號11號口

GPIO.setup(11,GPIO.OUT)

聲明11號口是用于輸出模式

為何6號口不用聲明呢,因為它是GND,不可能變化,也就不可能輸入和輸出

GPIO.output(11,True)

設置11號口為高電壓,也就是11號口變為3.3伏

這行代碼執行之后,11號口變為高電壓,那么根據電路原理,led燈就會亮起來

如果后面沒有代碼了,則led燈會一直亮下去,直到程序修改了輸出或者電腦接口斷電

time.sleep(3)

程序休眠3秒鐘

程序休眠期間,led燈會一直亮著

GPIO.output(11,False)

設置11號口為低電壓,也就是11號口變為0伏,和GND一樣

這行代碼執行之后,11號口變為低電壓,那么根據電路原理,led燈就會熄滅

GPIO.cleanup()

將所有的GPIO口狀態恢復為初始化,一般代碼結束都執行此代碼,方便后續代碼運行都是從初始狀態開始。

程序整體的功能很簡單:

導入必須的模塊

設置GPIO的編號模式

設置需要用到的GPIO接口的模式

控制GPIO口的電壓狀態

結合時間模塊運行出自己想要的結果

大家要根據以上基本的代碼以及說明,思考如何修改程序,改變運行功能

課后作業

1.將休眠時間修改為10秒

2.增加8根線和4個led燈,5個led燈依次亮3秒,循環10次結束

往期教程

因為教程是系列教程,前后關聯性非常強,請大家按照_|_微_|_信_|_公_|_眾_|_號_|_【零基礎學編程】的歷史消息發布時間先后次序進行閱讀。

Q_Q_群簡介

歡迎大家加入Q_Q_群 603559164 零基礎學編程,交流學習,共同進步。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容