のびっこ日記

(*|         |*)v ういっすー。 VRとかコンピュータービジョンとかARとかに興味があります。OpenCVとかPCLとかOculusRiftとかUnityとかKinectとかLeapMotionとか手を出していますが、いろいろドツボにハマっててくじけそう。誰か教えてー

Beagle Bone Blackで外付けのLEDを点灯させてみた(・    ・)

数年前に買ったBeagleBoneBlackが手元に有ります。いつかこれでロボ作りたいと思って買ってたやつです。今日はとりあえず、こいつのGPIO経由で外部のLEDを発光させてみました。 

通常のBeagleBoneと違って、内蔵のFlashメモリにLinuxが導入済みです。そんでもってHDMI端子も標準で付いてますので、すぐ使えます。とっても簡単。

 

ハードウェアの準備

USBポートにUSBキーボード、HDMI端子にリビングのTVを繋いでおきます。

そして左側のP9ポートの1番ピンにGND、11番ピンにLEDに抵抗を経由して+側を繋げます。

GPIOピンの出力は3.3Vなので、LEDの抵抗は47Ωの物を使いました。

http://elinux.org/Beagleboard

こちらによると、このピンはGPIO_30にあたるらしいです。

5Vの電源を供給してあげると、BeagleBoneBlack上でLinuxが起動します。

GPIOデバイスファイルの準備

Linuxが起動したら、ターミナルを開いて、GPIO30のデバイスファイルを作ります。

echo 30 > /sys/class/gpio/export

 

これで/sys/class/gpio/gpio30ディレクトリができるので、次にGPIO30ポートの入出力を決定します。今回は出力です。

echo out > /sys/class/gpio/gpio30/direction

 

LEDをOn/Offしてみる

/sys/class/gpio/gpio30/valueに0や1を書き込むことで、GPIO30を制御できます。

LEDつけてみます。

echo 1> /sys/class/gpio/gpio30/value

f:id:nobikko_nobinobi:20150405212737j:plain

消します。

echo 0> /sys/class/gpio/gpio30/value

f:id:nobikko_nobinobi:20150405212756j:plain

できた(・        ・v

 

終わりに

On/Offがコントロールできるので、モータードライバーとか繋げるとモーターが制御できたりします。

今後はUSBカメラとOpenCVなんかで顔とか認識させて、認識したらモーター制御してそっちに近づいていくロボとか作ってみたいです(*・         ・*)

 

今日はここまで。。