Linux

樹莓派 Raspberry Pi 使用 Scratch 控制 GPIO 連接的 LED 燈教學與範例

介紹如何在樹莓派(Raspberry Pi)中使用 Scratch 控制 GPIO,點亮與關閉連接的 LED 燈。

樹莓派的 GPIO 可以用來連接各種電子設備,製作出各種控制應用,最簡單的應用就是連接並控制 LED 燈。

這裡我們以 Scratch 3 來示範如何控制 LED 燈的開啟與關閉,這個應用非常適合讓小朋友學習入門的程式設計與自動控制。

安裝 Scratch 3

在安裝好基本的 Raspberry Pi OS 之後,可以透過 Recommended Software 來安裝各種版本的 Scratch,這裡我們以 Scratch 3 來作為示範。

安裝 Scratch

樹莓派 GPIO 排針輸出腳位

若要查詢樹莓派 GPIO 排針輸出腳位,可以開啟終端機並執行 pinout 指令:

# 查詢樹莓派 GPIO 排針輸出腳位
pinout

執行此令之後,會自動偵測樹莓派的版本,並列出所有 GPIO 排針輸出腳位的配置圖。

樹莓派 Raspberry Pi GPIO 排針輸出腳位

Scratch 3 與 Raspberry Pi GPIO 擴充功能

打開 Scratch 3,點選左下角的擴充功能。

Scratch 3 視窗

在 Scratch 3 的擴充功能中,選擇「Raspberry Pi GPIO」。

Scratch 選擇擴充功能

啟用「Raspberry Pi GPIO」擴充功能之後,就可以將裡面的模組加入程式中、控制樹莓派的 GPIO 了。

Scratch Raspberry Pi GPIO 擴充功能

控制 GPIO 連接的 LED 燈

參考上面的樹莓派 GPIO 排針輸出腳位圖,選擇要使用的 GPIO 腳位,將 LED 燈接上去。

連接樹莓派 GPIO 與 LED 燈

LED 燈的兩根針腳會有一長一短,長的那一根是正極,正極連接自己選擇的 GPIO 腳位(這裡我選擇 GPIO2),負極則連接任意的 GND 腳位。

樹莓派 GPIO 針腳

當 GPIO 處於 high 的狀態時電壓是 3V3,不同的 LED 燈可能會有不同的工作電壓,所以要自己計算一下 LED 燈要串接多大的限流電阻,通常是建議至少加上一個低歐姆值(例如 100 Ω)的電阻以防萬一。

LED 燈與限流電阻

這是單一顆 LED 燈的接線圖。

接線圖

若要使用 Scratch Raspberry Pi GPIO 擴充功能來控制連接 GPIO 的 LED 燈,可以使用這一個 GPIO 輸出的模組,它可以讓我們將指定的 GPIO 腳位設定為 low(0V)或 high(3V3),例如將 GPIO2 的腳位設定為 high 就可以這樣寫:

Scratch Raspberry Pi GPIO 擴充功能

有了這個 GPIO 輸出模組,就可以搭配其他的 Scratch 程式做出各種 LED 燈的應用了。

在製作各種不同的應用時,可以搭配不同顏色的 LED 燈。

各種 LED 燈

控制兩顆 LED 燈

若要放兩顆 LED 燈,讓它們交互發亮,可以將兩顆 LED 燈接在不同的 GPIO 腳位(這裡使用 GPIO2 與 GPIO3),然後搭配類似這樣的 Scratch 程式。

LED 燈與限流電阻

這是同時接上紅色與綠色兩顆 LED 燈的接線圖。

紅色與綠色兩顆 LED 燈接線圖

這是控制兩顆 LED 燈交互發亮的 Scratch 程式。

Scratch Raspberry Pi GPIO 擴充功能

控制三顆 LED 燈

若將紅色、黃色與綠色三顆 LED 燈組合起來,就可以製作成紅綠燈了。

LED 燈與限流電阻

這是同時接上紅色、黃色與綠色 LED 燈的接線圖。

紅色、黃色與綠色 LED 燈接線圖

這是控制三顆 LED 燈的 Scratch 程式。

Scratch Raspberry Pi GPIO 擴充功能

參考資料:Raspberry Pi

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago