RGB(フルカラー)LEDによる色の変更

ラズベリーパイプログラミング入門の1章で行ったことを説明します。先ず、3つのLEDをRaspberryPiボードに接続しました。その後、これらのLEDを点滅させました。次に、Raspberry PiGPIO入力を読み取りました。これらの基礎的なステップは、ラズベリーパイを学習するのに役立ちます。この記事は、1章の最後に学習する、RGBLEDを介していくつかの色を表示する方法を説明します。


第1章の最後は、基本的なLEDプログラミングになります。それは、RGBLEDを使用することです。このLEDは単色の光を発することができます。これは、RGBと呼ばれる赤、緑、青の3つの原色のいずれかになります。

以下の ハードウェアコンポーネントが必要です:

RGBLED接続を次の図に示します。

RGBLED接続

完全なハードウェア配線を次の図に示します。

  • RGBLEDピン1はRaspberryPiGPIO22に接続されています
  • RGBLEDピン2はRaspberryPi VCC GNDに接続されています
  • RGBLEDピン3はRaspberryPiGPIO23に接続されています
  • RGBLEDピン4はRaspberryPiGPIO12に接続されています
回路

このセクションでは、RGB LEDを介して赤、緑、青の色を表示する簡単なPythonプログラムを作成します。

プログラム出力は、RGBLEDが毎秒特定の色を表示することを確認する必要があります。現在のRGBLEDにある色を示すメッセージをプリントステイトメントに書き込みます。

メインプログラムdisplay()では、下記のコードに示すように、赤、緑、青の値を渡すことにより、関数を介して色を表示します。

import RPi.GPIO as GPIO
import time
import sys

GPIO22 = 22  # red
GPIO23 = 23  # green
GPIO12 = 12  # blue

GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO22, GPIO.OUT)
GPIO.setup(GPIO23, GPIO.OUT)
GPIO.setup(GPIO12, GPIO.OUT)

# define GPIO mode
LOW = 0
HIGH = 1

# make all LEDs off
def clear_all():
    GPIO.output(GPIO22, GPIO.HIGH)
    GPIO.output(GPIO23, GPIO.HIGH)
    GPIO.output(GPIO12, GPIO.HIGH)

def display(red, green, blue):
    GPIO.output(GPIO22, red)
    GPIO.output(GPIO23, green)
    GPIO.output(GPIO12, blue)

try:
    while 1:
        clear_all()
        print("red")
        display(1, 0, 0)
        time.sleep(2)
        clear_all()
        print("green")
        display(0, 0, 1)
        time.sleep(2)
        clear_all()
        print("blue")
        display(0, 1, 0)
        time.sleep(2)
        clear_all()
        print("white")
        display(0, 0, 0)
        time.sleep(2)
        clear_all()
        print("110")
        display(1, 1, 0)
        time.sleep(2)
        clear_all()
        print("101")
        display(1, 0, 1)
        time.sleep(2)
        clear_all()
        print("011")
        display(0, 1, 1)
        time.sleep(2)

except KeyboardInterrupt:
    clear_all()

print("done")
基本的なLEDプログラミングデモ動画

こちらのサイトは、初心者の方で購入にお悩み中の方へ参考になりますのでどうぞ!

https://sozorablog.com/raspberrypi-erabikata/

アッセンブリーをやっていたと思われる方がラズベリーパイを紹介されています。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: