title | emoji | type | topics | published | |||
---|---|---|---|---|---|---|---|
Raspberry Pi4 ModelBへのNode.jsインストールからLチカまでのメモ |
📝 |
tech |
|
true |
いざ、ラズパイにNode.jsをダウンロードしようとしたら新しい記事が少なくて結構苦戦したのでメモ代わりに初めて記事を書いてみました。
- Raspberry Pi 4 Model B 4GB
- Raspberry Pi OS 64bit
ラズパイ側で以下のコマンドを実行
$ cd~
# ダウンロード
$ wget https://nodejs.org/dist/v20.12.2/node-v20.12.2-linux-arm64.tar.xz
# 展開
$ tar xJvf node-v20.12.2-linux-arm64.tar.xz
#展開したファイルをコピー
$ sudo cp -r node-v20.12.2-linux-arm64/* /usr/local/
#不要なファイルの消去
$ rm node-v20.12.2-linux-arm64.tar.xz
& rm -r node-v20.12.2-linux-arm64/
# 以下のコマンドでバージョンが表示されたらダウンロード完了!
$ node -v
$ npm -v
@card
※/usr/local/binは環境変数passに予め登録されているので改めてpassを通す必要はないです。
root権限下でも問題なく動きました。(例:$sudo node -v
)
& cd ~
$ mkdir test
$ cd test/
$ touch index.js
$ npm install pigpio
以下のコードをindex.jsへコピー
const Gpio = require('pigpio').Gpio;
const {setTimeout} = require('timers/promises');
(async() => {
const no = 4;
const pin = new Gpio(no,{mode: Gpio.OUTPUT});
while (true){
pin.digitalWrite(1);
await setTimeout(1000);
pin.digitalWrite(0);
await setTimeout(1000);
}
})();
電源電圧(E=3.3v),LED順電圧(Vf=2.1v),順電流(If=50mA)ですが、GPIO端子に流せる電流が16mAなのでIf=0.016Aとします。
$$ R=(3.3-2.1)/0.016=75Ω $$ 75Ω以上の抵抗が必要なので今回は手元にあった220Ωの抵抗を使用しました。 ![](https://storage.googleapis.com/zenn-user-upload/d46db3dad5c3-20240502.jpg =250x)![](https://storage.googleapis.com/zenn-user-upload/2e1d6abd7689-20240502.jpg =250x) 回路図の書き方よくわかんないんで間違ってたらごめんなさい、、
testディレクトリで$sudo node index.js
を実行