2013/06/12

BeagleBone BlackでLEDを光らせる

BeagleBone Blackをpythonから操作しよう の第1弾。
手持ちのLEDを拡張ヘッダにつないでLEDを光らせてみましょう。

準備:

電子工作用部品の入手
本体に接続するLEDやセンサなどが手元にない場合は、電子工作用部品を販売しているWebショップなどで部品を購入しましょう。
  • 秋月電子通商 URL: http://akizukidenshi.com/
    • LED,テスタ,ブレッドボードなど、基本的な部材はたいていここで入手できます。 
  • エレ工房さくらい URL: http://www.interq.or.jp/www-user/ecw/
    • よく使う抵抗20種類セットやLEDセットなど、電子部品の手持ちが少ない場合に便利です。

電子工作を始めるにあたって必要そうなものは以下の通りです。
  • テスタ 1台
  • ブレッドボード 1枚
  • ジャンパワイヤ 1セット
  • 1/4W 炭素皮膜抵抗 数種類(100Ω,1kΩ,4.7kΩ,10kΩなど)
  • 3mmまたは5mmの砲弾型LED 10個程度
  • タクトスイッチ 10個程度
  • クリップ付きコード 3~4本
作る
部材も揃えたところで、LED点灯用の回路をブレッドボード上に作成します。
  1. LEDのカソード(足の短い方)と抵抗を接続し、抵抗とブレッドボードのGNDを接続します。
  2. Beaglebone Black(以下、BBB)のGNDとブレッドボードのGNDを接続します。
  3. P8の4番(GPIO1_7)とLEDのアノード(足の長いほう)を接続します。


BBB側の準備をします。下記コマンドを実行してください。
   
    sudo -s
    (パスワード入力)
    echo 7 > /sys/kernel/debug/omap_mux/gpmc_ad7
    echo 39 > /sys/class/gpio/export
    cd /sys/class/gpio/gpio39
    echo out > direction
    echo 0 > value



これでLEDを点灯させる準備が整いました。
下記コマンドを実行して、LEDを点灯させましょう。
   
    echo 1 > value

LEDが点灯すれば成功です。
次に、下記コマンドを実行してLEDを消灯しましょう。
   
    echo 0 > value

GPIOピンを使い終わったら下記コマンドを実行します。
   
    echo 39 > /sys/class/gpio/unexport

以上がLEDを点滅させるためのステップです。

さすがに毎回この作業を行うのはつらいので、関数を作って面倒な作業は関数に任せてしまいましょう。ライブラリはpyBBIOなどいろいろありますが、自作したものを今後使っていきます。

    git clone git://github.com/kyatou/pyBoneIO.git


'''
 blink led
 type 'sudo -s' before using this script.
'''
import time
from pyBoneIO import *

def setup():
    exportPin(39)
    setToGPIOWrite(39)
    print "Blink LED. interval=1 sec"
    print "Ctrl+c to exit."

def loop():
    turnOnGPIO(39)
    delaySec(1)
    turnOffGPIO(39)
    delaySec(1)
    
run(setup,loop)


exportやomap_muxの説明はまた今度に。


0 件のコメント:

コメントを投稿