ラズパイの入門であるLEDチカチカ(Lチカ)をNode.jsでやってみます。
準備するもの
準備するものは以下です。私はオス-メスのジャンパワイヤーがなかったので、オス-オスとメス-メスをつなげてやりました。
・ラズパイ本体
・ブレッドボード
・ジャンパワイヤー(オス-メス)
・抵抗(200Ωを使用)
・LED
配線
ラズパイのGPIOは3ピン(GPIO02)と6ピン(Ground)を使用します。
配線は、
ラズパイ(GPIO02) → 抵抗 → (+)LED(-) → ラズパイ(Ground)
となっています。
GPIO操作
まずNode.jsで操作する前に、GPIOの操作コマンドを確認します。なお、下のコマンドはGPIO02を使用する場合です。
■使用するGPIOを指定
■GPIOを出力に指定
■出力をON(LED点灯)
■出力をOFF(LED消灯)
■GPIOを開放
Node.jsでLチカを実装
以下コードでNode.jsでLチカを実装しました。
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として保存し、以下で実行します。
画像では分かりづらいですが、無事Lチカできました!
■点灯時
■消灯時
■こちらの記事もぜひ読んでみてください!
・RaspberryPiの初期設定
・RaspberryPiでNode.jsを使えるようにする
ピンバック: wiringPiの使い方 – ネットワークスペシャリストのたまご
ピンバック: wiringPi&Node.jsでRaspberryPi3のLチカをしてみる – ネットワークスペシャリストのたまご