AVR StudioのCのArduinoプログラミング。 Arduinoプログラミング言語の紹介

初心者のためのArduinoプログラミング言語は、以下の表に示されています。 Arduino Microcontrollerは、C / C ++に基づく特別なプログラミング言語でプログラムされています。 言語 プログラミングArduino。 それは様々なC ++、言い換えれば、Arduinoのための別々のプログラミング言語はありません。 ページの最後にあるPDFブックをダウンロードしてください。

Arduino IDE すべての書面によるスケッチは、最小限の変更でC / C ++プログラムにコンパイルされます。 Arduino IDEコンパイラはこのプラットフォームのための書き込みプログラムを非常に単純化し、Arduino上のデバイスの作成はC / C ++で大きな知識を持たない人々にはるかにアクセスできなくなります。 例のArduino言語の基本機能の説明を持つ小さな証明書をさらに渡しましょう。

Arduino言語の詳細なハンドブック

言語は、演算子、データ、機能、および図書館の4つのセクションに分類できます。

アードゥーノ description

演算子

セットアップ () void setup()
{
pinMode(3、入力)。
}
この関数は変数を初期化し、ボード上の結論の動作モードなどを決定します。 マイクロコントローラへの各電源装置の後に、関数は一度だけ始まります。
loop() void loop()
{
digitalWrite(3、High);
遅延(1000);
digitalWrite(3、Low);
遅延(1000);
}
ループ関数はサイクル内で回転しており、プログラムは計算を行い、それらに反応します。 これらの演算子がプログラムで使用されていなくても、setup()およびloop()関数は各スケッチに存在する必要があります。

マネージャーオペレーター

もしの場合
if(x\u003e
if(X.< 100) digitalWrite (3, LOW );
IFステートメントは比較演算子と組み合わせて使用\u200b\u200bされます(\u003d\u003d、!\u003d、<, >真実が達成されたかどうかを確認します。 たとえば、変数xの値が100より大きい場合、出力13のLEDは、LEDが消灯しています。
あれば
if(x\u003e 100)DigitalWrite(3、高)。
それ以外のDigitalWrite(3、Low);
ELSEオペレータを使用すると、複数の相互に排他的な小切手を実装している場合以外のチェックを確認できます。 誰も真実の結果を受け取られていない場合、オペレータユニットは他に実行されています。
スイッチケース。
スイッチ(x)
{


ケース3:破断;

}
スイッチオペレータがプログラムを管理し、異なる条件下で実行されるアクションを設定できるように、ICのように。 Breakはオペレータからの出力のコマンドで、選択肢が選択されていない場合はデフォルトが実行されます。
にとって void setup()
{
ピンモード(3、出力)。
}
void loop()
{
の場合(int i \u003d 0; I.<= 255; i++){
アナログライト(3、i);
遅延(10);
}
}
このデザインは、カーリーブラケットに囲まれた繰り返し演算子に使用されます。 例えば、LEDの滑らかな暗色化。 for Cycle Headerは3つの部分で構成されています。(初期化;条件;増加) - 初期化が1回実行され、条件が正しい場合はインクリメントがインクリメントされます。 このサイクルは、誤った状態の状態になるまで繰り返されます。
一方 void loop()
{
一方(X.< 10)
{
x \u003d x + 1。
serial.println(x);
遅延(200);
}
}
while演算子は、括弧内の状態が真実になるまで実行されるサイクルとして使用されます。 この例では、while Cycle Operatorはxが10未満まで括弧内のコードを無限に繰り返します。
一方を行います void loop()
{
行う。
{
x \u003d x + 1。
遅延(100)。
serial.println(x);
}
一方(X.< 10);
遅延(900);
}
サイクル演算子は...しばらくの間に動作します。 ただし、括弧内の表現の真実では、サイクルは継続され、サイクルから出力されません。 上記の例では、xを10を超えると、追加操作は続行されますが、1000ミリ秒の一時停止です。
ブレーク
継続する。
スイッチ(x)
{
ケース1:DigitalWrite(3、High);
ケース2:DigitalWrite(3、Low);
ケース3:破断;
ケース4:続ける。
デフォルト:DigitalWrite(4、High);
}
サイクルの完了を待たずに、スイッチからの出力を強制するためにブレークを使用します。
続行オペレータは、現在のサイクルステップで残りの演算子をスキップします。

構文

;
(セミコロン)

digitalWrite(3、High);
Sein Pointはオペレータの終わりを指定するために使用されます。 文字列の末尾に忘れられて、コンパイル時にコンマポイントがエラーが発生します。
{}
(中括弧)
void setup()
{
pinMode(3、入力)。
}
開口ブラケット「(「閉鎖ブラケット」を伴う必要があります)」。 スケッチをコンパイルするときに、括弧内の括弧が隠されていないエラーにつながる可能性があります。
//
(コメント)
x \u003d 5; //コメントします

マイクロコントローラの研究は、複雑で理解できないようですか? アルジノの外観の前に - それは本当に簡単ではなく、特定のプログラマーやその他の機器を必要としていました。

これは一種の電子デザイナーです。 プロジェクトの最初のタスクは、最小電子部品時間を支払っている間、人々がプログラミング電子機器を簡単に学ぶことを可能にすることです。

最も複雑な回路のアセンブリとボードの接続は、はんだ付け用の鉄なしで、そしてDAD接続と「ママ」のジャンパーの助けを借りて行うことができます。 これは、LEXICON ARDUINCHIKOV上の単に「Shield」と呼ばれるヒンジ要素と延長手数料の両方に接続できます。

最初のArduinoボードは新人を購入しましたか?

基本的かつ最も人気のある料金が考えられます。 この手数料サイズはクレジットカードに似ています。 かなり大きい。 販売中のほとんどのシンドは彼女に最適です。 ソケットは外部機器を接続するためのボード上にあります。

2017年の国内店では、その価格は約4~5ドルです。 現代のモデルでは、その心はAtmega328です。

Arduinoボードのイメージと各出力関数の復号化、Arduino Uno Pinout

このボード上のマイクロコントローラは、DIP28ケース内のチップの長さであり、これは彼が28本の足を持っていることを示しています。

次の料金の人気は、前の1〜2-3ドルよりも安いほど2歳です。 これはボードです。 現在のボードはATmega328として構築されており、それらはUNO、サイズの違い、USBとの調整を解決し、これは後で読む。 別の違いは、プラグが装置の基板に接続され、針の形で設けられることである。

このボードのピン数(脚)が一致していますが、マイクロコントローラがよりコンパクトなTQFP32パッケージで作られていることを確認できます.ADC6とADC7がハウジングに追加され、他の2つの「余分な」脚は電源を複製します。 そのサイズは非常にコンパクトです - あなたの手の親指のように。

3回目のポット性は、これがコンピュータに接続するためのUSBポートがない、コミュニケーションの完了、私は少し後で伝えます。

これはすべての検討されたすべての手数料で、残りの部分では前の2つと似ています、そしてその心はまだatmega328です。 これは初心者のための記事であるので、他の料金は考慮されません、そしてボードの比較は別の記事のトピックです。

USB-UART接続方式の上部には、マイクロコントローラ放電回路で希釈されたピン "Grn"を他方で呼び出すことができます。

UNOがタグ付けに便利な場合は、NanoとPro Miniはプロジェクトの最終バージョンに便利です。

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

Arduino UnoとNanoはUSBコンピュータに接続されています。 同時に、ポートのUSBポートサポートがない場合、レベル変換ソリューションはここで通常USB-To-SerialまたはUSB-UART(RS-232)と呼ばれます。 同時に、マイクロコントローラは特別なArduinoローダーをフラッシュします。これにより、これらのタイヤを点滅させることができます。

Arduino Unoは、USBサポート - ATMEGA16U2(AT16U2)でマイクロコントローラに実装されています。 この状況は、ボード上の追加のマイクロコントローラがメインマイクロコントローラのファームウェアに必要とされることが得られる。

Arduino Nanoでは、これはFT232Rマイクロ回路、またはそのアナログCH340によって実装されています。 これはマイクロコントローラではありません。レベルコンバータは、Arduino Nanoアセンブリを自分の手で傷から捉えます。

通常、Arduinoが接続されているときにドライバが自動的にインストールされます。 しかし、私が買ったとき 中国のコピー Arduino Nano、デバイスが識別されましたが、それは機能しませんでしたが、ラウンドラベルが発売日について送信機に貼り付けられました、それが行われたかどうかわかりませんが、私はそれを拒否しました、私はそれを拒否しました

その前に、私はそのようなことを遭遇しなかったし、すべてのUSB-UARTコンバータがFT232で収集されたと思いました.RORIVERSをダウンロードしなければならなかった、「ARDUINO CH340ドライバ」の要求については非常に簡単です。 簡単なインスタレーションの後 - すべてがうまくいった!

同じUSBポートを通して、マイクロコントローラを食べることができます、すなわち 携帯電話アダプタに接続すると、システムが機能します。

ボードにUSBがない場合はどうしますか?

Arduino Pro Miniの寸法が小さい。 これは、USBファームウェアコネクタと同じUSB-UARTコンバータを取り外したという事実に達しました。 したがって、別々に購入する必要があります。 CH340(最も安い)CPL2102およびFT232Rの最も単純なコンバーターは、1ドルの価値がある販売のためです。

購入するときは、このアダプターによって電圧が計算される方法に注意してください。 PRO MINIは3.3と5 Vのバージョンで、コンバータは電源電圧を切り替えるためにジャンパがあります。

Proミニファームウェアが始動する直前に、リセットをクリックする必要がありますが、下図の接続回路であるDTRを使用してコンバータで実行する必要はありません。

彼らは特別なターミナル「ママママ」(女性 - 女性)によって結合されています。

実際には、すべての接続はそのような端末(DuPont)を使用して実行できます(Dupont)、それらは両側からネストとプラグとネストの片側と他方のプラグの上にあります。

Arduinoのプログラムを書く方法は?

スケッチ(Arduinchikovのファームウェアの名前)で動作するには、Arduino IDEを開発するための特別な統合環境があり、公式のWebサイトからダウンロードすること、またはテーマ別リソースからダウンロードすることができます。通常はインストールでは発生しません。

これがプログラムインターフェイスがどのように見えるものです。 Arduinoの簡易言語C AVR用に特別に設計されたプログラムを書くことができます。実際、これは、配線と呼ばれる一連のライブラリ、および純粋なC AVRと呼ばれます。 その使用はコードを容易にし、その作業を高速化します。

ウィンドウの上部には、ファイル、設定を開くことができ、あなたが作業している手数料を選択してください(UNO、Nano、他の多くの多くの他の多くの他の多くの人)、そして既製のコード例のプロジェクトも開くことができます。 以下はファームウェアを操作するためのボタンのセットです、あなたは下の図の鍵の割り当てを見るでしょう。

ウィンドウの下部には、プロジェクトに関する情報を表示する領域、コードのコード、ファームウェア、およびエラーの可用性が表示されます。

Arduino IDEのプログラミングの基本

コードの先頭には、変数を宣言し、それらが次のように行われている場合は追加のライブラリを接続する必要があります。

#biblioteka.hを含む。 //ライブラリを "biblioteka.h"という名前で接続してください

#define Peremennaya 1234; // valueを1234の値で宣言します

DEFINEコマンドはコンパイラ自体を変数の種類を選択しますが、整数int、または浮動小数点floatなど、手動で設定できます。

int LED \u003d 13。 //変数 "LED"を作成し、値 "13"を割り当てた

プログラムは1または0として松の状態を決定することができます1 - これは論理ユニットであり、ピン13が1の場合、その物理的な脚の電圧はマイクロコントローラの電源電圧と等しくなる(Arduino UnoとNanoのための)。 - 5 V)

デジタル信号はDigitalWrite(PIN、VALUE)コマンドによって記録されます。

digitalWrite(LED、ハイ); //ピン13で単位を記録します(上記の上で宣言しました)。 単位。

どのようにしてポートへの魅力が、番号に対応するボード上の番号付けになります。 これは前のコードと同様の例です。

digitalWrite(13、ハイ); //ユニットの結論13を設定してください

多くの場合、関連する時間遅延関数はdelay()コマンドによって呼び出され、その値はミリ秒単位で設定され、マイクロ秒が実現されます。

delayMicroseconds()遅延(1000); // Microcontrollerは1000ミリ秒(1秒)待機します

入出力のポート設定は、void setup()関数、コマンドで設定されます。

pinMode(Nomerporta、Output / Input); //引数 - 名前変数またはポート番号、入力または選択

最初の点滅プログラムを参照してください

Peculiarの "Hello、World"として、LEDが点滅しているプログラムで、そのコードを理解しましょう。

PINMODEコマンドの開始時に、MicroControllerに出口にLEDを持つポートを割り当てます。 コードでは、変数 "LED_BUILTIN"の宣言がないことに注目していますが、内蔵LEDがONO、ナノ料金などに接続されていることです。プラントから植物に植えられます。 それはあなたのプロジェクトで、またはあなたの点滅プログラムの最も単純なチェックのためにあなたが示すことができます。

次に、LEDが1つ(5 V)にある出力を設定し、次の行はMKを1秒待つとし、LED_BUILTINピンをゼロに設定し、2秒間待機してサークル内でプログラムを繰り返します。たとえば、LED_BUILTINが1 - LED(LED(ポートに接続されている他の荷重)が1 - LEDの場合は0 - OFFのときにオンになります。

アナログポートから値を読み、読み取りデータを使用する

AVR atmega328マイクロコントローラには、10ビットアナログデジタルコンバータが内蔵されています。 10ビットADCを使用すると、信号の振幅全体から1/1024の刻みで、0から5ボルトの電圧の値を読み取ることができます(5V)。

状況を考慮することを明確にするために、アナログ入力2.5bの電圧値を指定しましょう。これは、電圧が0 - "0"の場合はピナ "512"からの値を読み取ることを意味し、5V - (1023)の場合はマイクロコントローラが値を読みます。 )。 1023 - スコアは0から、すなわち、すなわち 0,1,2,3など 最大1023 - 1024の値。

これはコード内の調べられた方法で、標準スケッチの「analoginput」の例です。

int sensorpin \u003d a0。

int ledpin \u003d 13;

iNT SENSORVALUE \u003d 0;

ピンモード(LEDPIN、出力)。

sensorValue \u003d AnaloGread(SensorPin);

digitalWrite(LedPin、High);

遅延(SensorValue);

digitalWrite(LedPin、Low);

遅延(SensorValue);

変数を宣言します。

    Ledpin - 出力上の内蔵LEDを持つIDUを自己処方し、個々の名前を付ける。

    sensalPin - Analogの印入力、ボード上のマーキングに設定します.A0、A1、A2など。

    sensorValueは、整数読み取り値を格納し、さらに処理するための変数です。

コードは次のように機能します.SensonValue SensorPin(Analogread Team)から読み込んだアナログ値を保存します。 - ここでは、前の例のようにすべてのものにアナログ信号を終了します。

LEDPINでユニットを記録すると、LEDが点灯し、センサ数値と等しい時間を待っています。 0から1023ミリ秒まで。 LEDをオフにしてこの期間再び待機してください。その後、コードが繰り返されます。

したがって、ポテンショメータの位置は、LEDの点滅の周波数を設定します。

Arudinoのマップ機能

例えば、サーボは回転角、すなわち状況の床上(180度)に限定される。サーボモータの最大関数引数は "180"です

Syntax:Map(翻訳した値、最小入力値、入力の最大値、最小出力値、最大出力値)。

コードでは次のようになります。

(地図(Analogread(Pot)、0,1023,0,180))。

0から1023までのポテンショメータ(AnalogRead(Pot))で値を読み、出力には0から180までの数字が得られます

マップ値:

実際には、同じサーボコードを作動させるための作業に適用され、前のセクションを慎重に読むと、説明は必要ありません。

と接続方式。

Arduinoの結論は、マイクロコントローラを扱う学習のための非常に便利なツールです。 そして、純粋なC AVRを使用する場合、または「PURE C」と呼ばれることがある場合は、コードの重量を大幅に削減し、それは優れた固定を得ることになる結果として、マイクロコントローラのメモリに収まるようになります。 USBファームウェアの可能性を持つ工場の実行の手数料。

私はArduinoが好きです。 マイクロコントローラの多くの経験豊富なプログラマーが、それが単純化されすぎると散乱しているのは残念です。 原則として、言語だけが単純化されていますが、それを使用する力は、MicrocontrollerをICSPコネクタを介してフラッシュして、ブートローダが不要な場合は、必要なコードを注ぐことができます。

高度なデザイナーとして、エレクトロニクスと遊びたい人のために - それは素晴らしい、そして経験豊富なプログラマーのために、アセンブリを必要としない手数料としても役に立ちます!

Arduinoの詳細とさまざまなスキームでの使用の機能については、電子書籍を参照してください。 .

歴史的には、Arduinoソフトウェアのパートは、書面によるコードをハードウェアに書き込む、コンパイル、ダウンロードすることを可能にする統合ソフトウェア環境(IDE)で構成されています。 Arduinoideの認証情報、および配線自体の言語は、まず、C / C ++上で間接的に処理されます。 本質的に、Arduino IDEは大集合の塩水、笑いではなく、そしての設備です。

私でも外向的にI.アルドイーノ。IDE I.処理が似ています


プログラム(スケッチ)とは何ですか?
各プログラム、それは別々のセットで構成されていないように構成されている ブロック フィギュアブラケット()で示されるコード。 最小プログラムは2ブロックしか必要としません:セットアップとループ。 彼らの存在は必然的にArduinoのC ++上のプログラムであり、そうでなければコンパイル段階でエラーを得ることが可能です。
void setup()()void loop()()
setup()関数では、変数の初期設定、レジスタが発生します。 setup()を完了したら、制御はLOOP()関数に進みます。これは、本体に記録されている無限ループです(())。 コントローラのすべてのアルゴリズムアクションを実行するのはこれらのコマンドです。

ハードウェア」こんにちは。, 世界"" - 点滅LED。
ソフトウェアとハ\u200b\u200bードウェアのジャンクションのArduinoとの最初の知り合いから始まるのは点滅しています。


まず最小プログラムを補足する必要があります。 Arduino(たとえば、UNO)、12ピンとGNDを接続してLEDを接続します(LED自体の色は個人設定から選択されます)。

void setup()(PINMODE(12、出力);)void loop()(DigitalWrite(12、High); Delay(100); DigitalWrite(12、Low);遅延(900);)
Ctrl + C - \u003e Ctrl + V、コンパイル、負荷、WEISSを作成します。 私たちは軽いものを見ます、それは2秒以下です。 なぜこれがまさにそうであるのかを理解しています。

以前の空ブロックで、いくつか追加しました 表現 。 それらはセットアップ関数のフィギュアブラケットの間に置かれました。
各式はプロセッサの命令です。 1ブロック内の式は、一時停止や切り替えなしに厳密に順番に実行されます。 つまり、特定のコードブロックについて話している場合は、何が行われているのかを理解するために上から下に読むことができます。

間に何が起こるのか{ } ?
ご存知のとおり、Arduinoピンは出力と入力の両方で動作できます。 何かを管理したいときは、PINコントロールを作業状態に変換する必要があります。 これは関数内の式によって行われます。セットアップ:
PinMode(12、出力)。 この状況では、式が実行されます コール機能 。 PINMODEは、指定されたモードに設定されているピンを設定します(入力または出力)。 どのような松と態度が言っているのかについて、それはカンマを通して括弧内に示されます。 私たちの場合は、12番目のpingが途中で働くことを望みます。 出力手段出口、入力入力。 12や出力などの明確な値が呼び出されます。 関数の引数 。 関数の本質とその作成者の意志に依存する引数関数はいくつですか。 セットアップとループの例と同様に、関数は引数なしではありません。

次に、ループユニットに移動します。
- DigitalWrite埋め込み関数 それは、DigitalWrite関数2引数を送信する論理ゼロ(Low、0ボルト)または論理ユニット(高、5ボルト)の所与のピンをフィードするように設計されています。ピン番号と論理値。
- 遅延機能 これは、「スリープ」プロセッサを引き起こす組み込み関数を使用します。 一定時間。 1つの引数を1つだけ取ります。ミリ秒単位の睡眠をとります。 私たちの場合は100 msです。 100 ms期限切れとすぐに、プロセッサは起動し、すぐに次の式に進みます。
- 内蔵デジタルライト機能を呼び出します。 今回は2番目の引数は低いです。 つまり、12番ピンに論理ゼロOKをインストールします。 - \u003e 0ボルト - \u003e Gasim LEDを与えます。
- 遅延機能を呼び出します。 今回は、「スパイク」はもう少し900ミリ秒です。

最後の機能が完了するとすぐに、ループブロックが完了し、再度すべてが発生します。 実際、例で提示されている条件はかなり変動しており、遅延値で再生することができ、複数のLEDを接続し、信号や警察のallasherの類似性を作ります(それはすべて憲法のファンタジーと意志によって異なります)。

投獄の代わりに、純度について少し。
実際、すべてのスペース、文字列転送、タブシンボルにはコンパイラに大きな値がありません。 スペースがある場合は、行の転送があり、その逆もあります。 実際、行の10個のギャップ、2行の転送と5つのスペースはすべて1つのスペースと同じです。


空のスペースの助けを借りて、理解できるプログラム、または認識できないことに反して、それとは反対にプログラムを作ることができます。 たとえば、例として指定されたプログラムは次のように変更できます。

void setup()(PINMODE(12、出力);)void loop()(DigitalWrite(12、High); Delay(100); DigitalWrite(12、Low);遅延(900);)

読んでいるときに目から血を読むために、いくつかの簡単な規則に従うことができます。


1. 常に、新しいブロックの始めに(そして) インデントを増やします。 通常2または4スペースを使用してください。 値の1つを選択して、それを全体に固定してください。

void Loop()(DigitalWrite(12、High);遅延(100); DigitalWrite(12、Low)遅延(900)
2. 通常の言語のように:カンマの後にスペースを置きます。

DigitalWrite(12、高);
3. 開始アイコンを(現在の退職レベルまたは前の末尾にある新しい行に)配置します。現在のインデントのレベルの別の行にある[ブロックエンドアイコン)

void setup()(PINMODE(12、出力);)void setup()(PINMODE(12、出力);)
4. 空の文字列を使用してセマンティックブロックを区切ります。

void loop(12)遅延(100); DigitalWrite(12、Low)遅延(900); DigitalWrite(12、高)遅延(100); DigitalWrite(12、Low);遅延(遅延(900);)
5. あなたのブレースチャイルドのために、いわゆるコメントを読むのはうれしいです。 これらは、コンパイラによって完全に無視されているプログラムコード内の構造であり、誰が読み取るのかについてのみ重要です。 コメントはマルチラインまたはシングルラインにすることができます。

/ *これはマルチラインコメントです* ///は1回

必要になるだろう

  • - Arduino Unoボード
  • - uSBケーブル (USB A - USB B)、
  • - パソコン、
  • - 発光ダイオード、
  • - 抵抗器220オーム、
  • - ワイヤのペア5~10cm、
  • - ブレッドボード(ブレッドボード)がある場合。

命令

http://servuino.cc/en/main/softwareページで、オペレーティングシステム(サポートされているWindows、Mac OS X、Linux)のArduino開発水曜日をダウンロードしてください。インストールできます。 ダウンロードしたファイルには、Arduinoボード用のドライバも含まれています。

ドライバをインストールしてください。 Windowsのオプションを検討してください。 これを行うには、いつ待ってください オペレーティング・システム インストールドライバを提供します。 ごみ。 Win + Pauseを押して、デバイスマネージャを実行します。 「ポート(COM&LPT)」を探します。 "Arduino Uno(comxx)"という名前のポートが表示されます。 クリック 右クリック その上のマウスを選択し、「ドライバの更新」を選択します。 次に、ダウンロードしたばかりのドライバの場所を選択します。

開発環境は、ボードの作品を\u200b\u200b研究するための多くの例をすでに含んでいます。 「Blink」を開く例:ファイル\u003e例\u003e 01.BASICS\u003e点滅します。

あなたの料金の開発環境を指定してください。 これを行うには、[ツール]\u003e [メニュー]で[Arduino Uno]を選択します。

ARDUINOボードが割り当てられているポートを選択します。 ポートの接続方法を調べるには、デバイスマネージャを実行してポートセクション(COM&LPT)を見つけます。 ボードの名前がポートになります。 カードがリスト内にない場合は、コンピュータから試して、数秒待ってください。

ボードをコンピュータから外します。 図に示すようにスキームを収集します。 LEDの短肢は、デジタルピン13のArduinoカードを備えた抵抗を介してGND出力に接続する必要があります。 麦色を使うのが便利ですが、欠けていない場合は、ワイヤーをねじれて接続できます。
重要な注意点! デジタルピン13は既にボード上に独自の抵抗を持っています。 したがって、LEDをボードに接続するときは、外付け抵抗は使用されません。 LEDを他のArduinoの他の結論に接続するときは必ず使用してください。

これで、プログラムをボードのメモリにダウンロードできます。 ボードをコンピュータに接続し、ボードの初期化中に数秒待ってください。 「ダウンロード」ボタンをクリックすると、Arduinoブートメモリが記録されます。 Arduinoの下のプログラミングは非常に直感的であり、まったく困難ではありません。 画像を見てください - プログラムへのコメントの中で、説明が小さいです。 あなたの最初の実験に対処するのに十分です。

トピック上のビデオ

注意

Arduinoボードを使って作業するときは注意深く関係がある電子製品です。 ボードの底からは裸の導体があり、ボードを導電性表面に置いた場合は、ボードを焼き付ける機会があります。 また、濡れた手や濡れた手で板に触れないで、Rawroomの操作に避けてください。

役に立つアドバイス

ネットワークにはArduino専用の多くのサイトがあります。 読む、マスター、実験を恐れて新しいことを知らないでください!

情報源:

  • 点滅したLEDを

プログラミングを引き付ける 現代の人々特に、将来の職業を選び始めたばかりの若くて初心者の専門家。 彼らはしばしば質問の前に起きます - プログラミングの研究の中でどこに始まるのですか? プログラムする方法を学ぶことにした場合は、一般的な間違いをするべきではありません - すぐに気にしないでください 複雑なシステム そして言語(例えば、c)。 複雑すぎる言語から始めて、あなたは全体としてプログラミングに不適切な印象を与えることができます。 初心者は最も協力することをお勧めします シンプルなシステム - たとえば、Baisikでプログラムを書くことを学びましょう。 この言語の研究は達成するために短い時間を可能にするでしょう 良い結果。 useBASICは簡単です - この普遍的なコンパイルされた言語を持っている言語 幅広い機会プログラミングの基本を理解し、将来的なスキルを向上させるのに役立ちます。

命令

プログラミングの枠組みを研究するには、約1年に行くことができます。 手続き型およびオブジェクト指向プログラミングの機能、バイナリツリー、アレイ、リストなどの操作の原則の特徴を見つける必要があります。 基本を勉強した後にのみ、より複雑なタスクに行きます。

プログラミング言語開発サイトに参加し、ドキュメントを学びます。 プログラマーのフォーラムでは必ず通信してください、彼らは、彼らは初心者の問題のほとんどの問題に対応します。

数学

プログラムすることを学びたい場合は、数学を知る必要があります。 仕事中、この科学の基礎を知らずに解決できない多くの問題に直面する必要があります。 存在します たくさんの 数学的、システムおよび理論(フーリエシリーズ、フィボナッチ数など)。これにより、プログラミングプロセスが大幅に簡単になります。

トレーニングは終了しません

プログラミング言語の進化は依然として立っていない、彼らの開発は絶えずされています。 あなたが仕事をする予定のプログラミングエリアで多くの文献を読むようにしてください。 新たな問題を解決するための代替方法を常に検索し、それはあなたの仕事の効率を絶えず向上させるのを助けるでしょう ソフトウェアコード。 チャットS プロのプログラマー彼らは常に1つまたは別の問題に対処する方法を忠告することができます。 彼らのプログラムのコードを読むこともまたあなたに大きな利益をもたらします。
すべてを念頭に置いておくことは不可能です。 プログラミング言語ディレクトリを使用してください。

プログラミングタスクは、それらがどれほど単純であっても、スキルから解決しなかった。 彼らはいつも働き出す必要があります 正しいアルゴリズム この特定の状況で効果的な行動。 最適なアルゴリズムの検索には、常用慣行とトレーニングが必要です。 小さなプログラミングタスクをより頻繁に解決するようにしてください(あなたはそれらを専門のサイトで見つけることができます)、それはあなたがこの分野であなたのスキルを徐々に捉えるのを助けるでしょう。

最初の場所で、Arduinoの開発に関する作業を開始する場所はデバッグボードを購入することです(すぐに回路基板などを購入するのはいいでしょう)。 市場にどのような種類のアルドイノボードが提示されているかについて説明しました。 他に誰が記事を読んでいなかった私はあなたに知り合いになることを助言します。 基本を探るには、標準のArduino Unoボード(オリジナルまたは中国のコピー - あなたを解決するために)を選択してください。 最初に元の問題を最初に接続すると、問題がないはずですが、「中国語」とは少し移動する必要があります(心配しないでください - 私はあなたにすべてを見せて伝えます)。

Arduino Kを接続する uSBコンピュータ ケーブル。 ボード上のLEDがあるはずです」 オン。"。 デバイスマネージャに新しいデバイスが表示されます。 未知のディバイス"。 ドライバをインストールする必要があります。 ここで私は小さくもたらします nCM (猫を連れて行ってください - 私はどのドライバが決まったかを覚えていませんでした」 未知の機器の問題».

以前にダウンロードして解凍されていないソフトウェアArduino( arduino-1.6.6ウィンドウズ)。 それから私はこれをダウンロードしました。 彼は自己抽出します。 開始ファイル CH341SER.EXE。 選ぶ インストール(インストール)。 インストール後、メッセージが表示され、押されました」 OK「(私は読む時間がありませんでした)。

「不明なデバイス」がプロパティに入った後、「ドライバの更新」ボタンを選びます。 選択した「指定された場所からのインストール」を選択します。 そして奇跡について - すべてがうまく機能しました...

ARDUINOプログラムを実行します(My Case 1.6.6)、アクセスを許可します。

Arduinoのすべてのプロジェクト(プログラム)は2つの部分で構成されています。 ボイドセットアップ そして ボイドループ. ボイドセットアップ 一度だけ実行された ボイドループ それは再び実行されます。

続行する前に、2つの必須操作を実行する必要があります。

- Arduinoソフトウェア環境で指定してください。 ツール - \u003eボード - \u003e Arduino Uno。 マークがすでにあなたが必要とするボード上にある場合 - そうでない場合は良いことです。

- ボードと通信するために使用するシリアルポートをプログラム環境で指定します。 ツール - \u003eポート - \u003e COM3。 マークがすでにポートの上に立っている場合 - でない場合は良いことです。 ポートセクションに複数のポートに表示されている場合は、ボードと接続するために使用されているものを調べる方法を見つけますか? 私たちは料金をかけてそれからワイヤを切断します。 私たちは港に戻り、どちらが消えたかを見てください。 私の場合、すべての「ポート」タブがアクティブではありませんでした。

USBワイヤーをもう一度接続してください。

最初のプログラムの場合、追加のモジュールは必要ありません。 私たちはLEDを含みます。これは既にボードにマウントされている(13マイクロコントローラ出力)。

まず、13の出力を設定します(入力または出力)。

これを行うには、ブロックを入力してください」 ボイドセットアップ"チーム ピンモード。 、括弧内にパラメータを示します (13、出力) (どのような結論が関与しています)。 ソフトウェア環境は、対応するフォントカラーで単語/コマンドを割り当てます。

ブロックに行きなさい」 ボイドループ「そしてチームに入る デジタルライト パラメータで (13、高) .


最初のプログラムは準備ができています、今、それをマイクロコントローラにロードすることは残っています。 アップロードボタンをクリックしてください。

LEDが点灯しています。 しかし、それは最初のプログラムの単純さに関連するのはそれほど懐疑的ではありません。 最初の制御コマンドを習得しました。 LEDの代わりに、荷物を接続することができます(部屋やサーボで照明、給水の重なり合っている)ことができますが、後で説明します。

LED私たちがオンになった、彼は少し叫んだ、それをオフにする時が来ました。 これを行うには、私たちが書いたプログラムを見ます。 の代わりに " 高い "書く" 低い。 ».


アップロードボタンをクリックしてください。 LEDが出ました。

私たちはすでに「」の概念に会った、それはそれらを使う時が来ました。 さらなるプログラムがより包括的で複雑になり、そのようなコードを書くスタイルを残した場合、彼らの変更に関する作業はますます時間を占めます。

プログラムを見てください(再びLEDをオンにします)。 マイクロコントローラの出力番号を設定しない 13 また、対応する出力の値が割り当てられる変数(ケース13)。 将来的には、その値を交換する必要がある場所を検索するのではなく、プログラムの開始時に変数の値を変更することが非常に便利です。

グローバル変数を作成します int LED_PIN \u003d 13; (変数の種類、それに割り当てられた変数名).


アップロードボタンをクリックしてください。 LEDが輝いています。 すべてが完璧に動作します。

このレッスンでは、LEDをオン/オフすることに加えて、フラッシュすることを学びます。

これを行うには、2番目のコマンドを入力してください。 デジタルライト» パラメータで (LED_PIN、低い。).


アップロードボタンをクリックしてください。 そして私たちは何を見ますか? LEDは「POKの床に」輝きます。 その理由は、2つの状態の切り替え時間があるという事実にあります( 高い そして 低い。 )それほど多くなく、人間の目はこれらの切り替えをキャッチすることはできません。 その状態の1つのLEDの時間を長くする必要があります。 これを行うにはチームを書いています ディレイ。 パラメータで (1000 ) 。 ミリ秒の遅延:1000ミリ秒 - 1秒。 プログラムアルゴリズムは次のとおりです.LEDをオンにします - 1秒間待って、LEDをオフにしました - 1秒などを待っています。


アップロードボタンをクリックしてください。 LEDがちらつき始めました。 すべてが働いています。

遅延期間を担当する値に割り当てる変数を作成することで、プログラムを改善します。


アップロードボタンをクリックしてください。 LEDは、Merzlとしてのちらつきです。

私たちが書いたプログラムを洗練します。 タスクは次のとおりです。

  • LEDは0.2秒と0.8秒のオフになっています。
  • LEDは0.7秒と0.3秒間の電源を入れます。

プログラムは、一時的な遅延を担当する2つの変数を作成します。 LEDの動作時間を決定し、2番目は無効LEDの動作時間です。

注意してくれてありがとう。 また近いうちにお会いしましょう!

トピックを続ける:
通信網

はじめに次のアップグレードの時間が起きたときに、私はほとんどすべてのコンポーネントを新たに取得しました。 そして古い、親切、良い、...