上一節我們講了樹莓派可以通過輸入輸出(I/O)來與現實世界進行溝通。今天我們實際操作一下,通過樹莓派的GPIO來控制發光二極管,體驗計算機如何通過程序來控制實際的電路。
需要的材料
要完成本節的實驗,需要準備如下的電子原件:
下面我們來逐個介紹一f下這些原器件,已經知道的同學可以跳過。
發光二極管
是二極管的一種,二極管的主要特性是整流,既電流只能正向流過,反方向會被阻斷。發光二極管也叫LED,當電流正向流過時可以發光,有很多顏色可選,主要用途是標識電路的工作狀態,最常見的是各種電器電源指示燈,表示現在電器已經通電正在工作中。在電路中二極管的符號如下
電阻
顧名思義,電阻主要是阻擋電流通過,控制電路中電流的大小。用歐姆(符號是Ω)來表示電阻大小,今天我們使用的1K歐姆電阻可以幫助保護樹莓派,發光二極管正向電阻基本為0,如果沒有電阻保護,二極管發光時的電流過大,會燒毀樹莓派。電阻的符號有如下2種:
面包板
是用于實驗和設計電路的特別好的工具,它上面有很多小插孔,可以插入各種電子元件,非常適合進行電路調試和設計。
面包板上下標有+,-符號的是電源區,每行是相通的,用來連接外部的電源,通常用上面的+連接外部電源正極,下面的-連接電源負極。中間部分標有ABCD...的是元件區,ABCDE是豎著相通的,下面的FGHIJ也是豎著相通的。
跳線
跳線是用來連接不同元件的,有公對公,公對母,母對母三種。
如果不用面包板,用跳線直接連GPIO時,跳線的一端必須是母頭,以插到GPIO的引腳上,我們使用面包板和GPIO擴展,所以使用的公對公跳線。
樹莓派GPIO擴展組件
直接讓元器件直連GPIO雖然可行,但容易出現短路,連接不牢等問題,所以最好使用擴展組件+面包板的組合,這樣搭起電路來更方便。市場上的GPIO擴展組件比較多,我使用的是一個擴展電路板+擴展排線的方式。下圖中擴展電路板已經與排線連好了。
好,現在我們的全部元器件都準備好了。
現在我們按下面的電路把這些元器件連起來
引腳1是3.3V的電源,GND可以連接GPIO的引腳6或者14等(標識為GND的引腳都可以)。
這時給樹莓派通電開機,連接電路后可以看到二極管亮起來。這樣做的目的是確保電路連接正常,方便接下來的程序控制。
接下來我們把連接電源的跳線(上圖為紅色線)換到GPIO27(第12號引腳),LED燈熄滅了,因為GPIO默認為輸入,現在是低電壓,沒法讓燈亮起來。
控制LED的Python程序
現在讓我們開始編寫代碼來控制連接到GPIO27的LED電路吧。代碼如下:
import RPi.GPIO as GPIO #需要使用別人寫好的類庫
from time import sleep #需要使用別人寫好的類庫
GPIO.setmode(GPIO.BCM)
GPIO.setup(27,GPIO.OUT) #這2句把GPIO27設置為輸出模式
while True:
GPIO.output(27,True) #在GPIO輸出高電位1,此時LED亮
sleep(1) #等1秒
GPIO.output(27,False) #在GPIO輸出低電位0,此時LED滅
sleep(1) #等待1秒
用上面的程序,可以讓LED亮1秒暗1秒,直到程序退出。如果你連接的不是GPIO27,請把上面代碼的27換成你實際連接的GPIO編號。(你也可以嘗試修改sleep的時間,比如改為0.2, 3等來試一下不同的LED閃爍效果)
現在我們體會到了用程序和GPIO控制實際電路是怎么回事了,你可能對上面的Python代碼還不了解,下一講我們將對此進行詳細講解,同時換另一種更簡介的代碼來控制LED。
-
led
+關注
關注
242文章
23355瀏覽量
663175 -
計算機
+關注
關注
19文章
7536瀏覽量
88638 -
發光二極管
+關注
關注
13文章
1204瀏覽量
66507 -
GPIO
+關注
關注
16文章
1216瀏覽量
52377 -
樹莓派
+關注
關注
117文章
1710瀏覽量
105875
發布評論請先 登錄
相關推薦
教你用樹莓派的GPIO接口控制發光二極管
proteus仿真DAC0832控制發光二極管,但發光二極管不亮
發光二極管型號有哪些_發光二極管型號大全
發光二極管型號有哪些_發光二極管型號大全
發光二極管(LED),發光二極管(LED)是什么意思
發光二極管(LED),發光二極管(LED)的原理和作用是什么
有機發光二極管_什么是有機發光二極管
![有機<b class='flag-5'>發光二極管</b>_什么是有機<b class='flag-5'>發光二極管</b>](https://file1.elecfans.com//web2/M00/A6/36/wKgZomUMPE6AdGX6AAAMyTaVZbg433.jpg)
用VHDL控制發光二極管
發光二極管封裝是什么,關于發光二極管封裝的詳解
三極管作為開關控制發光二極管仿真分析(二)
![三<b class='flag-5'>極管</b>作為開關<b class='flag-5'>控制發光二極管</b>仿真分析(<b class='flag-5'>二</b>)](https://file.elecfans.com/web2/M00/8A/9D/poYBAGPBHV-AK7FtAAARA18WOwU704.jpg)
評論