\r\n\r\n
Arduinoボードとそれに付随する多くのリーズナブルな価格のマイクロコントローラは、電子工作の趣味を一変させました。かつてはエレクトロニクスやコンピューティングに精通したスーパーギークの領域だったものが、今では誰もが利用できるようになったのです。
ハードウェアの価格は常に下がり続け、オンラインコミュニティは常に成長しています。以前、Arduinoの使い方を説明しましたが、初心者向けのプロジェクトがたくさんあるので、すぐに始められます。
しかし今日は、初心者が陥りがちな失敗とその回避策を紹介します。
ほとんどのArduinoボードには電源レギュレータが搭載されているので、USBや電源から電源を供給することができます。正確な機能は各ボードによって異なりますが、通常はDCバレルジャックまたはVIN端子から7-12Vを入力します。これによって、最初の失敗であった、次のことがよくわかる。
最初の1枚はいつもまどろっこしい。電池または電源から電源を供給する場合,V+をVIN端子に,GNDをGND端子に接続する必要があります。これを逆手に取ると、確実にクビになる。
この一見当たり前のようなエラーは意外とよく起こるので、起動する前に電源設定を確認してみてください
揚げ物のような野暮ったい匂いが漂っているときは、これが主な原因であることが多い。2つ目は、何かが基板から過剰に電流を引き出そうとしている可能性が高いです。ボードが供給できる電力と比較して、コンポーネントが必要とする電力がどれくらいかを知ることは非常に重要です。
これを掘り下げる前に、パワーの理論について簡単に説明しましょう。
マイコンを扱う上で重要なのは、電子工学の基礎を理解することです。電気工学の天才である必要はありませんが、電圧、電流、抵抗とそれらの間の接続を理解することは重要です。sparkfunには、電子工学の優れた紹介と、電圧、電流(アンペア)、オームの法則(抵抗)を説明するビデオがいくつかあります。
部品に必要な電力を正確に把握することは、Arduinoボードを使う上で重要なことです。
これは、すぐにでもプロジェクトに飛び込みたいという人を多くキャッチしています。いくつかの低消費電力部品をArduinoのピンで直接使用することが可能です。しかし、多くの場合、Arduinoのエネルギーを過剰に消費し、マイコンを破壊する可能性があります。
一番悪いのはクルマです。低電力モーターであっても電力変化の割合が大きく、通常Arduinoのピンで直接使用するのは危険です。モーターを使った真のDIYを実現するには、Hブリッジを使う必要があります。これらのチップを使えば、基板を焼くリスクなしに、Arduinoのピンを使ってDCモーターを制御することができます。
この小さなチップで電源とArduinoを分離し、モーターを両方向に動かせるようにします。DIYロボットやラジコンカーに最適です。これらのチップを使う最も簡単な方法は、Arduinoの一部として使うことです。Aliexpressでは2ドル以下で購入できますし、冒険好きな方は自分で作ることもできます**。
Arduinoでモーターを使う初心者のために、Adafruit社はチップそのものとブレイクアウト・モーター・シールドを使ったチュートリアルを用意しています。
他の電気部品や電化製品は、より予測可能な電力を消費するかもしれませんが、それでもマイコンに直接接続することは避けたいものです。5VのLEDストリップでも危険です。テスト用に基板上に直接電源を設置することも可能ですが、通常は外部電源を使用し、リレーやMOSFETで制御するのがベストです。
両者には違いがありますが、ホビーエレクトロニクスの多くの用途で同じように機能します。どちらも、Arduinoによってオン・オフされる電源と部品の間のスイッチとして機能します。リレーは、それを制御する回路から完全に分離され、スイッチとしてのみ機能します。Dejan Nedelkowskiのチュートリアル記事から、リレーの使い方を動画で紹介します。
MOSFETは、ArduinoのピンからPWM(Pulse Width Modulation)を使うことで、異なる電力量を供給することができます。MOSFETとLEDストリップの使い方の紹介は、Arduinoへの接続の究極のガイドをご覧ください。
起動時によくある失敗が、短絡を引き起こす管理です。これは、回路のある部分が本来接続されるべきでない場所に接続され、電源への経路が単純化されることで発生する。その結果、回路が正常に動作しなくなり、最悪の場合、部品が焼損し、火災の危険性もあります。
テストプレートを使用する際にこのようなことがないように、テストプレートの仕組みを理解することが重要です。サイエンスパートナーのこのビデオは、知るための良い方法です。
ここで最も重要なポイントは、各基板のレールの仕組みを覚えておくことです。フルサイズやハーフサイズのブレッドボードでは、外側のレールは水平に、内側のレールは垂直に動作し、その間に隙間ができます。ミニブレッドボードには垂直レールしかありません。
テストボードの短絡を引き起こさないようにする最も簡単な方法は、機器の電源を入れる前に作業内容を確認することです。そのギリギリの視線が、あなたの苦痛を軽減してくれるのです
特にArduino Nanoのような小型の基板では、プロトボードにArduinoや部品をはんだ付けする際に、同じ問題が発生することがあります。2つのピンの間に小さなはんだの継ぎ目があるだけで、短絡につながり、マイコンを破壊する可能性があるのです。これを避けるには、油断せず、できるだけハンダ付けの練習をすることです。
錫のはんだ付けは、最初はかなり繊細で大変な作業に思えるかもしれませんが、時間が経つにつれて、とても簡単にできるようになります。初心者向けのガイドは、実験用ボードからプロトタイプの世界へ移行する人の助けになるはずです
マイコンを使うということは、ピンを使うということです。ほとんどの部品や多くの基板には、プロトボードに接続するためのピンが付いています。どのピンが何に対応しているかを知ることは、思い通りに動作することを確認するために必要です。
MOSFETの3つの分岐は、ゲート、ドレイン、ソースと呼ばれ、その3つの分岐をつなぐのが、先ほどのMOSFETの例である。これらが混在すると、電源の流れが悪くなったり、ショートを起こしたりすることがあります。MOSFETやArduino、家電製品、運が悪ければ3つともダメになる可能性があります。
部品を使用する前に、必ず部品のデータシートまたはピン配置を確認し、どのピンが配置され、どのような電力が使用されるかを決定してください。
Arduinoのハードウェアの側面から離れると、コーディングの際に多くのミスが発生します。最も典型的なミスは以下の通りです。
上記のような問題があると、小さなことではありますが、プログラムが正常に動作しなくなります。ブリンクのスケッチを例にとるとここでは、Arduino IDEに含まれるblink.inoスケッチから、ヘルプテキストを削除した簡単な例を紹介します。一見すると、多少なりとも問題なさそうですよね。
void setup() {
pinMode(LED_BUILTIN, OUTPUT)
}
void loop {
digitalWrite(LED_BUILTIN, HIGH);
delay{1000} です。
digitalwrite(LED_BUILTIN, LOW);
delay(1000)です。
このコードは、5つの理由でコンパイルできません。
このようなコードになるはずです。
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000)です。
digitalWrite(LED_BUILTIN, LOW);
delay(1000)です。
}
これらのエラーのひとつひとつは、小さなものではありますが、プログラムが動作しなくなる可能性があります。最初のうちは、何が問題なのかを正確に判断するのに非常に苦労しますが、時間が経つにつれてずっと簡単になります。Arduinoのプログラミングに慣れるためのコツは、ほとんどの場合、プログラムによって構文や書式が同じなので、参照できる別のプログラムを開いておくことです。
Arduinoのコーディングが初めての方、大歓迎です。学ぶ価値のある趣味であり、ある種のプログラマーのニーズを考えれば、大きなキャリアチェンジになるかもしれませんねプログラマーとして身につけるべき良い習慣がいくつかあり、それはすべてのプログラミング言語に適用されるので、早い段階で身につける価値があります。
シリアルモニタは、Arduinoのコンソールです。ここでは、Arduinoのピンから取得した任意のデータを送信し、読みやすいテキストとして表示することができます。しかし、残念ながら、すでにご存じの方も多いかと思いますが、物事はそう単純ではありません。
マイコンをセットアップしてシリアル・モニタに出力させ、無意味な文字が表示されることほど、正常に動作させようとした初期のころは、もどかしいことはなかったですね。幸いなことに、ほとんどの場合、簡単な解決策があるのです。
コードでシリアルモニターを起動する際、ボーレートを設定することも可能です。この数値は、単純に1秒間にシリアルモニターに送信されるビット数を意味します。以下の例では、コード内でボーレートが9600に設定されています。シリアルモニターの下部にあるドロップダウンメニューを使って同じ値に設定し、すべてが正しく表示されることを確認してください。
シリアルモニターには、いくつかの速度が用意されていることにお気づきでしょうか。大きなデータの塊を転送する場合を除き、ボーレートを変更する必要はほとんどありません。9600の場合、シリアルモニターは1秒間に1000文字近く印刷できる。その速さで読めるなら、おめでとう、あなたは明らかに魔法使いだ。
Arduinoで利用できるライブラリの数が多く、また増えていることも、初めての人がアクセスしやすい理由の一つです。経験豊富なコーダーによって書かれ、無料で配布されるライブラリは、複雑なコーディングを知らなくても、個別にアドレス指定できるLEDストリップやディープLセンサーなどの複雑なコンポーネントを使用することを可能にします。
ライブラリは、Sketch> Include Library> Manage librariesを選択してライブラリブラウザを開き、IDEから直接インストールすることが可能です。
一度インストールしたライブラリは、どのようなプロジェクトでも使用することができ、多くのプロジェクトには独自のサンプルプロジェクトが用意されています。
最初の例では、プロジェクトに完全に適合しているように見えるが、IDEで見つけたときにコンパイルを拒否するコードがある場合、そのコードにまだインストールされていないライブラリが含まれていないことを確認します。コードの先頭にある#include< xxxx>を見ることで確認できます。まだインストールしていないものが含まれている場合、動作しません。
2つ目のケースでは、逆の問題が発生します。コンピュータにインストールされているライブラリの関数を使用していて、コードがコンパイルできない場合、現在作業中のスケッチにそのライブラリをインクルードするのを忘れている可能性があります。例えば、ネオピクセルのLEDストリップで素晴らしいFastledライブラリを使いたい場合、ライブラリの見つけ方を知らせるために、コードの最初に#include "Fastled.h "を追加する必要があります。
ペンタゴンエラーは、フローティングピンを見てみましょう。フローティングとは、あるピンの電圧変動が不規則な読み取りを与えることを意味します。これは、ボタンを使ってArduino上で何かをトリガーするときに特に問題となり、望ましくない動作につながる可能性があります。
これは周囲の電子機器からの不要な干渉が原因ですが、Arduinoの内蔵プルアップ抵抗で簡単に対策できます。
AddOhmsのビデオでは、この問題とその解決方法について説明しています。
arduinoを使えば、簡単にプロトタイプを作り始めることができます。難しいプロジェクトは手っ取り早く学ぶのに役立ちますが、小さなことから始めるのが得策です。もし、最初に挑戦するプロジェクトが非常に複雑な場合、上記のような問題が発生する可能性が高く、フラストレーションが溜まり、電子機器が壊れてしまう可能性があります。
マイコンを使うことの素晴らしさは、たくさんのプロジェクトから学ぶことができることです。複雑な照明システムを作るつもりなら、まず簡単な信号機から始めると、次に進むための基礎ができます。巨大なLEDストリップディスプレイを作る前に、コンピュータケースの中のような小さなテストランを試してみてはいかがでしょうか。
それぞれのプロジェクトは、Arduinoコントローラの別の側面を教えてくれるので、いつの間にか、この賢いボードを使って、あなたの生活全体をコントロールできるようになりますよ。
Arduinoの学習曲線は、初心者の方にはかなり難しく感じられるかもしれませんが、専用のオンラインコミュニティがあるため、学習過程を苦痛に感じることはないでしょう。この記事のような簡単なミスに気をつけることで、多くのイライラを回避することができます。
Arduinoがどのように動くのかを知るには、自分で作ってみるのが一番です。
詳しくは、「VSコードとプラットフォームによるArduinoコーディング」をご覧ください。
写真提供:SIphotography/Depositphotos