ここではべゼリーをLEDで光らせる方法を説明します。
準備するもの
・LED (直径5mmの砲弾型)
・ジャンパーケーブル
・ブレッドボード
・抵抗(470Ω)
接続
・LEDの2本の脚は長さが異なりますが、長いほうをプラス、短いほうをマイナスに接続します。逆だと光りません。
・ラズパイGPIOの下段の左から7番目(GPIO 24)にLEDの長いほうの足(アノード)、その真上のPINに短いほうの足(カソード)を接続します。LEDの前でも後でもよいので、間に抵抗をはさみます。
・本当はLEDの種類によって適切な抵抗値の抵抗を選ぶべきなのですが、470Ωの抵抗であれば、だいたいどんなLEDでも光らせることができます。
サンプルプログラム sample_output1.py
機能
・LEDを1つ1秒おきに点滅させます。
実行方法
1 2 |
$ cd ~/bezelie/edgar $ python sample_output1.py |
・止めたいときは、CTRL+C を押してください。
口を光らせてみる
・カメラの下に、下向きにLEDを刺すことで、口を光らせることができます。
額を光らせてみる
・額や顔を光らせたい場合は、カメラの代わりにLEDボードを刺します。
体を光らせてみる
・べゼリーの背中の穴には、ちょうどLED(直径5mmの砲弾型)が刺さります。
ソースコード
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 |
#!/usr/bin/python # -*- coding: utf-8 -*- # Bezelie Sample Code for Raspberry Pi : 出力のサンプル # GPIO 27ピンとGNDにLEDなどを接続してから実行してください。 # ライブラリの読み込み from time import sleep # sleep(ウェイト処理)ライブラリの読み込み import RPi.GPIO as GPIO # GPIO(汎用入出力端子)ライブラリの読み込み # 初期設定 GPIO.setmode(GPIO.BCM) # GPIOをGPIO番号で指定できるように設定 GPIO.setup(27, GPIO.OUT) # GPIOの27ピンを出力モードに設定 # メインループ def main(): try: print "GPIO 27ピンの出力を交互にオンオフします" while True: # 繰り返し処理 print "オン" GPIO.output(27, True) sleep (1) print "オフ" GPIO.output(27, False) sleep (1) except KeyboardInterrupt: # コントロール+Cが押された場合の処理 print "終了しました" GPIO.cleanup() # ポートをクリア # 直接実行された場合の処理 if __name__ == "__main__": main() |
顔を光らせてみる
・目の位置のLEDを光らせるこで、顔全体を光らせることができます。黒目パーツをはずせば目をビカビカと光らせることもできますが、ちょっと怖いかもしれませんね。
サンプルプログラム sample_led1.py
機能
・1秒ごとに7色に光らせる。
準備
・4本足のカラーLEDを使います。(LEDやラズパイを守るため、本当は抵抗をはさむべきですが、下図では省略してます)
実行方法
1 2 |
$ cd ~/bezelie/edgar $ python sample_led1.py |
・止めたいときは、CTRL+C を押してください。
フルカラーで額を光らせてみる
フルカラーで体を光らせてみる
ソースコード
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
#!/usr/bin/python # -*- coding: utf-8 -*- # Bezelie Sample Code for Raspberry Pi : 出力のサンプル # GPIO 16,20,21ピンとGNDにLEDを接続してから実行してください。 # ライブラリの読み込み from time import sleep # sleep(ウェイト処理)ライブラリの読み込み import RPi.GPIO as GPIO # GPIO(汎用入出力端子)ライブラリの読み込み # 変数 ledRed = 16 # as Red ledBlue = 20 # as Blue ledGreen = 21 # as Green interval = 0.5 # 色変え間隔 # 初期設定 GPIO.setmode(GPIO.BCM) GPIO.setup(ledRed, GPIO.OUT) GPIO.setup(ledBlue, GPIO.OUT) GPIO.setup(ledGreen, GPIO.OUT) # 関数 def ledOff(): GPIO.output (ledRed, False) GPIO.output (ledBlue, False) GPIO.output (ledGreen, False) sleep(0.04) # メインループ def main(): try: while True: print "赤" GPIO.output (ledRed, True) sleep(interval) ledOff() print "青" GPIO.output (ledBlue, True) sleep(interval) ledOff() print "緑" GPIO.output (ledGreen, True) sleep(interval) ledOff() print "マゼンタ" GPIO.output (ledRed, True) GPIO.output (ledBlue, True) sleep(interval) ledOff() print "シアン" GPIO.output (ledBlue, True) GPIO.output (ledGreen, True) sleep(interval) ledOff() print "黃" GPIO.output (ledGreen, True) GPIO.output (ledRed, True) sleep(interval) ledOff() print "白" GPIO.output (ledRed, True) GPIO.output (ledBlue, True) GPIO.output (ledGreen, True) sleep(interval) ledOff() sleep (1) except KeyboardInterrupt: print " 終了しました" GPIO.cleanup() if __name__ == "__main__": main() |