Arduinoとは何ですか?あなたはそれで何ができますか?説明

あなたが私のような人なら、電子機器をいじくり回すことはあなたが本当にやりたいことです–少なくとも理論的には。実際には、時間の制約と知識の欠如は必然的にあなたが試みることを妨げます。

難しすぎる。

あなたは壊れたガジェットを解剖するのが好きですが、雨の日のためにそれらを隠しておく以外にあなたが見つけたビットで何もしないでください(電子レンジ部品でいっぱいの引き出し?チェックしてください!)

Arduinoはそのすべてに対する答えであり、率直に言って、学習中に楽しいと見なすことができるものはすべて、私の意見では本当に革新的なデバイスです。

Arduinoとは何ですか?

Arduinoには、ブランド、ハードウェア、プログラミング言語、製品のエコシステム全体など、さまざまなものがあります。しかし、大まかに言えば、Arduinoについて話すときは、オープンソースの電子機器プロトタイピングプラットフォームを指します

しかし、それはどういう意味ですか?

あなたや私にとって、Arduinoはあなたが物事を行うためにプログラムできる小さなコンピューターです。センサーを入力として接続することで世界からデータを取得し、アクチュエーター(モーター)や出力用のLEDなどを追加することで相互作用することができます。

Arduino Uno

最も人気のあるArduino回路基板はUnoモデルです。これは、それが最初の1つであったことも一因であり、さらなるデザインが作成される前に広く採用されました。

Arduino Unoは、その形状と入力ピンと出力ピンの位置によって定義されます。

Unoモデルの頭脳は、ATMega328Pまたは168ロジックチップです。これは、プログラムを保存し、コードを実行するものです。

回路の上部(つまり、左側にUSBコネクタがある)には、14個のデジタル入力/出力ピンがあります。これらは、0または1(+ 5V)のデジタル信号を放出または読み取ることができます。

右下には、5つのアナログ入力ピンがあります。これらは、アナログセンサーから1024の異なるレベルの電圧に達する可能性があります。アナログセンサーの一例は、単純な光センサーです。または光依存抵抗(LDR)。センサーを接続する前に、センサーがアナログかデジタルかを確認する必要があります。

左下には電源ピンのセットがあります。一般に、センサーや小型の出力デバイスに電力を供給するために、+ 5VピンとGND(グランド/ 0V)ピンのみに関心があります。高出力のモーターまたは一連のLEDを接続する場合は、それらに外部から電力を供給することが重要であり、Arduinoからすべての電力を引き出そうとしないでください。

せいぜい、交換するのに安価なArduinoを焼き尽くすだけかもしれません。最悪の場合、USB経由で接続すると、コンピューターが損傷する可能性があります。

ピンの位置とボードの形状は、いくつかの理由で重要です。

まず、「盾」の概念です。これらは、機能を追加するためにArduinoの上にスタックできるアップグレードです。これは、独自に設計した回路基板、またはLCD画面などの購入した回路基板の場合があります。

第二に、Unoは標準的な形状であるため、自宅でダウンロードして印刷したり、自分で変更したりするための既製または3D印刷可能なデザインの両方のケースが多数あります。

オープンソースハードウェアです

つまり、誰でもArduinoをコピーして変更し、自分のものとして再販することができます。これは違法ではありません。実際、Arduino自体は他のオープンソースプロジェクトを基盤として構築されています。たとえば、Arduino開発ソフトウェアはWiringに基づいており、 Wiring自体はProcessingに基づいています。

唯一のルールは、保護された商標であるため、実際の「Arduino」デバイスとは呼べないということです。ただし、「Arduino互換」であると主張することはできます。

公式のArduinoボードは20ドル以上で小売りできますが、まったく同じ機能を備えたクローンが5ドル未満で見つかります。実際、すべてのコンポーネントを個別に購入した場合は、最初から独自のコンポーネントを作成することもできます。

しかし、お金を節約したいという理由ではなく、Arduino回路基板に正確に何が含まれているのかをもっと知りたい場合にのみそれを行う必要があります。それは安くはなく、最終結果はそれほど洗練されていません。

一部のメーカーは、まったく同じですが、より安価なArduino互換ボードを作成しています。オリジナルのボードよりもさらに多くの機能を追加するものもあります。特定のアプリケーション向けに設計された独自の形状である場合や、コネクタを追加する場合、LEDマトリックスディスプレイが組み込まれている場合、またはWi-Fiが追加されている場合があります。

私たちのお気に入りのArduino互換ボードの1つは、下の写真のNodeMCUです。小型でWi-Fiが内蔵されており、わずか3ドルで購入できます。コンパクトなモノのインターネットやホームオートメーションプロジェクトに最適です。

一方、 Teensyシリーズの開発ボードはArduinoボードよりもはるかに大きな処理パンチを備えており、フォームファクターが小さいため、強力な処理をコアに依存する小規模なプロジェクトに最適です。

では、Arduinoの何がそんなに特別なのですか?

プログラマブルロジックコントローラは新しい概念ではありません。彼らはArduinoよりずっと前にいました。

関連:プログラマブルロジックコントローラーとは何ですか?

しかし、Arduinoはそれを簡単にしました。それは、私たちが育った電子工作キットのように、使いやすいハードウェアと、アクセス可能な高水準プログラミング環境を組み合わせたものです。 Arduinoは、チュートリアルを作成し、コードを共有し、知識を広める世界中のユーザーのコミュニティになりました。複雑な電子機器のプロトタイプは、もはや電気工学の卒業生の独占的な領域ではありませんでした。

Arduinoは、複雑なプログラム可能な電子機器を特徴とするハードウェアプロジェクトを誰もが利用できるようにしました。そのため、アーティストやクリエイティブタイプは、アイデアの実現に集中できます。それは究極のいじくり回しツールです!

Arduinoスターターキットを購入する必要がありますか?

Arduinoだけでできることはそれほど多くありません。確かに、LEDが内蔵されており、さまざまな方法でフラッシュさせると、数分間のエンターテイメントを提供できます。しかし、実際にいくつかの楽しいプロジェクトを作成するには、センサー、モーター、多色LEDなどの追加のビットが必要になります。次に、これらのビットを接続するケーブルが必要になります。ブレッドボードも必要になります。

関連:ブレッドボードとは何ですか?どのように機能しますか?

そこでArduinoスターターキットが登場します。しかし、どれを購入するのでしょうか?私の現在のお気に入りはGroveBeginnerKitです。

これは、配線済みのセンサー、LED、ブザー、さらにはOLEDスクリーンを備えた巧妙なオールオンボードです。真ん中のボードはArduinoと互換性がありますが、12個のGroveコネクタが含まれています。 Groveシステムを使用すると、ブレッドボードや多くの厄介なジャンパーケーブルを使用せずに、1本のケーブルでコンポーネントを簡単に接続できます。

Groveビギナーキットの本当に注目すべき点は、オールインワンボードの設計から移行して実際のデバイスのプロトタイプを作成したい場合は、ボード全体とコンポーネントを切り取って、Groveシステムケーブルに切り替えることができることです(またはジャンパーケーブルを標準のピン穴に挿入します)。これは、Arduinoプログラミング体験を開始するための非常に柔軟なシステムです。

関連:これまでで最高のArduino初心者キット

Arduinoは何語ですか?

技術的には、ArduinoはC / C ++の拡張です。これは、Arduinoが標準のC ++言語に加えて一連の関数と機能を追加したが、それでも同じ基本的な規則と規則に従っていることを意味します。

ArduinoでプログラミングするためにCまたはC ++をすでに知っている必要はありません。私が始めたとき、私はしませんでした。他の種類のプログラミングの少しの背景は確かに役立ちますが、それも必須ではありません。簡単なサンプルプログラムをロードして変更してみるだけで始められます。次に、別のセンサーまたは他の出力との交換に進みます。最後に、より複雑なプログラムを読んで変更してみてください。そうすれば、すぐに独自のオリジナルプロジェクトをまとめることができます。

しかし、心配しないでください。何千ものプロジェクトチュートリアルとサンプルコードがあり、無料でダウンロードして使用できます。そして、行き詰まったら、助けを待っている巨大なコミュニティがあります。他の場合と同様に、最初にGoogleで検索したことを確認してください。誰かがすでにあなたとまったく同じ問題を抱えている可能性があります!

Arduinoプログラムを定義するいくつかの特徴は次のとおりです。

  • 少なくともsetup ()関数とloop()関数を定義する必要があります
  • setup()は、Arduinoデバイスが初めてリセットまたはオンになったときに1回実行されます。この関数を使用して、変数の初期状態を作成したり、Arduinoにどのハードウェアピンが何を実行するかを指示したり、さまざまなセンサーに必要なライブラリを開始したりします。
  • loop()は継続的に実行されます。 loop()関数内のすべてのコードが完了すると、loop()の先頭に戻り、再度実行します。ここがメインプログラムコードの行き先です。センサー変数をチェックしてそれに基づいて行動するようなものです。
  • コードのブロックをカプセル化するために、独自のヘルパー関数を定義することもできます。これらは、入力として任意の数の変数を受け入れ、変数を返すことができます。変数が返されない場合、関数は無効としてマークされます。これは、 void setup()およびvoid loop()の場合です。
  • 他のArduinoライブラリをインポートして、アプリケーションに機能を追加したり、特定のセンサーを使用するときに役立てたりすることができます。
  • コードの前にダブルスラッシュ//を付けることで、コードにコメントを残すことができます(既存のコード行の最後でも)。または、前に/ *を付け、最後に* /を付けて、複数行のコメントを残します。

作成しましょう!

Arduinoは趣味の電子機器ゲームを完全に変えました。過去の幅広い知識なしでは不可能だったことが、今では誰でも達成できます。利用可能な安価なマイクロコントローラーの広い範囲と、それを取り巻く巨大なコミュニティのおかげです。

始めるのもとても簡単です、そして私たちはあなたを地面から降ろすための便利な初心者向けガイドを持っています。または、 Arduino初心者向けプロジェクト:信号機制御チュートリアルをご覧ください。