Arduinoとは何ですか?


APDahlen Applications Engineer

Definition of Arduino

Arduinoはオープンソースのハードウェアとソフトウェアのプラットフォームであり、マイクロコントローラの世界に、簡単に、低コストで、しかも高性能なエントリーポイントを提供するように設計されています。Arduinoは、20年近く前にDavid Cuartielles、Gianluca Martino、Tom Igoe、David Mellis、およびMassimo Banziによって開発されました

このArduinoの定義は、10年前なら確かに真実であったであろう質問に対して、合理的な答えを提供しています。しかし、Arduinoは成長してきました。過去20年間で、何千人もの人々がオープンソースの素材に貢献してきました。

Arduinoで何が変わったのですか?

Arduinoは、拡大する製品群を提供し続けています。現在でも、オリジナルのUNOのバージョンと、オリジナルのフォームファクタを維持した拡張バージョンがあります。これには、図1と動画1にあるような8×12 LEDマトリクスを備えたUNO R4が含まれます。また、ウェブ接続機能を備えた高性能32ビットプロセッサを搭載した新しいPro productsラインもあります。これにより、便利な遠隔監視やデータの共有が可能になります。Pro productsラインには、Optaとして知られるプログラマブルロジックコントローラ(PLC)があります。拡張統合開発環境(IDE)には、シリアルプロッタなどの機能があります。

図1: Arduino Uno R4と各種Qwiicデバイスを搭載したSparkfunキットの写真

動画1: Arduino Uno R4は、オリジナルのUnoデバイスの最新モデルです

Arduinoはどこで実績を残していますか?

個人的なことですが、私はArduinoを知らない大学生や教育者に会ったことがありません。ベアメタルプログラミングを好む純粋主義者から、何にでもArduinoを使うファンクラブまで、全員がその製品に強い思い入れを持っています。彼らは、全体として同じ見方を示しています。Arduinoは、基本的なマイクロコントローラと全国のメーカースペースに深く浸透している成功した製品です。別の言い方をすれば、すべての学生や多くのホビイストは、この製品と統合開発環境(IDE)に精通しています。

しかし、Arduinoの影響力は同社とその関連製品に限定されないため、話はこれで終わりではありません。

Arduinoはどこへ向かっているのですか?

ここからが面白くなるのですが、Arduinoの冒頭の定義がなぜ不十分なのか、すぐにわかるでしょう。私はDigiKeyのエンジニアとして、さまざまなプラットフォームを見て、経験を積む機会があります。私は、Arduinoが当初の定義を超えて成長していることを観察してきました。先に、私は 教育現場でほぼ普遍的に使われていると述べました。この事実は、Arduino内でも、他のメーカーからも見逃されてはいませんでした。

Arduino製品ラインの内部拡張

先に述べたArduinoのProラインは、この考え方の発展形です。Arduinoは、教育分野で確固たる基盤を築いていることを認識し、モノのインターネット(IoT)デバイスを網羅するためにハードウェアとソフトウェアを拡張してきました。これらの新しいデバイスは、元の青色とは対照的に、トレードマークの黒色の外観で識別されます。新しいデバイスは一般的に、ワイヤレス送信機を備えた32ビットのマイクロコントローラを搭載しています。

技術的なヒント: コストと開発期間はトレードオフの関係にあります。製品設計に最適な低コストと信頼性を実現するためには、時間と多大なエンジニアリングの労力がかかります。この最適化は、初期投資から利益を得られる可能性が高いため、生産台数が多い場合に特に有利となります。しかし、この最適化は、少量生産では経済的に実行不可能かもしれません。

そこで、Arduino Pro lineのようなソリューションの出番となります。アプリケーションによっては、ArduinoのPortentaデバイスは、少ないエンジニアリング投資で迅速な市場投入が可能なターンキーソリューションを提供します。追加的なエンジニアリングの労力と費用は、後の製品の改良に統合することができます。

動画2: Portenta C33は、Arduino Proラインのマイクロコントローラです

Arduinoライクなツールや製品の外部展開

他のメーカーは、ArduinoライクなツールやArduino互換ツールを自社製品に組み込むことで、Arduinoの知識ベースを活用しています。

Arduinoライクな製品

多くのメーカーがArduino互換ボードを提供しています。これには、公式のArduino IDEを介して直接プログラムされるボードも含まれます。またEnergia IDEやTexas InstrumentsのLaunchpadラインの MPS430 マイクロコントローラなど、関連IDEでプログラムされたボードも含まれます。

Arduino互換製品製品

STMicroelectronicsなどの企業は、Arduinoと互換性のあるデバイスを製造しています。その好例が NUCLEO-L031K6 とその関連デバイスです。これらはNano V3のフットプリントとピン互換性があるため、「ダブルコンパチブル」に分類されます。また、適切なボードマネージャがインストールされていれば、Arduino IDE自体から直接プログラムすることもできます。

技術的なヒント: Arduino IDEからSTM32製品をプログラミングすると、関連するハードウェアが起動します。しかし、Arduino IDE外から基礎となるハードウェアにアクセスするようにプログラムすることで、学習プロセスが向上する可能性があります。例えば、プログラマーはArduino IDE内で、A/Dコンバータ(ADC)がダイレクトメモリアクセス(DMA)を使用するように設定することができます。ここから、RenesasやSTのマイクロコントローラなどのハードウェア固有のIDEにジャンプすることができます。これは素晴らしい学問的訓練です。しかし、前述したように、このような最適化には市場投入までの時間を考慮する必要があります。

Arduino言語トランスレータ

ArduinoからRaspberry Piに焦点を移すと、この会話は非常に面白くなります。そこにはさまざまな技術があります。例えば、Raspberry Pi PicoArduino IDEから直接プログラムすることができます。また、Arduinoの言語を保持したまま、 Arduino IDEから独立してPiをプログラムする方法もあります。これらの技術は、KUNBUS製品のようなPiベースのPLCにも適用できます。

これに関連して、他のメーカーはArduinoのコードを彼らのIDEにインポートすることができます。例えば、Microchip MPLAB はArduinoプロジェクトをインポートできます。サンプルプロジェクトはUNO用に直接プログラムされます。その後、ArduinoのコードをMPLABにインポートすることができます。出来上がったコードは、MicrochipのAVRマイクロコントローラ(旧Atmel製)にプッシュバックすることができます。今回もまた、マイクロコントローラをより深く理解するために、Arduinoの膨大な教育基盤が活用されていることがわかります。

技術的なヒント: Arduinoの膨大なCコードは、人工知能(AI)モデルのトレーニングに使用されてきました。その結果、AIはコード生成やコード生成を支援するために使用されるかもしれません。例として、AIの支援によって生成されたこのノンブロッキングコードを考えてみましょう。この記事は、もともとプログラマブルロジックコントローラ(PLC)プログラミングに使われていたアイデアを、一般的な用途に簡単に応用できることを示しています。

まとめ

オープンソースのコミュニティは、親会社の枠を超えて「Arduino」を拡大させました。これは、Arduinoが提供する大規模な教育用の基盤を活用できるため、非常に望ましいことです。このことは、新しいArduino Pro Productsラインだけでなく、他のメーカーが提供するコードやハードウェア互換デバイスのIoT重視にも反映されています。それとともに、市場投入までの時間を短縮した、少量から中量のターンキー生産に重点が置かれています。

これらの新製品を使ったサクセスストーリーをぜひ教えてください。

ご健闘をお祈りします。

APDahlen

著者について

Aaron Dahlen 氏、LCDR USCG(退役)は、DigiKeyでアプリケーションエンジニアを務めています。彼は、技術者およびエンジニアとしての27年間の軍役を通じて構築されたユニークなエレクトロニクスおよびオートメーションのベースを持っており、これは12年間教壇に立ったことよってさらに強化されました(経験と知識の融合)。ミネソタ州立大学Mankato校でMSEEの学位を取得したDahlen氏は、ABET認定EEプログラムで教鞭をとり、EETプログラムのプログラムコーディネーターを務め、軍の電子技術者にコンポーネントレベルの修理を教えてきました。彼はミネソタ州北部の自宅に戻り、このような記事のリサーチや執筆を楽しんでいます。LinkedIn | Aaron Dahlen - Application Engineer - DigiKey




オリジナル・ソース(English)