0%

Raspberry Pi のクリスマス ツリー

GPIO Xmas Tree: http://www.pocketmoneytronics.co.uk/?page_id=491

GPIO Xmas Tree
出典: GPIO Xmas Tree | pocketmoneytronics

GPIO Xmas Tree の LED を点滅させるサンプル。

スクリプトを実行すると 0.5 秒間隔でランダムに LED が点滅して、Ctrl-C でスクリプトを終了する。

GPIO Xmas Tree の接続

LED が外側を向くように、GPIO Xmas Tree をピン番号 29 (BCM5) ~ 39 (GND) に接続する。

スクリプト

tree.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/python
# -*- coding: utf-8 -*-

import random
import RPi.GPIO as GPIO
import time

BOTTOM_LEFT = 26
BOTTOM_RIGHT = 5
MIDDLE_LEFT = 13
MIDDLE_RIGHT = 19
TOP = 6

# GPIO の設定
GPIO.setmode(GPIO.BCM)
GPIO.setup(BOTTOM_LEFT, GPIO.OUT)
GPIO.setup(BOTTOM_RIGHT, GPIO.OUT)
GPIO.setup(MIDDLE_LEFT, GPIO.OUT)
GPIO.setup(MIDDLE_RIGHT, GPIO.OUT)
GPIO.setup(TOP, GPIO.OUT)

try:
while True:
# ランダムに LED を点灯する
GPIO.output(BOTTOM_LEFT, random.randint(0, 1))
GPIO.output(BOTTOM_RIGHT, random.randint(0, 1))
GPIO.output(MIDDLE_LEFT, random.randint(0, 1))
GPIO.output(MIDDLE_RIGHT, random.randint(0, 1))
GPIO.output(TOP, random.randint(0, 1))

time.sleep(0.5)

# LED を消灯する
GPIO.output(BOTTOM_LEFT, GPIO.LOW)
GPIO.output(BOTTOM_RIGHT, GPIO.LOW)
GPIO.output(MIDDLE_LEFT, GPIO.LOW)
GPIO.output(MIDDLE_RIGHT, GPIO.LOW)
GPIO.output(TOP, GPIO.LOW)

time.sleep(0.5)
except KeyboardInterrupt:
# Ctrl-C
GPIO.cleanup()

スクリプトの実行

1
2
$ chmod u+x tree.py # 実行権限を付与
$ ./tree.py # 実行