Raspberry Pi4とNode-REDでLチカ体験

# Raspberry Pi with Node-REDでLチカ
身の回りのちょっとした課題を、自作したIoTデバイスで解決できるようになるために、ラズパイデビューをしました。
『千里の道もLチカから』ということで、まずはLチカをやってみます。
その備忘録としてまとめます。

##単純なLチカ

###必要な材料
1) [Raspberry Pi4](https://www.switch-science.com/catalog/6370/)：1個
2) [T型GPIO拡張ボード　+ レインボーリボンケーブル + ブレッドボード](https://www.amazon.co.jp/dp/B072XBX3XX/ref=sspa_dk_detail_3?psc=1&pd_rd_i=B072XBX3XX&pd_rd_w=Au1lu&pf_rd_p=110dd359-2c41-4df7-8ba6-72574215696b&pd_rd_wg=161vg&pf_rd_r=52J10TXBDYYRWPVR84SX&pd_rd_r=4e2397c0-52a3-4389-955f-9caeb668326f&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyRDBIQ0pCS0pKRTFPJmVuY3J5cHRlZElkPUEwMDkyNjA4MkVDU1VFWFRKNURLVyZlbmNyeXB0ZWRBZElkPUEzN1VGWVpaSkNIODNHJndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==)：各1個
3) [LED](https://www.switch-science.com/catalog/5199/)：1個
4) [抵抗(330Ω)](https://www.amazon.co.jp/uxcell-%E7%82%AD%E7%B4%A0%E8%86%9C%E6%8A%B5%E6%8A%97%E5%99%A8-100%E5%80%8B%E5%85%A5%E3%82%8A-%E3%82%A2%E3%82%AD%E3%82%B7%E3%83%A3%E3%83%AB-330%E3%82%AA%E3%83%BC%E3%83%A0/dp/B07GD7R466/ref=sr_1_2_sspa?dchild=1&keywords=%E6%8A%B5%E6%8A%97+330&qid=1629686696&sr=8-2-spons&psc=1&smid=AANM8PRMV1MBN&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExWjZCQVpJTEZNSkw1JmVuY3J5cHRlZElkPUEwNTExMTgwM0FHTldJTk1XVUk5RyZlbmNyeXB0ZWRBZElkPUEyQlZTSFpXQ0tOM0JNJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==)：1個

###必要なNode
1) inject:２個
[![Image from Gyazo](https://i.gyazo.com/9df6ab9b4e5d1ef0787ee1cce42f9218.png)](https://gyazo.com/9df6ab9b4e5d1ef0787ee1cce42f9218)
2) rpi gpio out:1個
[![Image from Gyazo](https://i.gyazo.com/fb8501a1964ba5ebee63c035d86a2abb.png)](https://gyazo.com/fb8501a1964ba5ebee63c035d86a2abb)

###設定
1) inject
1つ目のinject nodeは下記のように設定した後に、完了を選択。
[![Image from Gyazo](https://i.gyazo.com/8aab2a381f15deeaf0ddc03c418eb4fa.png)](https://gyazo.com/8aab2a381f15deeaf0ddc03c418eb4fa)

もう1つのinject nodeも下記のように設定した後に、完了を選択。
[![Image from Gyazo](https://i.gyazo.com/57d6dfc201be6a676c6c9886bcebacb1.png)](https://gyazo.com/57d6dfc201be6a676c6c9886bcebacb1)
1がon、0がoffの信号を投げる

2) rpi-gpio-out node
下記のように、GPIO19-35を選択後に、デジタル出力を選択し、完了を選択
[![Image from Gyazo](https://i.gyazo.com/9200a7a86be471b3a292d21d2eba86eb.png)](https://gyazo.com/9200a7a86be471b3a292d21d2eba86eb)

###完成したフロー
[![Image from Gyazo](https://i.gyazo.com/1965f72577ef048b019fd157a80f0262.png)](https://gyazo.com/1965f72577ef048b019fd157a80f0262)

###配置例
LEDの短い足（カソード）とGNDを接続
<blockquote class="twitter-tweet"><p lang="und" dir="ltr"><a href="https://t.co/5dxaHdKIZl">pic.twitter.com/5dxaHdKIZl</a></p>&mdash; Unity勉強中の整形外科医：北城雅照|医療者向けプログラミングスクール「もいせん」開校！ (@teru3_kitashiro) <a href="https://twitter.com/teru3_kitashiro/status/1429742240818098179?ref_src=twsrc%5Etfw">August 23, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

###動作確認
inject nodeの左ハジのタブを選択するとLEDがチカチカします。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Raspberry-pi with Node-REDの勉強開始！<br>千里の道もLチカから！<a href="https://twitter.com/hashtag/%E3%82%82%E3%81%84%E3%81%9B%E3%82%93?src=hash&amp;ref_src=twsrc%5Etfw">#もいせん</a><a href="https://twitter.com/hashtag/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a><a href="https://twitter.com/hashtag/nodered?src=hash&amp;ref_src=twsrc%5Etfw">#nodered</a> <a href="https://t.co/vK9IcdkBsd">pic.twitter.com/vK9IcdkBsd</a></p>&mdash; Unity勉強中の整形外科医：北城雅照|医療者向けプログラミングスクール「もいせん」開校！ (@teru3_kitashiro) <a href="https://twitter.com/teru3_kitashiro/status/1428656096982355972?ref_src=twsrc%5Etfw">August 20, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


##ボタンスイッチでLチカ

###必要な材料
1) [Raspberry Pi4](https://www.switch-science.com/catalog/6370/)：1個
2) [T型GPIO拡張ボード　+ レインボーリボンケーブル + ブレッドボード](https://www.amazon.co.jp/dp/B072XBX3XX/ref=sspa_dk_detail_3?psc=1&pd_rd_i=B072XBX3XX&pd_rd_w=Au1lu&pf_rd_p=110dd359-2c41-4df7-8ba6-72574215696b&pd_rd_wg=161vg&pf_rd_r=52J10TXBDYYRWPVR84SX&pd_rd_r=4e2397c0-52a3-4389-955f-9caeb668326f&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyRDBIQ0pCS0pKRTFPJmVuY3J5cHRlZElkPUEwMDkyNjA4MkVDU1VFWFRKNURLVyZlbmNyeXB0ZWRBZElkPUEzN1VGWVpaSkNIODNHJndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==)：各1個
3) [LED](https://www.switch-science.com/catalog/5199/)：1個
4) [抵抗(330Ω)](https://www.amazon.co.jp/uxcell-%E7%82%AD%E7%B4%A0%E8%86%9C%E6%8A%B5%E6%8A%97%E5%99%A8-100%E5%80%8B%E5%85%A5%E3%82%8A-%E3%82%A2%E3%82%AD%E3%82%B7%E3%83%A3%E3%83%AB-330%E3%82%AA%E3%83%BC%E3%83%A0/dp/B07GD7R466/ref=sr_1_2_sspa?dchild=1&keywords=%E6%8A%B5%E6%8A%97+330&qid=1629686696&sr=8-2-spons&psc=1&smid=AANM8PRMV1MBN&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExWjZCQVpJTEZNSkw1JmVuY3J5cHRlZElkPUEwNTExMTgwM0FHTldJTk1XVUk5RyZlbmNyeXB0ZWRBZElkPUEyQlZTSFpXQ0tOM0JNJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==)：1個
5) [タクトスイッチ](https://www.switch-science.com/catalog/38/)：1個
6) [ジャンパワイヤー](https://www.switch-science.com/catalog/620/):3本

###必要なNode
1) rpi gpio in:1個
[![Image from Gyazo](https://i.gyazo.com/76350e1b3d341d7523270b01355939be.png)](https://gyazo.com/76350e1b3d341d7523270b01355939be)

2) rpi gpio out:1個
[![Image from Gyazo](https://i.gyazo.com/fb8501a1964ba5ebee63c035d86a2abb.png)](https://gyazo.com/fb8501a1964ba5ebee63c035d86a2abb)

###設定
1)rpi-gpio-in node
下記の図のように、GPIO05-29を選択、抵抗はプルダウン、デバウンズは25msを選択し、完了を選択する。
[![Image from Gyazo](https://i.gyazo.com/db16fab1cf967c9f85971883ecb8dc4a.png)](https://gyazo.com/db16fab1cf967c9f85971883ecb8dc4a)
2)rpi-gpio-out node
下記のように、GPIO19-35を選択後に、デジタル出力を選択し、完了を選択
[![Image from Gyazo](https://i.gyazo.com/9200a7a86be471b3a292d21d2eba86eb.png)](https://gyazo.com/9200a7a86be471b3a292d21d2eba86eb)

###完成したフロー
[![Image from Gyazo](https://i.gyazo.com/2ec40ca8d4dc7d6576ad8b79e788a90d.png)](https://gyazo.com/2ec40ca8d4dc7d6576ad8b79e788a90d)

###配置例
LEDの短い足（カソード）とGNDを接続
<blockquote class="twitter-tweet"><p lang="und" dir="ltr"><a href="https://t.co/y1LP4zEvY2">pic.twitter.com/y1LP4zEvY2</a></p>&mdash; Unity勉強中の整形外科医：北城雅照|医療者向けプログラミングスクール「もいせん」開校！ (@teru3_kitashiro) <a href="https://twitter.com/teru3_kitashiro/status/1429742096332640263?ref_src=twsrc%5Etfw">August 23, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

###動作確認
タクトスイッチを押すとLEDが点灯し、話すとLEDが消えます。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ラズパイ with Node-RED<br>今度はボタンでLEDのon-offの実装<br>こうやって触れるデバイスが、やっぱり好きだなぁ <a href="https://t.co/ZA2EY0SpUO">pic.twitter.com/ZA2EY0SpUO</a></p>&mdash; Unity勉強中の整形外科医：北城雅照|医療者向けプログラミングスクール「もいせん」開校！ (@teru3_kitashiro) <a href="https://twitter.com/teru3_kitashiro/status/1428961724988751873?ref_src=twsrc%5Etfw">August 21, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

##半固定ボリュームで照度が変更できるLチカ

###必要な材料
1) [Raspberry Pi4](https://www.switch-science.com/catalog/6370/)：1個
2) [T型GPIO拡張ボード　+ レインボーリボンケーブル + ブレッドボード](https://www.amazon.co.jp/dp/B072XBX3XX/ref=sspa_dk_detail_3?psc=1&pd_rd_i=B072XBX3XX&pd_rd_w=Au1lu&pf_rd_p=110dd359-2c41-4df7-8ba6-72574215696b&pd_rd_wg=161vg&pf_rd_r=52J10TXBDYYRWPVR84SX&pd_rd_r=4e2397c0-52a3-4389-955f-9caeb668326f&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyRDBIQ0pCS0pKRTFPJmVuY3J5cHRlZElkPUEwMDkyNjA4MkVDU1VFWFRKNURLVyZlbmNyeXB0ZWRBZElkPUEzN1VGWVpaSkNIODNHJndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==)：各1個
3) [LED](https://www.switch-science.com/catalog/5199/)：1個
4) [抵抗(330Ω)](https://www.amazon.co.jp/uxcell-%E7%82%AD%E7%B4%A0%E8%86%9C%E6%8A%B5%E6%8A%97%E5%99%A8-100%E5%80%8B%E5%85%A5%E3%82%8A-%E3%82%A2%E3%82%AD%E3%82%B7%E3%83%A3%E3%83%AB-330%E3%82%AA%E3%83%BC%E3%83%A0/dp/B07GD7R466/ref=sr_1_2_sspa?dchild=1&keywords=%E6%8A%B5%E6%8A%97+330&qid=1629686696&sr=8-2-spons&psc=1&smid=AANM8PRMV1MBN&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExWjZCQVpJTEZNSkw1JmVuY3J5cHRlZElkPUEwNTExMTgwM0FHTldJTk1XVUk5RyZlbmNyeXB0ZWRBZElkPUEyQlZTSFpXQ0tOM0JNJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==)：1個
5) [A/DコンバーターMCP3002](https://akizukidenshi.com/catalog/g/gI-02584/):1個
6) [半固定ボリューム](https://akizukidenshi.com/catalog/g/gP-06110/):1個
7) [ジャンパワイヤー](https://www.switch-science.com/catalog/620/):13本

###必要なNode
1) inject:1個
[![Image from Gyazo](https://i.gyazo.com/9df6ab9b4e5d1ef0787ee1cce42f9218.png)](https://gyazo.com/9df6ab9b4e5d1ef0787ee1cce42f9218)
2) A/D converter:1個
[![Image from Gyazo](https://i.gyazo.com/eb472d46c531bcb2190164a6965b5b09.png)](https://gyazo.com/eb472d46c531bcb2190164a6965b5b09)
3) range:1個
[![Image from Gyazo](https://i.gyazo.com/82e94b72fceb9db6a69e163b92d302d9.png)](https://gyazo.com/82e94b72fceb9db6a69e163b92d302d9)
4) debug:1個
[![Image from Gyazo](https://i.gyazo.com/366c4498759d4532c88a2cb33fb8e53f.png)](https://gyazo.com/366c4498759d4532c88a2cb33fb8e53f)
5) rpi-gpio-out:1個
[![Image from Gyazo](https://i.gyazo.com/fb8501a1964ba5ebee63c035d86a2abb.png)](https://gyazo.com/fb8501a1964ba5ebee63c035d86a2abb)

###設定
1) inject node
下図のように設定し完了を選択
[![Image from Gyazo](https://i.gyazo.com/d16f674cdbb1ab05f4b019e22a04264c.png)](https://gyazo.com/d16f674cdbb1ab05f4b019e22a04264c)
2) A/D converter node
下図のように設定し完了を選択
[![Image from Gyazo](https://i.gyazo.com/b4c8c6180894e7bef7ce63a65ea47b81.png)](https://gyazo.com/b4c8c6180894e7bef7ce63a65ea47b81)
3) range node
下図のように設定し完了を選択
[![Image from Gyazo](https://i.gyazo.com/43767824d2f1ccf27a9345dc3ef5fd3a.png)](https://gyazo.com/43767824d2f1ccf27a9345dc3ef5fd3a)
4) debug node
特に変更はなし
ログをデバック画面に表示するための設定
5) rpi-gpio-out node
下図のように設定し完了を選択
[![Image from Gyazo](https://i.gyazo.com/7820455b5dc6d2bbe1523c513c7c17be.png)](https://gyazo.com/7820455b5dc6d2bbe1523c513c7c17be)

###完成したフロー
[![Image from Gyazo](https://i.gyazo.com/61d53fcd0b25a94fb92296ca7ac8de69.png)](https://gyazo.com/61d53fcd0b25a94fb92296ca7ac8de69)

###配置例
LEDの長い足（アノード）とGPIO21を接続
<blockquote class="twitter-tweet"><p lang="und" dir="ltr"><a href="https://t.co/h82I9v3sVd">pic.twitter.com/h82I9v3sVd</a></p>&mdash; Unity勉強中の整形外科医：北城雅照|医療者向けプログラミングスクール「もいせん」開校！ (@teru3_kitashiro) <a href="https://twitter.com/teru3_kitashiro/status/1429742027919429634?ref_src=twsrc%5Etfw">August 23, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

###動作確認
半固定ボリュームを回転するとLEDの照度が変化します。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ラズパイ with Node-RED <br>MACからラズパイ上のNode-REDを操作し、LEDの照度を半固定ボリュームを使って変えることに成功。<br>同じネットワーク内なら簡単に外部PCでラズパイ上のNode-REDを操作できるって凄いなぁ。色々できそう！<a href="https://twitter.com/hashtag/%E3%82%82%E3%81%84%E3%81%9B%E3%82%93?src=hash&amp;ref_src=twsrc%5Etfw">#もいせん</a><a href="https://twitter.com/hashtag/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a> <a href="https://twitter.com/hashtag/%E3%82%B8%E3%83%BC%E3%82%BA%E3%82%A2%E3%82%AB%E3%83%87%E3%83%9F%E3%83%BC?src=hash&amp;ref_src=twsrc%5Etfw">#ジーズアカデミー</a> <a href="https://twitter.com/hashtag/nodered?src=hash&amp;ref_src=twsrc%5Etfw">#nodered</a> <a href="https://t.co/KwgsGlIXOg">pic.twitter.com/KwgsGlIXOg</a></p>&mdash; Unity勉強中の整形外科医：北城雅照|医療者向けプログラミングスクール「もいせん」開校！ (@teru3_kitashiro) <a href="https://twitter.com/teru3_kitashiro/status/1429358626725007364?ref_src=twsrc%5Etfw">August 22, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

こんな感じで、これからも自分のペースで電子工作を楽しもうと思います。