搜尋此網誌

2020年3月7日 星期六

Raspberry Pi4 輕鬆實作系列 1 簡單紅綠燈

Pi4 輕鬆實作系列之簡單紅綠燈


在完成 Raspberry Pi4 的系統設定後,接下來就是來試看看控制版子上 GPIO 的方式了。
而第一個實驗要做什麼呢?只是要控制 GPIO high / Low 又要能實際看到變化的話,當然就是點燈了,這是最簡單並且最明顯能看出效果的實作了….

先回顧一下版子上 GPIO 的位置以及腳位的定義


這次打算使用 Python 來控制這些 GPIO,必竟 Python 真的是很方便使用的工具,並且有太多好用的模組,當然是要好好的來玩一玩了。

Raspberry 上,當然就是 gpiozero 這個 Python 模組了

安裝的方式非常簡單

我用的是 Python3, 所以只需要底下二步驟


pi@raspberrypi:~$ sudo apt-get update
pi@raspberrypi:~$ sudo apt-get install python3-gpiozero

接下來就可以在 python3 import gpiozero

此時,先來搞定硬體吧…..

LED 的控制算是最簡單的了,只要接上一顆 LED, 一顆電阻,二根線,就能利用高低電位來控制亮暗
底下是這次實作的線路

再來就是用編輯器來寫程式,我是在 Pi4 上用 vim 來編寫的,其實也可以直接用 python 來寫,不過做簡單實驗是可以直接用 python,但我一般還是比較喜歡用 vim 來寫編寫。


底下是原始碼

from gpiozero import LED    # 將 gpiozero package 裡的 LED 元件帶入
from time import sleep      # 將 time package 裡的 sleep 元件帶入

led_g0 = LED(2)             # 宣告 led_g0 使用 GPIO 2
led_g1 = LED(3)             # 宣告 led_g1 使用 GPIO 3
led_y0 = LED(4)             # 宣告 led_y0 使用 GPIO 4
led_y1 = LED(17)            # 宣告 led_y1 使用 GPIO 17
led_r0 = LED(27)            # 宣告 led_r0 使用 GPIO 27
led_r1 = LED(22)            # 宣告 led_r1 使用 GPIO 22

while True:                 # 建立一個一直執行的迴圈 (Line 11 ~ 33)
    led_g0.on()             # 將 led_g0 設定為高電位
    led_g1.on()             # 將 led_g1 設定為高電位
    sleep(3)                # 暫停3秒
    for i in range(5):      # 建立一個執行五次的迴圈 (Line 15 ~ 21)
        led_g0.on()         # 將 led_g0 設定為高電位
        led_g1.on()         # 將 led_g1 設定為高電位
        sleep(0.5)          # 暫停0.5秒
        led_g0.off()        # 將 led_g0 設定為低電位
        led_g1.off()        # 將 led_g1 設定為低電位
        sleep(0.5)          # 暫停0.5秒

    led_y0.on()             # 將 led_y0 設定為高電位
    led_y1.on()             # 將 led_y1 設定為高電位
    sleep(1)                # 暫停1秒
    led_y0.off()            # 將 led_y0 設定為低電位
    led_y1.off()            # 將 led_y1 設定為低電位

    led_r0.on()             # 將 led_r0 設定為高電位
    led_r1.on()             # 將 led_r1 設定為高電位
    sleep(3)                # 暫停1秒
    led_r0.off()            # 將 led_r0 設定為低電位
    led_r1.off()            # 將 led_r1 設定為低電位



將程式存檔後,就能直接用 python 來執行了






沒有留言:

張貼留言