Arduinoの最初の接続。 Arduino IDEforWindowsのインストールと構成

原則として、それは普遍的であり、膨大な数のプロジェクトを実装することができます。

始めましょう!

まず、組み込みのドライバーを使用して開発環境をダウンロードしてインストールする必要があります。これは、Arduino.ccの公式Webサイトまたはリンクから実行できます。 次に、を介してボードをコンピュータに接続できます USBワイヤーほとんどの場合、キットに含まれるか、適切なキットを介して提供されます。 ArduinoはUSBBを使用しており、特別なことは何もありません。 すべてが正しく行われ、ボードが機能している場合、Windowsは新しいデバイスを見つけてそれを単独でインストールします。その後、ONまたはPWRとマークされたLEDがボード上で点灯します。

これで、Arduino ideを開くことができ、エディターウィンドウがすぐに目の前に表示されます。1)エディターウィンドウは、コードを記述する場所です。

2)ステータスウィンドウ、エラー、プログラムに関するその他の情報、およびファームウェアをボードにアップロードするプロセスがここに表示されます。

3)ツールバー等

ちなみに、ideはロシア語をサポートしており、その開発に役立つはずです。 それでは、すべてが正常かどうかを確認して、[ツール]->[ボード]タブに移動しましょう。 そこで、ボードをすぐに選択する必要があります。


そうでない場合は、手動で選択します。

次に、彼はテストファームウェアでボードをフラッシュしようとします。このために、[ファイル]->[例]->[基本]->[点滅]に移動します。 コメントとプログラムのテキストがエディタウィンドウにすぐに表示されました。 コメントは常に*/またはc//タグの間にあり、問題なく削除できます。プログラムの動作に影響を与えることはなく、主要なことに集中することを妨げることもありません。

その後、次のコードが残ります。

C ++

void setup()(pinMode(13、OUTPUT);)void loop()(digitalWrite(13、HIGH); delay(1000); digitalWrite(13、LOW); delay(1000);)

void setup()(

pinMode(13、OUTPUT);

void loop()(

エラーが発生した場合:ボードへのダウンロードに問題があります。絶望しないでください。これは簡単な修正です。 これを行うには、[ツール]-> [ポート]->に移動し、Arduino / Genuino Unoが括弧で囲まれているポートを選択して、コントローラーのフラッシュを再試行します。 何かがうまくいかない場合は、コメントを書いてください、私たちはそれを理解します。

ここで、arduinoに何を注ぎ込んだかを理解しましょう。

void setup()()

開発環境は、コードのこの部分を独自に生成しました。ここでは、中括弧の間で、入力が初期化され、ボードの出力が、この場合はpinMode(13、OUTPUT)と表示されます。 これは、LEDが接続されているボードのピン13(前回の記事で説明しました)を出力に割り当てることを意味します。

コードのこの部分も自動的に生成されます。中括弧の間に、プログラムが直接無期限に実行するコードが記述されます。 つまり、それは無限のサイクルです。 digitalWrite(13、HIGH);と表示されます。 、ロシア語でピン13に5ボルトを印加することを意味します。このアクションにより、LEDが点灯します。

delay(1000); この遅延により、次の命令の実行が1000マイル秒(1秒)停止します。

digitalWrite(13、LOW); ロシア語で13本のピンを地面に引っ張ると5ボルトが除去され、LEDが消えます。

また、void loop()は無限ループであるため、Arduinoのライトが際限なく点滅します。

裸で楽しんで ArduinoボードボードにはLEDが1つしか取り付けられておらず、ボタンも1つもないため、思ったほど楽しくはありませんが、LEDを点滅させるだけで十分というわけではありません。 点灯させてパソコンからのコマンドで出かけましょう!

これを行うには、arduinoのファームウェアを作成し、テストにポートモニターを使用する必要があります。次に、C#でプログラムを作成しますが、これは次の記事で説明します。

むしろ、その中国の対応物。

中国のカウンターパートとオリジナルの本質的な違いは、その価格です。 オリジナル Arduino UNO現時点では公式ウェブサイトで24.95ドルかかりますが、配達のある中国のカウンターパートは3ドル未満(8倍安い)です。 オリジナルとそのア​​ナログのより詳細な比較は次の記事にありますが、今、主な目標から離れないようにするために、始めましょう。



PCに接続してドライバーをインストールします。

Arduinoのこの中国のアナログでは、チップがUSBへの接続に使用されているという事実のために CH340G、提供されているドライバーは、マイクロ回路を含む元のArduinoとその類似体には適していません ATMEGA16U2.


Arduinoプラットフォームをコンピューターに接続します USBケーブルプリンタが接続されている。 ボード上のLEDが点灯します。 オン"。新しいデバイスがデバイスマネージャに表示されます" USB2.0-シリアル"。ドライバをインストールする必要があります。Windowsでの例で作業します。

アーカイブをダウンロードし、ファイルを解凍して実行します CH341SER.EXE。 選ぶ インストール.


ドライバのインストール中はLEDが点滅します。 処方箋、インストール後、対応するメッセージが表示されたら、[ わかった".

新しいデバイスがデバイスマネージャに表示されます」 USB-シリアルCH340"。私の場合、ポートに接続されているデバイス COM7、誰もが他のポート番号を持つことができます。主なことは、将来の作業のためにそれを覚えておくことです。

最初のスケッチ。

Arduinoプログラムはスケッチと呼ばれます。 Arduinoにスケッチを書くには、それをコンピューターにインストールする必要があります。 水曜日 Arduino開発 。 最新バージョンをダウンロードして解凍します。 ファイルを使用して開発環境を起動する arduino.exe.

ロシア語のインターフェースがロードされたデフォルトのプログラム。

別の言語を選択するには、メニュー項目「 ファイル" - "設定".

リストに」 編集者の言語「他の言語を選択できます。」をクリックしてください。 わかった"そして開発環境を再開します。構成にはベラルーシ語、ウクライナ語、その他の言語が含まれます。


また、Arduinoプラットフォームが正しく選択されていることを確認する必要があります。これについては、「 ツール" – "支払い:「AnduinoUNOはデフォルトで正しく選択されていました。他に何かある場合は、リストからプラットフォームを選択してください。


また、プラットフォームが接続されている正しいポートを選択する必要があります。 これを行うために、ドライバーのインストール中に、私はこれに注意を払いました(デバイスマネージャーでポートを確認する必要があります)。 私の場合、これ COM7。 今 " ツール" - "ポート:「正しいポートを指定する必要があります。

それでは、最初のスケッチをArduinoで実行してみましょう。これにより、LEDが点滅します。

このバージョンの開発環境には、すでに簡単なスケッチのコレクションがあり、その中には私たちのスケッチがあります。
これを行うには、「 ファイル" - "サンプル" - "01.基本" – "点滅".

プログラムコードが新しいウィンドウで開きます。 それでは、プログラム用にLEDを準備しましょう。 私のように、多くのボードでは、目的のLEDが残りの無線コンポーネントと一緒にすでにはんだ付けされています...


ただし、このLEDがないボードがある場合は、ボードのピンを介して接続する必要があります。 最も一般的な色のLEDを使用して、制限抵抗220Ohm-1Komを介してボードのピンに接続しましょう。 13 GND(LEDをArduinoに接続する過程で、USBケーブルを外すことをお勧めします)。


すべての準備ができたら、LEDをマイクロコントローラーに点滅させるためのプログラムをダウンロードする必要があります。 開発者環境では、ボタン「 ロード"、スケッチをAnduinoにアップロードします。

スケッチが正常に読み込まれると、LEDが点滅し始めます。私の場合は、ボードにはんだ付けされたLEDとピンに接続したLEDが点滅します。

Anduinoをオフにするには、ボードをUSBケーブルから外すだけで十分です。

ここで、プラットフォームの最初の知り合いを終えて、すべてが正しく機能することを確認できます。

手術室でArduinoを使い始めることを検討してください Windowsシステム。 例としてArduinoUnoプラットフォームを取り上げましょう。 他のボードの場合、違いはごくわずかです。

ArduinoIDEのインストール

まず、Arduino統合開発環境をコンピューターにインストールする必要があります- Arduino IDE。 なぜなら ArduinoSRLとArduinoLLC間の戦争、プラットフォームモデルに応じて、ArduinoIDEバージョンを選択します。

ArduinoIDE1.7.7をダウンロードする-すべてのプラットフォーム用(Arduino SRLの安定バージョン)。
ArduinoIDE1.6.4をダウンロードする-Arduino LeonardoETHとArduinoM0(Arduino LLCの安定バージョン)を除くすべてのプラットフォーム用。

ArduinoIDEの起動

Arduino IDEをダウンロードしてインストールしたら、起動して実行しましょう。 以下のようなウィンドウが開きます。

何かがうまくいかなかった?

Arduino IDEが起動しませんか? JRE(Javaランタイム環境)がコンピューターに正しくインストールされていない可能性があります。 については(1)項を参照してください。 Arduinoのセットアップ IDE:インストーラーはJREをデプロイするすべての作業を行います。

Arduinoをコンピューターに接続する

Arduino IDEをインストールしたら、Arduinoプラットフォームをコンピューターに接続します。

USBケーブルを介してArduinoをコンピューターに接続します。 ボードの「ON」LEDが点灯し、「L」LEDが点滅し始めます。 これは、ボードとマイクロコントローラーに電力が供給されることを意味します Arduinoが始まりました工場でプログラムされた「点滅」プログラム(LEDの点滅)を実行します。

特定のArduinoで動作するようにArduinoIDEを構成するには、コンピューターがこのプラットフォームに割り当てたCOMポート番号を確認する必要があります。 これを行うには、[デバイスマネージャー]ウィンドウに移動し、[ポート(COMおよびLPT)]タブを開きます。 次の画像が表示されます。


これは、オペレーティングシステムがArduinoボードをCOMポートとして認識し、適切なドライバーを選択して、このCOMポートに番号2を割り当てたことを意味します。別のArduinoボードをコンピューターに接続すると、オペレーティングシステムはそれに別の番号を割り当てます。 。 したがって、Arduinoボードが複数ある場合は、COMポート番号に惑わされないことが非常に重要です。

何かがうまくいかなかった?

後の場合 Arduino接続コンピューターに、デバイスマネージャーに新しいデバイスが表示されない。これは次の理由の1つが原因である可能性があります。
USBケーブルまたはポートの不良
オペレーティングシステムによるブロック
故障 arduinoボード

Arduinoと連携するようにArduinoIDEを設定する

次に、Arduino IDEに、通信するボードがCOMポート番号2にあることを通知する必要があります。
これを行うには、メニューの[ツール]ポートに移動し、ポート「COM2」を選択します。 これで、ArduinoIDEは認識します-何かが「COM2」ポートにあります。 そして、この「何か」で、彼女はすぐにコミュニケーションをとる必要があります。

Arduino IDEに疑いの余地がないように、どのボードを使用するかをArduinoIDEに指示する必要があります。 これを行うには、メニューの[ツールボード]に移動し、ボード「ArduinoUno」を選択します。


これで、ArduinoIDEはArduinoをフラッシュするために必要なすべてを認識します。

何かがうまくいかなかった?

シリアルポートのリストは空ですか? そのため、Arduinoは正しく接続されていません。 手順(3)に戻って、接続をデバッグします。
Arduino IDEはメニューをナビゲートするときに信じられないほど遅いですか? デバイスマネージャですべての外部「Bluetoothシリアル」デバイスを無効にします。 たとえば、接続する仮想デバイス 携帯電話 Bluetooth経由でこの動作が発生する可能性があります。

環境が構成され、ボードが接続されます。 これで、スケッチのアップロードに進むことができます。
Arduino IDEには、問題の解決策をすばやく確認できる既製の例が多数含まれています。 「まばたき」の簡単な例もあります。 選びましょう。


コードを少し変更して、工場出荷時に点滅しているLEDとの違いを確認しましょう。
行の代わりに:

コードのフルバージョン:

void setup()
{
//ピン13を終了モードに設定します
pinMode(13、OUTPUT);
}

void loop()
{
//ピン13「高信号」に適用します
digitalWrite(13、HIGH);

//100ミリ秒待つ
delay(100);

//ピン13「低信号」を適用します
digitalWrite(13、LOW);

//100ミリ秒待つ
delay(100);
}

「L」LEDが100ミリ秒ごとに点滅するはずです。 これは、工場出荷時のバージョンよりも10倍高速です。 スケッチをArduinoにアップロードして、それが本当かどうかを確認しましょう。

ロード後、LEDはより速く点滅し始めます。 これは、すべてがうまくいったことを意味します。 これで、安全に「実験」に進むことができます

何かがうまくいかなかった?

ロードすると、avrdudeのようなエラーが発生します:stk500_get sync():同期していません:resp = 0x00? これは、Arduinoが正しく構成されていないことを意味します。 前の手順に戻って、デバイスがオペレーティングシステムによって認識され、COMポートとボードモデルの正しい設定がArduinoIDEで設定されていることを確認します。

コメント:

Arduinoプラットフォームのコアは、ATmega328として知られるマイクロコントローラーチップです。

ATmega328は、実際にはすべての点で8ビットコンピュータです。電源を入れた後、そのプロセッサは指定されたメモリ位置からバイトをロードし、それをコマンドとして解釈します。 次に何が起こるかは、そのバイトの値によって異なります。 私たちが知っているコンピュータとは異なり、ATmega328は何も実行しません オペレーティング·システム:リソースの使用は、プログラマーの完全な制御下にあります。 メモリの割り当てを誤ったり、オーバーフローしたり、正確な自動システムに望ましくないその他の結果をもたらす可能性のあるオペレーティングシステムに依存することはできません。 さらに、プロセッサは一度に1つのタスクしか処理できません(すべてのプロセッサがこのように動作することはご存知でしょうが、オペレーティングシステムは、コンピュータ上の複数のプログラムが同時に動作します)。

新しいArduinoには完全に空のメモリがあるため、プロセッサによって処理される最初のバイトの値はゼロです:「操作なし」。 前 Arduinoを使用する実行可能プログラムをそのメモリにロードする必要があります。 ビットのシーケンス。最初のビットはコマンドとして解釈され、実行されます。 コマンドを実行するためにパラメータが必要な場合、それらはメモリの次のバイトから取得されます。 コマンドの実行後、プロセッサは受信したバイトをメモリにロードし、コマンドとして解釈します。 Arduinoをオフにしても、メモリは消去されません。 ロードされたバイトのシーケンスは不揮発性メモリに保存されるため、再度オンにすると、プログラムは最初から再開されます。

プロセッサの動作周波数は、16MHzのクロックジェネレータによって設定されます。 USBコネクタから電源を供給できます。 なしで作業するには ArduinoUSB電源別の7〜12 V電源が必要です(この電圧はオンボードレギュレータによって必要なレベルに正規化されているため、そのための安価な電源が必要です)。 搭載されている場合、ユーザーは5Vと3.3Vの両方の電圧レベルを利用でき、そこから最大50mAの電流を引き出すことができます。

Arduinoメモリは3つのタイプで構成されています。フラッシュメモリ。プログラムは32KBで保存されます。 (SRAM)2 KB、プロセッサはプログラムで使用される変数を格納および上書きします。 1 KBの読み取り専用メモリ(EEP-ROM)。プログラマは、コントローラの再起動時に残るはずのデータを保存できます(プログラムが保存されるフラッシュメモリなど)。 少なくとも数ギガバイトを処理する今日のコンピューターと比較すると、35kbはばかげているように見えますが、実際にはほとんどの目的には十分です。 オペレーティングシステムがないため、メモリの使用は完全にあなたの責任です。メモリオーバーフローが発生したり、存在しないメモリ位置にアクセスしたりすると、プログラムが予期しない動作をする可能性があり、デバッグ中に追跡するのは非常に困難です。 プログラムでは、変数の数を常に制御する必要があります。

ATmega328プロセッサは、14個のディスクリートI / Oポート(0〜13の番号)、6個のアナログ入力、およびUSBポートに接続されています。 ディスクリートI/Oは 電気接続、2つのブール状態を持つことができます:1と0、またはTRUEとFALSE、またはのように Arduino構文、LOWおよびHIGH。 信号がLOW値の場合、対応するピンの電位は0 Vです。つまり、に接続されています。 コモンワイヤー。 信号がHIGHの場合、このピンとグランド間の電圧レベルは5Vです。

ピン0と1は、シリアルデータの送受信に使用されます。これらを介して、Arduinoボードは、シリアルプロトコルを使用して接続されているモジュール(シールド)と通信できます。 シリアルプロトコルは、各ビットが次々に送受信される通信プロトコルです。 ピン2と3は割り込みとしても使用できます。 割り込みは、特定の論理状態が発生したときに現在のプロセッサプログラムに割り込みをかけるデジタル入力の電気信号です。 従来のコンピュータのプロセッサにも割り込みが存在します。 割り込みが発生すると、プロセッサはその状態をメモリに格納し、プログラムの実行を遅らせ、割り込みハンドラの実行にジャンプします。これは、割り込みを処理するために必要なプログラムコードの短い部分です。 完了すると、プロセッサは割り込みが到着する前のステータスを再開し、プログラムの実行を再開します。

ピン3、5、6、9、10、および11はPWM出力として使用でき、いくつかのアナログ設定があります。 したがって、それらのメモリセルには0〜255の値が含まれています。

図1上下から見たArduinoUNO 裏面のイタリアの地図に注意してください。

ピン13はボード上のLEDにも接続されています。 信号がLOWの場合、LEDはオフになり、信号がHIGHの場合、LEDはオンになります。

デジタルI/Oとしての標準的な使用に加えて、ピン10、11、12、および13は、外部周辺機器と通信する機能を提供します。

アナログ入力にはA0...A5のラベルが付いています。それぞれのデジタル解像度は10ビットで、

つまり、0〜5Vの電圧を、メモリでアクセスできる0〜1023の数値に変換します。

すべてのプラットフォームは、60.6mm×53.4mmで、重量が25 g以下のボードに取り付けられています(図1)。

ボードにはUSBA/ Bコネクタもあり、これを使用してボードをコンピュータに接続して通信できます。 USB接続は、コンピューターに接続したときにArduinoにも電力を供給するため、開始するのに外部電源は必要ありません。

プログラム

Arduinoプログラムは、プロセッサの他のプログラムと同様に、機械語のビットシーケンスです。 プログラマーの生活を楽にするために、Arduinoチームはプログラミング言語を開発しました 上級、Arduinoメモリにマシンコードを注ぐためのコンパイラおよびファームウェアツール。

これらのツールはすべて、1つのIDE(統合開発環境)プログラムに無料で含まれています

Arduino Webサイトからダウンロードするには:コンピューターのオペレーティングシステムを選択し、プログラムをダウンロードします。 ほとんどの通常のコンピュータプログラムと同じように見えます。 異なるウィンドウにいくつかのタブがあります。 これらのウィンドウの1つは、プログラムの編集に使用されます。 Arduinoの専門用語ではスケッチと呼ばれます。 スケッチは簡略化されたC++で記述されています。


図2Arduinoプログラムは、プログラムのテキストを入力できるウィンドウとして表示されます。これは単にスケッチと呼ばれます。

スケッチを次のようにコンパイルできます Arduinoプログラム(図2)ウィンドウの左上隅にある[確認]ボタンをクリックします。コンパイルプロセスにより、C++プログラムがATmega328プロセッサの対応するマシンコードに変換されます。 コンパイルしたら、アップロードボタンを押すことで、実行可能スケッチをUSBケーブル経由でArduinoメモリにアップロードできます。 使用可能なCOMポートが複数ある場合は、メニューから適切なCOMポートを選択する必要がある場合があります。 スケッチをロードすると、常にコンパイラが最初に実行されます。 スケッチは、ダウンロードが完了した直後に開始されます。

Arduinoチームまたはサードパーティによって開発された外部ライブラリを使用して、コア言語に追加機能が追加されます。 適切なメニュー項目を選択することにより、ライブラリを実行可能コードに含めることができます。 必要に応じて、ライブラリを追加すると、新しい構文についてコンパイラに通知する線がスケッチに自動的に追加されます。