RaspberryPi&Node.jsでLチカしてみる

ラズパイの入門であるLEDチカチカ(Lチカ)をNode.jsでやってみます。
 

スポンサーリンク
 

準備するもの

準備するものは以下です。私はオス-メスのジャンパワイヤーがなかったので、オス-オスとメス-メスをつなげてやりました。

 ・ラズパイ本体
 ・ブレッドボード
 ・ジャンパワイヤー(オス-メス)
 ・抵抗(200Ωを使用)
 ・LED
 

配線

ラズパイのGPIOは3ピン(GPIO02)と6ピン(Ground)を使用します。

配線は、

ラズパイ(GPIO02) → 抵抗 → (+)LED(-) → ラズパイ(Ground)

となっています。


 

GPIO操作

まずNode.jsで操作する前に、GPIOの操作コマンドを確認します。なお、下のコマンドはGPIO02を使用する場合です。

■使用するGPIOを指定

# echo 2 > /sys/class/gpio/export

 
■GPIOを出力に指定

# echo out > /sys/class/gpio/gpio2/direction

 
■出力をON(LED点灯)

# echo 1 > /sys/class/gpio/gpio2/value

 
■出力をOFF(LED消灯)

# echo 0 > /sys/class/gpio/gpio2/value

 
■GPIOを開放

# echo 2 > /sys/class/gpio/unexport

 

Node.jsでLチカを実装

以下コードでNode.jsでLチカを実装しました。

var fs = require(‘fs’);

var dir = ‘/sys/class/gpio’;
var d_export = dir + ‘/export’;
var d_gpio2 = dir + ‘/gpio2’;
var d_direction = d_gpio2 + ‘/direction’;
var d_value = d_gpio2 + ‘/value’;
var d_unexport = dir + ‘/unexport’;

var cnt = 0;

//GPIO02を指定して、出力に設定
fs.writeFileSync(d_export, 2);
fs.writeFileSync(d_direction, ‘out’);

function Lchika() {
 cnt ++;
 if(cnt <= 20){

  //cntが偶数だったら点灯、奇数だったら消灯
  fs.writeFileSync(d_value, cnt % 2);
 }
 else{
  fs.writeFileSync(d_value, 0);

  //GPIO02を開放
  fs.writeFileSync(d_unexport, 2);

  //繰り返し処理をストップ
  clearInterval(intervalId);
 }
}

//Lchikaを1秒おきに繰り返し実行
intervalId = setInterval (Lchika, 1000);

 

上記のコードをLchika.jsとして保存し、以下で実行します。

$ node Lchika.js

 

画像では分かりづらいですが、無事Lチカできました!

■点灯時

■消灯時

 

■こちらの記事もぜひ読んでみてください!
RaspberryPiの初期設定
RaspberryPiでNode.jsを使えるようにする
 

スポンサーリンク

2件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です