樹莓派系列應用:點亮LED燈及流水燈實驗

樹莓派是一臺微型計算機,可以用來學習計算機知識,熟悉Linux系統操作。也可以作為單片機來學習各種電子元器件的應用。

用樹莓派點亮一個LED燈是非常簡單的事情,但意義卻非常重大。首次能用樹莓派去控制LED燈,領會樹莓派神奇的世界。

有關GPIO的介紹,可以先關注我,再查看我的文章,其中有一篇就是介紹GPIO的。這一篇文章主要介紹用樹莓派點亮LED燈及控制流水燈。

準備

  1. 樹莓派主機一臺
  2. 樹莓派GPIO擴展板
  3. 發光LED燈
  4. 電阻
  5. 杜邦線
  6. 麵包板

點亮LED

首先要用一個1kΩ的電阻串聯到發光LED的正極上,再把電阻的另一端接到GPIO18接口上,把發光LED燈的負極接到GND上。接線圖如下:

樹莓派系列應用:點亮LED燈及流水燈實驗

接完線後,就可以寫代碼:

#!/usr/bin/env python
import RPi.GPIO as GPIO # 引入GPIO模塊
import time # 引入time模塊
GPIO.setmode(GPIO.BCM) # 使用BCM編號方式
GPIO.setup(18, GPIO.OUT) # 將GPIO18設置為輸出模式
if __name__ == '__main__':
try:
while True: # 無限循環
GPIO.output(18, True) # 將GPIO18設置為高電平,點亮LED
time.sleep(1) # 等待1秒鐘
GPIO.output(18, False) # 將GPIO18設置為低電平,熄滅LED
time.sleep(1) # 等待1秒鐘
finally:
GPIO.cleanup() # 清理釋放GPIO資源,將GPIO復位

流水燈

首先還是佈線,這一次用5個LED燈,每個LED燈都串聯一個1kΩ的電阻,如下圖:

樹莓派系列應用:點亮LED燈及流水燈實驗

編寫代碼:

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
# BCM GPIO編號
pins = [5, 6, 13, 19, 26]
def setup():
# 採用BCM編號
GPIO.setmode(GPIO.BCM)
# 設置所有GPIO為輸出狀態,且輸出低電平
for pin in pins:
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
def loop():
while True:
# 循環點亮
for pin in pins:
GPIO.output(pin, GPIO.HIGH)
time.sleep(0.1)
GPIO.output(pin, GPIO.LOW)
time.sleep(0.1)
def destroy():
for pin in pins:
GPIO.output(pin, GPIO.LOW)
GPIO.setup(pin, GPIO.IN)
if __name__ == '__main__':
# 初始化GPIO
setup()
try:
loop()
except KeyboardInterrupt:
# 恢復GPIO口狀態
destroy()
GPIO.cleanup()

最終效果如下:


分享到:


相關文章: