差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
gimmickkouza:electronic_basic:8:3_ledstrip [2024/06/02 18:50] lutamestagimmickkouza:electronic_basic:8:3_ledstrip [2024/06/21 18:06] (現在) – ★7-3へのインターナルリンク追加 lutamesta
行 1: 行 1:
 ====== 8-3 LEDテープを派手に光らせる ====== ====== 8-3 LEDテープを派手に光らせる ======
 +===== まあまずは光ってるの見てテンション上げてこうや… =====
 "光る"という行為はそれだけでテンションがブチ上がる最高の行為です。 "光る"という行為はそれだけでテンションがブチ上がる最高の行為です。
 古来よりこの国では全身が七色に光り輝くエフェクトが無敵の象徴とされているのは周知の事実ですが、そういった無敵の力を欲する制作者から、きぐイベ会場をフロア熱狂の渦に叩き込まんとするパリピまで、幅広い光りものニーズにお応えしようというのが本項の趣旨です。 古来よりこの国では全身が七色に光り輝くエフェクトが無敵の象徴とされているのは周知の事実ですが、そういった無敵の力を欲する制作者から、きぐイベ会場をフロア熱狂の渦に叩き込まんとするパリピまで、幅広い光りものニーズにお応えしようというのが本項の趣旨です。
 +   
 +{{youtube>hMs4CAJPf5I?large}} 
 +   
 +ちなみにこちらは8-3-2の動作見本です。
      
 ===== アドレッサブルLEDについての基礎知識 ===== ===== アドレッサブルLEDについての基礎知識 =====
行 68: 行 72:
 Amazonで探す場合は検索ワードに「Arduino」を併記するとざっくりは絞れますが、適当なことを書く中華業者は山のようにいるので、検索結果を信用せずしっかり商品説明を読みましょう。 Amazonで探す場合は検索ワードに「Arduino」を併記するとざっくりは絞れますが、適当なことを書く中華業者は山のようにいるので、検索結果を信用せずしっかり商品説明を読みましょう。
 あとは商品レビューを見て、実際にArduinoで動かしている動画などがあれば、少なくともマイコンで動かせるかどうかについてはかなりの信ぴょう性があるのではないかと思います。 あとは商品レビューを見て、実際にArduinoで動かしている動画などがあれば、少なくともマイコンで動かせるかどうかについてはかなりの信ぴょう性があるのではないかと思います。
 +
 +<panel type="info" title="まつはちさんからのアドバイス">チップで言えば、WS2812BとSK6812なら大丈夫だと思います</panel>
 +/*<alert type="danger">チップで言えば、WS2812BとSK6812なら大丈夫だと思います</alert>*/
  
 === その3:マイコンとの接続方法 === === その3:マイコンとの接続方法 ===
行 101: 行 108:
 今回はLEDテープの電力供給用に、電源モジュールを使います。 今回はLEDテープの電力供給用に、電源モジュールを使います。
  
-=== 講師おすすめの電源モジュール === +=== 講師おすすめの電源モジュール・USBCpow ===
-== USBCpow ==+
 {{:gimmickkouza:electronic_basic:8:8-20.png?200|}} {{:gimmickkouza:electronic_basic:8:8-20.png?200|}}
 講師はSwitchScienceで購入したUSBCpowの3.3V/5V用を使いました。 講師はSwitchScienceで購入したUSBCpowの3.3V/5V用を使いました。
 3.3V/5V用なのは、もともとこの講座用ではなく別の目的で購入していたためです。なので5V用でもOKです。 3.3V/5V用なのは、もともとこの講座用ではなく別の目的で購入していたためです。なので5V用でもOKです。
-== 秋月電子通商のUSBmicro電源モジュール ==+/*== 秋月電子通商のUSBmicro電源モジュール ==
 {{:gimmickkouza:electronic_basic:8:8-21.png?200|}} {{:gimmickkouza:electronic_basic:8:8-21.png?200|}}
 画像引用元:https://akizukidenshi.com/catalog/g/g106656/ 画像引用元:https://akizukidenshi.com/catalog/g/g106656/
行 114: 行 120:
 USBCpowは挿し口がUSB-Cで、最大3Aの供給ができます。 USBCpowは挿し口がUSB-Cで、最大3Aの供給ができます。
 秋月のUSBmicroモジュールは、挿し口がUSB-microで最大1Aの供給ができます。 秋月のUSBmicroモジュールは、挿し口がUSB-microで最大1Aの供給ができます。
-LEDテープを多めに光らせてみたい場合はUSBCpowの方を買うといいでしょう。+LEDテープを多めに光らせてみたい場合はUSBCpowの方を買うといいでしょう。*/
  
-=== 各部解説 === +=== USBCpow・各部解説 === 
-{{:gimmickkouza:electronic_basic:8:8-28.png?800|}} +{{:gimmickkouza:electronic_basic:8:8-28.png?400|}} 
- +=== USBCpowのはんだづけアドバイス === 
-=== 電源モジュールのはんだづけアドバイス === +USBCpowはピン対基板のはんだ付けが必須となります。
-ちなみにどちらのモジュールもピン対基板のはんだ付けが必須となります。+
 はんだ付け箇所が少なく難易度が低めで且つモジュールのお値段も安いので、練習と思ってぜひチャレンジしてみてください。 はんだ付け箇所が少なく難易度が低めで且つモジュールのお値段も安いので、練習と思ってぜひチャレンジしてみてください。
-らのモジュールのはんだ付けのコツとしては、まずブレッドボードに基板の穴に合わせピンを挿しておき、ピンの頭を基板の穴に挿し込む形で基板を載せ、その状態ではんだ付けすると安定してやりやすいと思います。+らのモジュールのはんだ付けのコツとしては、まずブレッドボードに基板の穴に合わせピンを挿しておき、ピンの頭を基板の穴に挿し込む形で基板を載せ、その状態ではんだ付けすると安定してやりやすいと思います。
  
-USB挿し口の左右にあるピンだけちょっと大変かもですが、このピンは(USBCpowも秋月のモジュールもどちらも)ブレッドボードの上に安定して鎮座してもらうためのピンで特に電気的な意味はないので、難しければはんだ付けしなくても大丈夫です。+USB挿し口の左右にあるピンだけちょっと大変かもですが、このピンはブレッドボードの上に安定して鎮座してもらうためのピンで特に電気的な意味はないので、難しければはんだ付けしなくても大丈夫です。
      
 ==== LEDテープの電力計算のしかた ==== ==== LEDテープの電力計算のしかた ====
行 161: 行 166:
  
  
-USBCpowの最大出力は3A、秋月microは1Aなのでもっと短くする必要があります。**__絶対にだ。__**+USBCpowの最大出力は3Aなのでもっと短くする必要があります。**__絶対にだ。__**
 ちなみに計算上は3Aなら75球、1Aなら25球灯せることになりますが、__電力については一般的に定格のギリギリ限界を攻めるスタイルは非常によくない__です。 ちなみに計算上は3Aなら75球、1Aなら25球灯せることになりますが、__電力については一般的に定格のギリギリ限界を攻めるスタイルは非常によくない__です。
 **電子部品の定格に対し、多少余裕を持たせた数値の電気を流すよう設計するのが望ましいです。** **電子部品の定格に対し、多少余裕を持たせた数値の電気を流すよう設計するのが望ましいです。**
行 169: 行 174:
 ==== ライブラリのインストール(と落とし穴) ==== ==== ライブラリのインストール(と落とし穴) ====
 LEDテープ等のライブラリですが、下の2つが圧倒的二大巨頭なのでこのどちらかを選べば堅いです。 LEDテープ等のライブラリですが、下の2つが圧倒的二大巨頭なのでこのどちらかを選べば堅いです。
-なお今回のサンプルコードではFastLEDを使います。こちらは必ずインストールしておいてください。+__なお今回のサンプルコードではFastLEDを使います。こちらは必ずインストールしておいてください。__
  
-  * 「Adafruit NeoPixel」  by Adafruit 
   * 「FastLED」  by Daniel Garcia   * 「FastLED」  by Daniel Garcia
-  +  * 「Adafruit NeoPixel」  by Adafruit 
 ここで本項最大の落とし穴ポイントです。 ここで本項最大の落とし穴ポイントです。
-なんと**この2つのライブラリ、2024年3月現在どちらもArduinoUnoR4シリーズに正式には対応していない模様**です。 +<del>なんと**この2つのライブラリ、2024年3月現在どちらもArduinoUnoR4シリーズに正式には対応していない模様**です。 
-なので、FastLEDライブラリはR4で使おうとするとコンパイルエラーが出ますし、NeoPixelの方はもっとタチが悪く、コンパイルエラーなしで書き込まれますが正常に動作しません。+なので、FastLEDライブラリはR4で使おうとするとコンパイルエラーが出ますし、NeoPixelの方はもっとタチが悪く、コンパイルエラーなしで書き込まれますが正常に動作しません。</del>
  
-一応有志のひとがライブラリのソースコードの修正例を挙げてくださっていますが、ご利用はあくまで自己責任になります。+【追記(2024/6/20)】 
 +**講師が本wikiをチンタラ編集している間にFastLEDはR4に対応したみたいです。時の流れは無常で無情。** 
 +本項の元の原稿ではR4使いはArduino nano everyを購入して使っていただく予定だったのですが、FastLEDが対応してくれたおかげでその必要はなくなりました。**よかったですね。** 
 +そしてwikiリリース直前の土壇場で講師の編集作業が増えました。**よかったですね。** 
 +ちなみにAdafruit NeoPixelの方は本日時点ではまだ未対応のようです。 
 +   
 +なぜこんなことになってしまったのかがわかる(?)解説ページ:[[gimmickkouza:electronic_basic:7:3-r3-r4|]] 
 +/*一応有志のひとがライブラリのソースコードの修正例を挙げてくださっていますが、ご利用はあくまで自己責任になります。
 (参考:https://forum.arduino.cc/t/neopixel-ring-not-working-on-arduino-uno-r4-wifi/1150414/14) (参考:https://forum.arduino.cc/t/neopixel-ring-not-working-on-arduino-uno-r4-wifi/1150414/14)
      
 本資料の対応としましては、**「R4の方でLEDテープを動かしてみたい方は、動作可能なマイコンを買ってそっちでやってみてください」**となります。 本資料の対応としましては、**「R4の方でLEDテープを動かしてみたい方は、動作可能なマイコンを買ってそっちでやってみてください」**となります。
-ただUnoR4を持っているのにUnoR3を買ってもらうのも非常にバカバカしいですし、折角なのできぐるみ実装にも十分転用可能な小型のArduino、「Arduino Nano Every」のモデルを提示します。 +ただUnoR4を持っているのにUnoR3を買ってもらうのも非常にバカバカしいですし、折角なのできぐるみ実装にも十分転用可能な小型のArduino、「Arduino Nano Every」のモデルを提示します。*/ 
-    +   
 +/*<alert type="danger">FastLEDのほうはR4に対応したみたいです!要修正? 
 +Adafruit NeoPixelのほうはやってみたけどうんともすんとも言いません 
 +</alert>*/
 ==== 配線図 ==== ==== 配線図 ====
-== ArduinoUnoR3をお使いの方 == +{{:gimmickkouza:electronic_basic:8:8-3-1-4.png?600|}}
-{{:gimmickkouza:electronic_basic:8:8-25.png?600|}}+
  
 +いきなりですが、大注意です。
 +今回の作例ではブレッドボードは使わないでください。
 +理由は、**ブレッドボードで流せる電流は約1Aくらいまで** であるためです。
 +もちろんLEDテープが短ければ(=流れる電流が1Aに及ばないのであれば)使えないこともないですが、どんな長さでトライしても対応できるように、今回はブレッドボードは不使用とします。
 +(このページ冒頭の動画ではブレボ使ってるって? 記憶をうしなえーーーーーーい!!!!!)
  
-== NanoEveryをお使い方 == +=== 注意事項 === 
-{{:gimmickkouza:electronic_basic:8:8-26.png?600|}}+そんなわけで、今回はちょっと変則的な繋ぎ方します。 
 + 
 +==注意ポイント①:ArduinoにはUSBCPowから給電するやで== 
 +USBCPowに2つある5Vピンのうち、片方は**ArduinoのVIN**に繋ぎます。 
 +**5Vではありません。必ずVINに繋いでください。** 
 +VINはArduinoから電気を流すピンではなく、Arduinoに給電をするピンです。 
 +つまり、__今回ArduinoはUSB-Cからではなく、VINピンから電気の供給を受けます。__ 
 +そしてUSBCPowのGNDはArduinoのGNDに繋ぎます。 
 + 
 +==注意ポイント②:LEDテープは切ってから使うな== 
 +LEDテープは事前に電力計算をして、必要な量だけハサミで切って使ってくださ。 
 + 
 +==注意ポイント③:LEDテープには向きがあるんやで== 
 +LEDテープはArduinoに接続する向が決まっています。 
 +テープの向きはだいたいテープ上に矢印が書いてありますが、Arduinoに繋ぐ箇所が矢印の根元側です。 
 +(Arduinoから矢印に沿ってテープに電気信号が流れ込んでくるイメージ) 
 +もしくはDIN/DOという文字表示がある場合は、DINとArduinoを繋ぎます。 
 + 
 +LEDテープの5VはUSBCPowの5Vに繋ぎ、GNDはArduinoのGNDに繋ぎます。 
 +大変便利なことに、ArduinoにはGNDの挿し口が3つもありますので、USBCPowが繋がっているGNDとは別の挿し口を使ってください。 
 + 
 +==注意ポイント④:消費電力を考えてUSBCPowに給電しような== 
 +USBCPowにはモバイルバッテリー(推奨)やPCなどから給電してください。 
 +モバブ・PC共通ですが、LEDテープに流したい電流量を出力できる電源をご利用ください。 
 +例えば2.8A流したいのに、2.1Aが最大出力のモバブでは電流量が不足します。 
 +__PCから給電する場合は、特にハブを使うと電気が十分供給されない場合があります。__
      
-=== 注意事項(UnoR3・NanoEvery共通=== +また電子工作でモバイルバッテリーを使う場合は、オートパワーオフ機能の有無や影響を考慮してください。 
-  * LEDテープは事前に電力計算を必要量だけハサミって使ってください+(オートパワーオフ=モバブが出力する電気がごくわずかな時、自動的に出力をストップする機能
 +テープLED消費電力が激いのでこの機能は働かい可能性が高いすが、同じ要領で例えばArduinoにモバブから給電しようとすると、勝手に電源OFFになってしまう可能性があります。
  
-  * LEDテプの向きに注意てくださ。だいたいテープ上に矢印が書いてありますが、Arduinoに繋ぐ箇所が矢印根元側です +ちなみにマイコン用モバブはオトパワーオフcheerocanvasslimが個人的オススメです
-  (Arduinoら矢印沿って電気信号が流れ込んくるイメージ) +
-  もしくはDIN/DOという文字表示がある場合は、DINとArduinoを繋ぎま+
      
-  * 電源モジュールにはモバイルバッテリー(推奨)やPCなどから給電してください。 +===使う部品リスト=== 
-  モバブ・PC共通ですが、LEDテープに流したい電流量を出力できる電源をご利用ください。 +^ 部品                                                                  ^ 個数 
-  例えば2.8A流したいいのに、2.1Aが最大出力のモバブでは電流量が不足します。 +| LEDテープ | 1本   | 
-  __PCから給電する場合は、特にハブを使うと電気が十分供給されない場合があります。__ +| USBCPow  | 1個   |
-  また電子工作でモバイルバッテーを使う場合は、オートパワーオフ機能の有無や影響を考慮してください +
-  (オートパワーオフ=モバブが出力する電気がごくわずかな時、自動的に出力をストップする機能) +
-  テープLEDは消費電力が激しいので、この機能は働かない可能性が高いですが、 +
-  同じ要領で例えばArduinoにモバブから給電しようとすると、勝手に電源OFFになってしまう可能性があります。 +
-  ちなマイコン用モバブはオートパワーオフしないcheeroのcanvasかslimが人的にオススメです+
      
-==== NanoEveryのボード情報をインストールする ====+/*<alert type="danger">ブレッドボードで流せる電流は約1Aくらいなので、ブレッドボード経由じゃなく直で繋ぐ必要があります。綺麗に光らなかったり、最悪溶ける 
 +MAX3Aと書いてあるブレッドボードもありますが多分電源ライン(+-)の部分のことかと… 
 +https://forum.digikey.com/t/topic/37411 
 + 
 + 
 +USBCpowの+5Vが2本あるので、1本をLEDの+に、1本をArduinoのVinにつなぎ、GNDは1本しかないので、ArduinoのGNDにつないで、他のGNDソケットからLEDにつなぎました 
 + 
 +^ USBCpow            LED  ^ Arduino    ^ 
 +| +5V 1本目               | Vin        | 
 +| +5V 2本目     | +5V                  | 
 +| GND                     | GND 1本目 
 +| +3.3V  1本目  |                      | 
 +| +3.3V  2本目  |                      | 
 +|               | GND       | GND 2本目 
 +|               | Din       | 6          | 
 +{{:gimmickkouza:electronic_basic:8:pasted:20240620-114941.png?400}} 
 + 
 +</alert>*/ 
 +/*==== NanoEveryのボード情報をインストールする ====
 UnoR3を使う方はこの項はスキップしてもらってOKです。 UnoR3を使う方はこの項はスキップしてもらってOKです。
 NanoEveryを使われる方は、ボードの設定をインストールする必要があります。 NanoEveryを使われる方は、ボードの設定をインストールする必要があります。
行 216: 行 272:
 その後、ツールバーのツール → ボード → Arduino megaAVR Boards → Arduino Nano Everyを選択します。 その後、ツールバーのツール → ボード → Arduino megaAVR Boards → Arduino Nano Everyを選択します。
 あとはNanoEveryを挿したポートをツール → ポートから選択すれば準備完了です。 あとはNanoEveryを挿したポートをツール → ポートから選択すれば準備完了です。
-  +*/
 ==== サンプルコード解説 ==== ==== サンプルコード解説 ====
 サンプルコード8-3-1_FastLED_colortest.inoを開いてください。 サンプルコード8-3-1_FastLED_colortest.inoを開いてください。