Arduino入門:ビギナーズガイド

Arduino入門:ビギナーズガイド

Arduinoはオープンソースのエレクトロニクスプロトタイピングプラットフォームであり、Raspberry Piを除いて、世界で最も人気のあるプラットフォームの1つです。 300万台以上(およびサードパーティのクローンデバイスの形でさらに多く)を販売したこと:何がこれほど優れているのか、そしてそれで何ができるのか?





Arduinoとは何ですか?

Arduinoは、使いやすく、柔軟性のあるハードウェアとソフトウェアに基づいています。アーティスト、デザイナー、エンジニア、愛好家、そしてプログラム可能な電子機器に少しでも興味がある人のために作られています。





Arduinoは、さまざまなボタン、コンポーネント、センサーからデータを読み取ることで環境を感知します。それらはLEDを制御することによって環境に影響を与える可能性があります。 モーター 、サーボ、リレー、その他多数。





Arduinoプロジェクトはスタンドアロンにすることも、コンピューターで実行されているソフトウェアと通信することもできます( 処理 このための最も人気のあるソフトウェアです)。彼らは他のArduino、Raspberry Pi、NodeMCU、または他のほとんどすべてと話すことができます。これらのマイクロコントローラー間の違いを完全に比較するには、5ドルのマイクロコントローラーの比較を必ずお読みください。

あなたは尋ねているかもしれません、なぜArduinoを選ぶのですか? Arduinoは、プログラム可能なエレクトロニクスプロジェクトを構築するプロセスを本当に簡素化し、初心者にとって素晴らしいプラットフォームになります。これまでの電子機器の経験がなくても、簡単に作業を開始できます。何千ものチュートリアルが利用可能であり、これらの難易度はさまざまであるため、基本をマスターすれば、確実に挑戦することができます。



Arduinoのシンプルさに加えて、安価でクロスプラットフォームのオープンソースでもあります。 Arduino Uno(最も人気のあるモデル)は、AtmelのATMEGA16U2マイクロコントローラーをベースにしています。サイズ、出力、仕様が異なるさまざまなモデルが製造されているため、すべての違いについては購入ガイドをご覧ください。

ボードの計画は、 クリエイティブコモンズ ライセンスがあるので、経験豊富な愛好家や他のメーカーは、Arduinoの独自のバージョンを自由に作成して、拡張して改善する可能性があります(または、完全にコピーして、今日の低コストのArduinoボードの急増につながります)。





Arduinoで何ができますか?

Arduinoは驚くほど多くのことを行うことができます。それらは、大多数の3Dプリンターに最適な頭脳です。それらの低コストと使いやすさは、何千ものメーカー、デザイナー、ハッカー、およびクリエーターが素晴らしいプロジェクトを作成したことを意味します。 MakeUseOfで作成したArduinoプロジェクトのほんの一部を次に示します。

Arduinoの中には何がありますか?

利用可能なArduinoボードにはさまざまな種類がありますが、このマニュアルでは Arduino uno モデル。これは、周りで最も人気のあるArduinoボードです。では、何がこのことをくすぐるのですか?仕様は次のとおりです。





  • プロセッサー: 16メガヘルツATmega16U2
  • フラッシュメモリー: 32KB
  • RAM: 2KB
  • 動作電圧: 5V
  • 入力電圧: 7〜12V
  • アナログ入力の数: 6
  • デジタルI / Oの数: 14(そのうちの6つはパルス幅変調- PWM )。

スペックはデスクトップコンピュータに比べるとごみのように見えるかもしれませんが、Arduinoは組み込みデバイスであり、デスクトップよりも処理する情報がはるかに少ないことを忘れないでください。これは、ほとんどの電子機器プロジェクトに対応できる以上のものです。

Arduinoのもう1つのすばらしい機能は、「シールド」またはアドオンボードと呼ばれるものを使用できることです。このマニュアルではシールドについては説明しませんが、Arduinoの機能を拡張するための非常に優れた方法です。

このガイドに必要なもの

以下に、この初心者向けガイドに必要なコンポーネントのショッピングリストを示します。これらのコンポーネントはすべて、合計で50ドル未満になるはずです。このリストは、基本的な電子機器を十分に理解し、このガイドまたは他のArduinoガイドを使用してかなりクールなプロジェクトを構築するのに十分なコンポーネントを備えている必要があります。すべてのコンポーネントを選択したくない場合は、代わりにスターターキットの購入を検討することをお勧めします。

特定の抵抗値を取得できない場合は、通常、できるだけ近い値で問題なく動作します。

電気部品の概要

これらのコンポーネントのすべてが正確に何であるか、それらが何をするか、そしてそれらがどのように見えるかを見てみましょう。

ブレッドボード

電子回路のプロトタイプを作成するために使用され、コンポーネントを相互に接続する一時的な手段を提供します。ブレッドボードは、ワイヤーを挿入できる穴の開いたプラスチックのブロックです。穴は5つのグループで列に配置されます。回路を並べ替えるときは、ワイヤーや部品を穴から引き出して動かしてください。多くのブレッドボードには、ボードの長さに沿って側面に沿って走る2つまたは4つのグループの穴があり、すべて接続されています。これらは通常、配電用であり、赤と青の線でラベル付けされている場合があります。

ブレッドボードは、回路をすばやく作成するのに最適です。それらは大規模な回路では非常に厄介になる可能性があり、安価なモデルは信頼性が低いことで有名なので、良いものにもう少しお金をかける価値があります。

LED

LEDはの略です 発光ダイオード 。それらは非常に安価な光源であり、特に一緒にグループ化された場合、非常に明るくなる可能性があります。さまざまな色で購入でき、特に熱くならず、長持ちします。テレビ、車のダッシュボード、またはPhilipsHueの電球にLEDがある場合があります。

Arduinoマイクロコントローラーのピン13には、アクションやイベントを示すため、またはテストのためだけに頻繁に使用されるLEDが組み込まれています。

フォトレジスター

フォトレジスター( NS hotocell また 光依存抵抗器 )Arduinoが光の変化を測定できるようにします。たとえば、これを使用して、日中のコンピュータの電源を入れることができます。

タクタイルスイッチ

写真から透かしを削除する方法

触覚スイッチは基本的にボタンです。それを押すと回路が完成し、(通常)0Vから+ 5Vに変化します。 Arduinosはこの変更を検出し、それに応じて対応できます。これらはしばしばです 瞬間的 -つまり、指で押しているときにのみ「押される」ということです。手放すと、デフォルトの状態(「押されていない」またはオフ)に戻ります。

ピエゾスピーカー

ピエゾスピーカーは、電気信号から音を出す小さな小さなスピーカーです。彼らはしばしば過酷で小さなものであり、本物のスピーカーのようには聞こえません。とは言うものの、それらは非常に安価で、プログラミングも簡単です。私たちのバズワイヤーゲームは1つを使用して モンティパイソン「フライングサーカス」のテーマソング

抵抗器

抵抗器は電気の流れを制限します。それらは非常に安価なコンポーネントであり、アマチュアとプロの電子回路の定番です。ほとんどの場合、コンポーネントが過負荷になるのを防ぐために必要です。 Arduino + 5Vが直接アースに接続されている場合は、短絡を防ぐためにも必要です。要するに:非常に便利で絶対に不可欠です。

ジャンパー線

ジャンパー線は、ブレッドボード上のコンポーネント間に一時的な接続を作成するために使用されます。

Arduinoのセットアップ

プロジェクトを開始する前に、Arduinoにコンピューターと通信させる必要があります。これにより、Arduinoが実行するコードを記述およびコンパイルできるようになるだけでなく、Arduinoがコンピューターと一緒に動作する方法が提供されます。

WindowsへのArduinoソフトウェアパッケージのインストール

に向かいます ArduinoのWebサイト お使いのバージョンのWindowsに適したバージョンのArduinoソフトウェアをダウンロードします。ダウンロードしたら、指示に従ってArduinoをインストールします 統合開発環境 (ここ)。

インストールにはドライバーが含まれているため、理論的には、すぐに実行することをお勧めします。何らかの理由でそれが失敗した場合は、次の手順を試して、ドライバーを手動でインストールしてください。

  • ボードを接続し、Windowsがドライバーのインストールプロセスを開始するのを待ちます。しばらくすると、最善の努力にもかかわらず、プロセスは失敗します。
  • クリック スタートメニュー >> コントロールパネル
  • 案内する システムとセキュリティ >> システム 。システムウィンドウが表示されたら、 デバイスマネージャ
  • ポート (COM&LPT)、という名前の開いているポートが表示されます Arduino UNO(COMxx)
  • 右クリック Arduino UNO(COMxx) >> ドライバーソフトウェアの更新
  • 選ぶ コンピューターでドライバーソフトウェアを参照する
  • Unoのドライバファイルに移動して選択します。 ArduinoUNO.inf 、にあります 運転手 Arduinoソフトウェアダウンロードのフォルダ。

Windowsはそこからドライバーのインストールを完了します。

MacOSへのArduinoソフトウェアパッケージのインストール

Mac用のArduinoソフトウェアをからダウンロードします ArduinoのWebサイト 。の内容を抽出します 。ジップ ファイルを作成してアプリを実行します。あなたはそれをあなたのアプリケーションフォルダにコピーすることができます、しかしそれはあなたからうまく動くでしょう デスクトップ また ダウンロード フォルダー。 ArduinoUNO用に追加のドライバーをインストールする必要はありません。

パッケージUbuntu / LinuxへのArduinoソフトウェアのインストール

インストール gcc-avravr-libc

sudo apt-get install gcc-avr avr-libc

openjdk-6-jreをまだお持ちでない場合は、それもインストールして構成してください。

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

正しいものを選択してください JRE 複数インストールしている場合。

に移動します ArduinoのWebサイト Linux用のArduinoソフトウェアをダウンロードします。あなたはできる 広める 次のコマンドで実行します。

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

実行しているOSに関係なく、上記の手順は、オリジナルのブランドのArduinoUnoボードがあることを前提としています。クローンを購入した場合、ボードがUSB経由で認識される前に、ほぼ確実にサードパーティのドライバーが必要になります。

Arduinoソフトウェアの実行

ソフトウェアがインストールされ、Arduinoがセットアップされたので、すべてが機能していることを確認しましょう。これを行う最も簡単な方法は、「Blink」サンプルアプリケーションを使用することです。

ArduinoアプリケーションをダブルクリックしてArduinoソフトウェアを開きます( ./Linux上のarduino )。ボードがコンピュータに接続されていることを確認してから、 LED点滅 スケッチ例: ファイル >> >> 1.基本 >> 点滅 。アプリケーションのコードが開いているはずです。

このコードをArduinoにアップロードするには、でエントリを選択します ツール >> ボード モデルに対応するメニュー- Arduino uno この場合。

ボードのシリアルデバイスをから選択します ツール >> シリアルポート メニュー。 Windowsの場合、これは COM3 以上。 MacまたはLinuxでは、これは次のようになります。 /dev/tty.usbmodem 初期化。

最後に、をクリックします アップロード 環境の左上にあるボタン。数秒待つと、 処方箋TX ArduinoのLEDが点滅します。アップロードが成功すると、ステータスバーに「アップロードが完了しました」というメッセージが表示されます。

アップロードが終了してから数秒後に、 ピン13 ボード上のLEDが点滅し始めます。おめでとう! Arduinoが稼働しています。

スタータープロジェクト

基本を理解したところで、いくつかの初心者向けプロジェクトを見てみましょう。

以前、Arduinoサンプルコードを使用してオンボードLEDを点滅させました。このプロジェクトでは、ブレッドボードを使用して外部LEDを点滅させます。回路は次のとおりです。

LEDの長い脚を接続します(正の脚、と呼ばれる アノード )から 220オームの抵抗器 そしてデジタルへ ピン7 。短い脚(負の脚、と呼ばれる)を接続します 陰極 )直接 接地 (GNDが付いているArduinoポートのいずれか、あなたの選択)。これは単純な回路です。 Arduinoはこのピンをデジタル制御できます。ピンをオンにするとLEDが点灯し、オフにするとLEDがオフになります。 LEDを過大な電流から保護するために抵抗が必要です。抵抗がないと燃え尽きます。

必要なコードは次のとおりです。

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

このコードはいくつかのことを行います。

void setup(): これは、起動するたびにArduinoによって実行されます。ここで、変数やArduinoで実行する必要のあるものを構成できます。

pinMode(7、OUTPUT): これは、このピンを出力として使用するようにArduinoに指示します。この行がないと、Arduinoは各ピンをどう処理するかわかりません。これは、ピンごとに1回だけ構成する必要があり、使用する予定のピンを構成するだけで済みます。

void loop(): このループ内のコードは、Arduinoがオフになるまで、何度も何度も繰り返し実行されます。これにより、大規模なプロジェクトがより複雑になる可能性がありますが、単純なプロジェクトでは驚くほどうまく機能します。

digitalWrite(7、HIGH): これはピンを設定するために使用されます 高い また 低い - オン また オフ 。ライトスイッチと同じように、ピンがHIGHの場合、LEDが点灯します。ピンがLOWの場合、LEDはオフになります。角かっこ内で、これが正しく機能するためにいくつかの追加情報を指定する必要があります。追加情報は、パラメーターまたは引数として知られています。

最初の(7)はピン番号です。たとえば、LEDを別のピンに接続している場合は、これを7から別の番号に変更します。 2番目のパラメータは 高い また 低い 、LEDをオンにするかオフにするかを指定します。

delay(1000): は、ミリ秒単位で指定された時間待機するようにArduinoに指示します。 1000ミリ秒は1秒に等しいので、これによりArduinoは1秒待機します。

LEDが1秒間オンになると、Arduinoは同じコードを実行しますが、LEDをオフにして、さらに1秒間待ちます。このプロセスが終了すると、ループが再び開始され、LEDが再びオンになります。

チャレンジ: LEDをオン/オフする間の時間遅延を調整してみてください。あなたは何を観察しますか?遅延を1つまたは2つなどの非常に小さい数に設定するとどうなりますか?コードと回路を変更して点滅させることはできますか 2 LED?

ボタンの追加

LEDが機能するようになったので、回路にボタンを追加しましょう。

ブレッドボードの中央にあるチャネルをブリッジするようにボタンを接続します。接続します 右上 脚から ピン4 。接続します 右下 脚から 10kオーム 抵抗器そして次に 接地 。接続します 左下の 脚から 5V

なぜ単純なボタンに抵抗が必要なのか疑問に思われるかもしれません。これには2つの目的があります。それは 引き下げる 抵抗器-ピンをグランドに接続します。これにより、スプリアス値が検出されなくなり、Arduinoが防止されます。 考え 押さなかったときにボタンを押しました。この抵抗の2番目の目的は、電流リミッタとしてです。それがなければ、5Vは直接アースに接続されます。 魔法の煙 解放され、Arduinoは死にます。これは短絡と呼ばれるため、抵抗を使用することでこれを防ぐことができます。

ボタンが押されていないとき、Arduinoは地面を検出します( ピン4 >> 抵抗器 >> 接地 )。ボタンを押すと、5Vがアースに接続されます。ピン4がグランドから5Vに変更されたため、Arduinoピン4はこの変更を検出できます。

コードは次のとおりです。

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

このコードは、前のセクションで学習した内容に基づいています。使用したハードウェアボタンは 瞬間的 アクション。これは、押している間だけ機能することを意味します。代替案は ラッチ アクション。これは、ライトやソケットのスイッチと同じです。1回押すとオンになり、もう一度押すとオフになります。幸い、ラッチ動作はコードで実装できます。追加のコードの機能は次のとおりです。

boolean buttonOn = false: この変数は、ボタンの状態(ONまたはOFF、HIGHまたはLOW)を格納するために使用されます。デフォルト値はfalseです。

pinMode(4、INPUT): LEDに使用されるコードと同様に、この行は、入力(ボタン)をピン4に接続したことをArduinoに通知します。

if(digitalRead(4)): と同様の方法で digitalWrite()digitalRead() ピンの状態を読み取るために使用されます。ピン番号(ボタンの場合は4)を指定する必要があります。

ボタンを押すと、Arduinoは25ms待機し、ボタンを再度チェックします。これはとして知られています ソフトウェアデバウンス 。これにより、Arduinoがボタンを押すだけだと考えていることが保証されます。 本当 ボタンを押すだけで、ノイズではありませんでした。これを行う必要はありません。ほとんどの場合、これがなくても問題なく動作します。これは、よりベストプラクティスです。

Arduinoが本当にボタンを押したと確信している場合は、の値が変更されます。 buttonOn 変数。これにより、状態が切り替わります。

ButtonOnは真です: falseに設定します。

ButtonOnはfalseです: trueに設定します。

最後に、LEDはに保存されている状態に応じてオフになります buttonOn

光センサー

高度なプロジェクトに移りましょう。このプロジェクトでは、 光依存抵抗器 (LDR)利用可能な光の量を測定します。次に、Arduinoは、現在の光レベルに関する有用なメッセージをコンピューターに通知します。

USBデバイスがWindows10の切断と再接続を続けます

回路は次のとおりです。

LDRは抵抗の一種であるため、どちらの方向に配置してもかまいません。極性はありません。接続 5V LDRの片側に。反対側をに接続します 接地 経由 1kオーム 抵抗器。こちら側も接続してください アナログ入力0

この抵抗器は、前のプロジェクトと同じように、プルダウン抵抗器として機能します。 LDRはアナログデバイスであり、これらのピンにはアナログハードウェアを正確に読み取るための特別な回路が含まれているため、アナログピンが必要です。

コードは次のとおりです。

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

このコードはいくつかの新しいことを行います:

Serial.begin(9600): これは、9600のレートでシリアルを介して通信することをArduinoに通知します。Arduinoはこれに必要なすべてを準備します。レートはそれほど重要ではありませんが、Arduinoとコンピューターの両方が同じレートを使用している必要があります。

AnalogRead(A0): これは、LDRからの値を読み取るために使用されます。値が小さいほど、利用できる光が多いことを意味します。

Serial.println(): これは、シリアルインターフェイスにテキストを書き込むために使用されます。

シンプル もしも ステートメントは、使用可能な光に応じて、異なる文字列(テキスト)をコンピューターに送信します。

このコードをアップロードし、USBケーブルを接続したままにします(これがArduinoの通信方法であり、電源の供給元です)。シリアルモニターを開きます( 右上 >> シリアルモニター )、0.5秒ごとにメッセージが届くはずです。

あなたは何を観察しますか? LDRを覆ったり、明るい光を当てたりするとどうなりますか? LDRの値をシリアルで出力するようにコードを変更できますか?

音を立てる

このプロジェクトでは、ピエゾスピーカーを使用して音を出します。回路は次のとおりです。

おなじみの何かに気づきましたか?この回路は、LEDプロジェクトとほぼ同じです。ピエゾは非常に単純なコンポーネントです。電気信号が与えられると音が鳴ります。接続します ポジティブ デジタルへの足 ピン9 経由 220オーム 抵抗器。接続します ネガティブ 脚から 接地

コードは次のとおりです。このプロジェクトでは非常に簡単です。

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

ここには、いくつかの新しいコード機能しかありません。

トーン(9、1000): これにより、ピエゾが音を生成します。 2つの引数が必要です。 1つ目は使用するピンで、2つ目はトーンの周波数です。

noTone(9): これにより、提供されたピンで音が出なくなります。

このコードを変更して、別の周波数を生成してみてください。遅延を1msに変更します-何に気づきましたか?

ここからどこへ行くか

ご覧のとおり、Arduinoは電子機器やソフトウェアを簡単に利用できる方法です。初心者向けの最高のマイクロコントローラーの1つです。 Arduinoを使用して簡単な電子プロジェクトを簡単に構築できることをご存知だと思います。基本的なプロジェクトを理解すると、はるかに複雑なプロジェクトを構築できます。

  • クリスマスライトのオーナメントを作成する
  • プロジェクトを強化するArduinoShields
  • Arduinoで独自のポンゲームを構築する
  • Arduinoをインターネットに接続します
  • Arduinoでホームオートメーションシステムを作成する

あなたはどのArduinoを所有していますか?あなたが作りたい楽しいプロジェクトはありますか?詳細については、VSCodeとPlatformIOを使用してArduinoコーディングを改善する方法をご覧ください。

共有 共有 つぶやき Eメール 知っておくべき15のWindowsコマンドプロンプト(CMD)コマンド

コマンドプロンプトは依然として強力なWindowsツールです。これは、すべてのWindowsユーザーが知っておく必要のある最も便利なCMDコマンドです。

次を読む
関連トピック
  • DIY
  • Arduino
  • エレクトロニクス
著者について ジョーコバーン(136件の記事が公開されました)

Joeは、英国のリンカーン大学でコンピュータサイエンスを卒業しています。彼はプロのソフトウェア開発者であり、ドローンを飛ばしたり音楽を書いたりしていないときは、写真を撮ったりビデオを制作したりしていることがよくあります。

ジョーコバーンのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください
カテゴリ Diy