在完成 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 來執行了
沒有留言:
張貼留言