涉及知識(shí):電路實(shí)驗(yàn)板、CanaKit
當(dāng)準(zhǔn)備好以上,我們就可以開始啦。使用樹莓派進(jìn)行LED原型控制。
首先要明白的是,接入所有的電線、電阻器以及工具包附帶的指示燈需要謹(jǐn)慎操作,畢竟如果你設(shè)置操作不當(dāng)將有可能損壞你的硬件。
為了簡化與樹莓派和LED的接觸,也為了方便編寫控制代碼,我決定編寫一個(gè)叫做Pi交通燈的小玩意,這是用樹莓派控制LED的第一步。
有了這個(gè)“紅綠燈”之后,你要做的就只是把這個(gè)小裝置直接插到樹莓派的GPIO接口上。你不需要擔(dān)心連接到線路板的導(dǎo)線是否正確,也不需要費(fèi)心思尋找與LED匹配的電阻,更不用搞清楚線路板上哪里是正極哪里是負(fù)極。
在默認(rèn)設(shè)置下,Pi交通燈是被標(biāo)記在GPIO第10、9、11和GND這幾個(gè)接口上的,這幾個(gè)接口在Pi設(shè)置上都是緊挨著的。但是在后來版本的樹莓派中,這幾個(gè)接口都是在GPIO的中間位置,這就有點(diǎn)不好辦了(萬一視力不好或是光纖太暗,那就很難看清了)。我一般會(huì)把我自己的Pi交通燈插在13、19、26號(hào)GPIO接口和GND接口上,這樣操作起來會(huì)容易得多。
在插好這些接口之后,你就可以打開樹莓派,然后編寫一些代碼來控制LED了。在這篇文章中,我會(huì)寫一些示例。第一個(gè)例子,我是用了Python來讀取樹莓派的CPU使用率,通過RPi.GPIO庫來顯示紅、黃、綠三種LED燈。
原理
如果CPU負(fù)載低于50%,會(huì)顯示綠燈;在50%到90%之間,顯示黃燈;高于90%就會(huì)顯示紅燈。也設(shè)計(jì)了異常處理程序,只要按下Ctrl+C就可以退出程序,這樣所有的燈都不會(huì)亮。這樣設(shè)計(jì)的原因和意圖只有一個(gè),那就是通過這個(gè)交通燈提醒你樹莓派對(duì)CPU的使用率。
#!/usr/bin/env python
# to use with Pi Traffic Light
import RPi.GPIO as GPIO
import psutil
GREEN = 26
YELLOW = 13
RED = 19
# Pin Setup:
GPIO.setmode(GPIO.BCM) # Broadcom pin-numbering scheme.
GPIO.setwarnings(False)
GPIO.setup(GREEN, GPIO.OUT)
GPIO.setup(YELLOW, GPIO.OUT)
GPIO.setup(RED, GPIO.OUT)
try:
while (1):
cpu_pc = psutil.cpu_percent(interval=2)
print 'CPU: %d%%' % (cpu_pc)
if cpu_pc <= 50:
GPIO.output(RED, False)
GPIO.output(YELLOW, False)
GPIO.output(GREEN, True)
if 50 < cpu_pc < 90:
GPIO.output(GREEN, False)
GPIO.output(RED, False)
GPIO.output(YELLOW, True)
if cpu_pc >=90 :
GPIO.output(GREEN, False)
GPIO.output(YELLOW, False)
GPIO.output(RED, True)
except KeyboardInterrupt:
print "Good bye"
GPIO.output(GREEN, False)
GPIO.output(YELLOW, False)
GPIO.output(RED, False)
GPIO.output(RED, False) GPIO.output(YELLOW, True) if cpu_pc >=90 : GPIO.output(GREEN, False) GPIO.output(YELLOW, False) GPIO.output(RED, True) except KeyboardInterrupt: print "Good bye" GPIO.output(GREEN, False) GPIO.output(YELLOW, False) GPIO.output(RED, False)
第二個(gè)例子相比第一個(gè)而言簡單很多,在某種程度上也有趣很多,因?yàn)槲沂褂昧薙cratch來控制LED。它是一種免費(fèi)的visual程序設(shè)計(jì)語言,允許程序員用它來創(chuàng)建互動(dòng)游戲、故事和動(dòng)畫。它最初由麻省理工學(xué)院開發(fā),作為一種面向兒童的編程概念,現(xiàn)在已經(jīng)取得了巨大成功。
為了使得Scratch與樹莓派的GPIO接口建立聯(lián)系,你首先要做的是就是打開這個(gè)程序,進(jìn)入編輯界面,選擇啟動(dòng)GPIO服務(wù)器。然后你就可以使用廣播塊來分辨你想要使用的GPIO接口了。在上面的截圖中,這兩個(gè)廣播塊分別指向config19out和gpio19on。而GPIO 19指向的就是紅色LED燈。
最后,如果你不擅長操作這些電子設(shè)備,我希望這篇關(guān)于Pi交通燈的簡介可以讓你對(duì)樹莓派更加感興趣。如果有人想要學(xué)習(xí)怎樣編寫代碼,我希望使用Scratch可以讓事情變得更加有趣,就像用它控制LED燈那樣。