BeagleBone:コマンドラインから外部LEDの制御に成功
初めてのBeagleboneのカテゴリーに関する別の記事

2013/06/14

BeagleBone:コマンドラインから外部LEDの制御に成功



出来た♪とりあえずデジタル出力に成功。これ面白いわ〜。あとデジタル入力とアナログ入力・出力のやり方を覚えてセンサーチップからの情報の引き出し方を覚えれば簡単に自律ロボットもどき作って遊べそう。もちろん使い慣れているPerlで組むよw


コネクタマップを見て

たとえばGPIO port 60(左のコネクタの右側上から6番目)に通電するためには、まず

とする。これで /sys/class/gpio/にgpio60というディレクトリが出来る。中には
active_low direction edge power subsystem uevent value
というファイルがある。
まず、GPIO60を出力で使う事を宣言するために
  • echo out > direction
そして通電するためには
  • echo 1 >value
これでGPIO60とGNDの間に電圧がかかる。
消すには
  • echo 0 >value
現在の状態は
  • cat value
で確認出来る。コネクタのマップを見るとGPIOは全部で69あるので全部で同じことが出来そうだが、GPIO39,GPIO38などはLEDをつなぐとアナログな感じで規則的に点灯し既に何かに使われている感じ。上記の操作をしても制御することは出来なかった。詳細不明。
↓のサイトではまずコネクタの使い方としてMODE7を選んでいるが、現在所持しているBeagleboneには/sys/kernel/debug/omap_mux/gpmc_ad6なんてディレクトリは無かった。写真を見ると昔のBeagleboneなので仕様変更があったのかも。
回路はLEDと100Ωの抵抗を直列につないで、マイナス極をGNDに、プラス極をGPIO60に刺している。

テスターで測ると流れる電圧は3.3V。LEDに1.8V、抵抗に1.1Vぐらいだった。電子工作久しぶりすぎてLEDのプラスとマイナスも分からない。あぶねー。オームの法則とか計算方法とか思い出さなきゃ。最近は昔と違って便利な回路シミュレーターとかがある気がする。フリーで無いかな。

追記
後から調べたところによるとGPIO出力はMAX4〜6mAに抑える必要あり、もっと抵抗値をあげないとボードが壊れる。短時間なら大丈夫だろうけど。

試して無いけど使用が終わったポートは
echo 60 > /sys/class/gpio/unexport
とするそうだ。
参考:OpenCVで遊ぼう!: BeagleBone BlackでLEDを光らせる

Category:初めてのBeaglebone / 4


■ ■ ■ コメント ■ ■ ■

001 [06/14 04:22]@InfoWeb:こういう記事見ると買いたくなるけど、センサーからの電圧変化で出力を変えて動作させるロジックとか難しそうだ…。
002 [06/14 04:44]mn@Dion:流れるのは電流で、電圧は印加するものです~_~;
003 [06/14 09:20]フリーなら@YourNet:LTSpiceドソー
004 [06/14 23:01]Aガット@OCN:100Ωだと10mA以上流れてるけど、ポートの駆動能力は大丈夫ですかね?
005 [06/15 00:42]ふぇちゅいん(管理人) TW★47:>>004 ぎゃ、学習しました。テスターで測ったら8.9mA。調べるとoutputのmax currentは4mAだそうです。ダメっすね。

名前 このエントリーを含むはてなブックマーク
コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事の総アクセス数(最後の書き込みまで):706


初めてのBeagleboneのカテゴリーに関する別の記事 (コメント数)
2013/06/12生まれて初めてブレッドボードを購入。Beagleboneを引き続きいじる。
2013/06/09Beaglebone(ビーグルボーン)をいじってみた