• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

極客大講堂:手把手教你用樹莓派控制紅綠燈

2016/05/26
18
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

21.png

共2個文件

涉及硬件樹莓派以及相關(guān)套件、LED紅綠燈

涉及知識:電路實驗板、CanaKit

當準備好以上,我們就可以開始啦。使用樹莓派進行LED原型控制。

首先要明白的是,接入所有的電線、電阻器以及工具包附帶的指示燈需要謹慎操作,畢竟如果你設(shè)置操作不當將有可能損壞你的硬件。

為了簡化與樹莓派和LED的接觸,也為了方便編寫控制代碼,我決定編寫一個叫做Pi交通燈的小玩意,這是用樹莓派控制LED的第一步。

有了這個“紅綠燈”之后,你要做的就只是把這個小裝置直接插到樹莓派的GPIO接口上。你不需要擔心連接到線路板的導(dǎo)線是否正確,也不需要費心思尋找與LED匹配的電阻,更不用搞清楚線路板上哪里是正極哪里是負極。

在默認設(shè)置下,Pi交通燈是被標記在GPIO第10、9、11和GND這幾個接口上的,這幾個接口在Pi設(shè)置上都是緊挨著的。但是在后來版本的樹莓派中,這幾個接口都是在GPIO的中間位置,這就有點不好辦了(萬一視力不好或是光纖太暗,那就很難看清了)。我一般會把我自己的Pi交通燈插在13、19、26號GPIO接口和GND接口上,這樣操作起來會容易得多。

在插好這些接口之后,你就可以打開樹莓派,然后編寫一些代碼來控制LED了。在這篇文章中,我會寫一些示例。第一個例子,我是用了Python來讀取樹莓派的CPU使用率,通過RPi.GPIO庫來顯示紅、黃、綠三種LED燈。

原理

如果CPU負載低于50%,會顯示綠燈;在50%到90%之間,顯示黃燈;高于90%就會顯示紅燈。也設(shè)計了異常處理程序,只要按下Ctrl+C就可以退出程序,這樣所有的燈都不會亮。這樣設(shè)計的原因和意圖只有一個,那就是通過這個交通燈提醒你樹莓派對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)

第二個例子相比第一個而言簡單很多,在某種程度上也有趣很多,因為我使用了Scratch來控制LED。它是一種免費的visual程序設(shè)計語言,允許程序員用它來創(chuàng)建互動游戲、故事和動畫。它最初由麻省理工學(xué)院開發(fā),作為一種面向兒童的編程概念,現(xiàn)在已經(jīng)取得了巨大成功。

為了使得Scratch與樹莓派的GPIO接口建立聯(lián)系,你首先要做的是就是打開這個程序,進入編輯界面,選擇啟動GPIO服務(wù)器。然后你就可以使用廣播塊來分辨你想要使用的GPIO接口了。在上面的截圖中,這兩個廣播塊分別指向config19out和gpio19on。而GPIO 19指向的就是紅色LED燈。

最后,如果你不擅長操作這些電子設(shè)備,我希望這篇關(guān)于Pi交通燈的簡介可以讓你對樹莓派更加感興趣。如果有人想要學(xué)習怎樣編寫代碼,我希望使用Scratch可以讓事情變得更加有趣,就像用它控制LED燈那樣。

  • 21.png
    下載
    描述:暫無
  • 代碼.txt
    下載
    描述:源碼
樹莓派

樹莓派

Raspberry Pi Ltd致力于讓全世界的用戶和企業(yè)都能暢享計算的便利。Raspberry Pi產(chǎn)品成本低、品質(zhì)高、結(jié)構(gòu)緊湊、效率高,可用于很多地方:從家用計算到工廠控制、從復(fù)古游戲到嵌入式應(yīng)用,從教育到企業(yè)。自2012年出售第一款產(chǎn)品以來,Raspberry Pi已成為英國備受歡迎的計算機公司。

Raspberry Pi Ltd致力于讓全世界的用戶和企業(yè)都能暢享計算的便利。Raspberry Pi產(chǎn)品成本低、品質(zhì)高、結(jié)構(gòu)緊湊、效率高,可用于很多地方:從家用計算到工廠控制、從復(fù)古游戲到嵌入式應(yīng)用,從教育到企業(yè)。自2012年出售第一款產(chǎn)品以來,Raspberry Pi已成為英國備受歡迎的計算機公司。收起

查看更多

相關(guān)推薦