Arduinoを軽spする

私は専門分野の「マイクロエレクトロニクスおよび半導体デバイス」を卒業しています。 長年のトレーニングで、マイクロコントローラーで多くのデバイスを開発し、チームとの競争に参加し、組み込みシステムの研究所の責任者を務めました。 私には夢があります-ロボットシステムの開発のために私の国に条件を作成し、その達成のための計画があります。そのポイントの1つは、この分野の多数の専門家のトレーニングに参加することです。

Arduino








将来のエンジニアがデバイスを作成し、Arduinoを使用することについて誰かが話しているのを聞いて動揺するとき、私は喜んでいます。



これはこのトピックに関する私の最初の記事ではありません。HabréのDIYトピックでプラットフォームの無限の可能性についてのフレーズを読んだ直後に1つを書きたいと思っています。 ほとんど何も入っていない200ドルでデザイナーを購入することについての記事を読んだ後、部品の本当の価格について書きたいと思っています(すみません、私はそれを見た場所を忘れました)。





ここでのポイントは、Arduinoが悪い考えだと思うということではありません。 それどころか、プラットフォームのおかげで、多くの人がマイクロコントローラの世界を学び、プログラミングの知識がほとんどなく、電子工学の知識がない特別な教育を受けていない人でも、小さなクールなデバイスを組み立てることができることを学びました。



Arduinoのおかげで、著者の脳のメモリバンクにほこりを集めている多くのプロジェクトがリリースされました。



正直なところ、私は時々Arduino用に記述されたコードを使用しました(たとえば、InvenSenseはMPU6050モジュールを製造してます。これはJeff Rowbergでのみ正常に起動できました)。

マイクロコントローラの世界を発見したが、それを見て回ることを気にしなかった人々と、そのような人々からfromしみなく利益を得る人々を軽deします。



Arduinoのファンである情報技術学部の学生が私たちの研究室に来ました(そして私たちと一緒に働きました)。 一人の男が、自分自身と彼らのためのモジュールの購入に多額のお金を費やしました。 後悔することなく、ロボットシステムの将来の(私はまだ希望している)作成者が必要な周波数のPWMを開始できなかったのを見ました。



そのため、この生徒は「バッテリーレベルメーター」などを見せてくれました。 ebayで具体的に見つけました。「 高感度電圧センサーモジュール-Arduino互換 」と呼ばれ、 8.58ドル販売されています。 これは、図では次のとおりです。



高感度電圧センサーモジュール








ちなみに、「+」である中央のワイヤは空中に吊るされているだけです-抵抗器の場合は2セント、プラグの場合は20セントのシンプルな分圧器の最も便利な接続のためにすべてが行われます。



これは私たちの兄弟を欺く唯一のケースではありません。以下でもう少し説明します。 さて、構造化を愛する人のために、Arduinoの主な欠点を書きます。

  1. 図書館 私はライブラリが大好きです-クラスと関数を書くか、同僚の有能なコードを使用します-これにより作業が大幅にスピードアップします。 Arduinoライブラリは簡単に習得できますが、ここでプラスが終わります。 たとえば、遅延機能の助けを借りて人生のすべての遅延を作成することができ、タイマーがマイクロコントローラーでどのように機能するかという単純なアイデアを持ちません-すべてのArduinoライブラリはそのようなマイナスで構成されます。

    マイクロコントローラのタイマーやその他の周辺機器は、シングルスレッド割り込みを補正するように実装されているということです。 そして、人々は未使用の変数を減らすためにCPU時間を費やします。

    8ビットAVRコントローラーでの浮動小数点数の除算と使用は、それなしではできない最も極端な場合にのみ使用すべきものです。

    プログラムの本体でバッファアンダーランフラグを待機するための空のサイクルが多いステートマシンを使用して、文字列がシリアルポートに送信されません-これもリソースの無駄です-中断があります。

    はい、Arduinoで割り込みを有効にできますが、誰ができますか?

    Habrには、Arduinoライブラリの作業高速化する方法に関する優れた記事があります 。 正直に言うと、彼女は、防衛産業の労働者でさえプラットフォームで作業するために滑り落ちたという事実に驚かされましたが、これらのライブラリの速度に関する一般的なアイデアを与えることができます。
  2. 開発環境。 マイクロコントローラーは、IAR、Eclipse、Keilなどのあまり知られていない環境でプログラムできます。

    IAR EWB






    そして、Arduino IDEはクロスプラットフォームであり、構文が強調されています。

    Arduino IDE








  3. パワー。 また、ハードウェアと散逸の両方。 組み込みシステムの開発は、必要な機能に応じてコンポーネントを選択することから始まります。 Atmega328(または2560)ダイオードを点滅させるのは強力すぎて、画像処理アルゴリズムでリアルタイムシステムを作成するには弱すぎます。
  4. プログラマーを冷やす。 マイクロコントローラのプログラミングには特別なスキルは必要ありませんが、それでも数時間を費やしていくつかの周辺機器の動作を研究しなければならないため、頭が伸びます。 analogReadやdigitalWriteのようなものを書くことができるなら、なぜこれをするのでしょうか?
  5. 価格 Arduinoとクローンのメーカーだけでなく、すでに質問があります。AVRコントローラーの価格は一般的に高値です。 たとえば、Atmega2560の費用は10ドルです。 同じお金で2つのSTM32F103を購入できます。 なぜなら、人々は他のコントローラーを学ぶには怠け者であり、このサークルには多くの資料と例があります。




様々なモデリズムのファンがアルドゥイノ愛好家の他の店と同じようにdeされているホビーキングでは、普通のコンデンサーが何らかのフィルターを装って販売されていました。 今は見つかりませんでした。 もちろん、3ピンコネクタを使用します。 たった3ドルで。



Arduino互換ミニモーター速度カウンターセンサーAVR PIC-中央コントローラーと20行のコードに接続されたLEDとフォトトランジスターに置き換えられます。 7.98かかりません。



2 * 4マトリックスキーボードプッシュボタンAVR ARM Arduino互換 -これらは、1ドルで10個の価格で購入できるボタンです。



世界にはArduinoよりも嫌いなデバイスが1つあります。これはmbedです。 その開発者はLPC1768コントローラー(LPC11U24でも入手可能)を2つのスタビライザーでボードにはんだ付けし(ボードの配線品質については説明しません)、脚の半分を引き出しました(残りの半分はどこにも接続されず、非常に迷惑です)。 IDE(ただし、インターネット接続が必要ですが、Arduinoより少し優れています)と64ドルで販売しています。 申し訳ありませんが、それは完全です。



突然停滞を止めて、マイクロコントローラーについて学び始めるとしたらどうでしょうか?

  1. Habréには、「 STM32F1xx-arduino中毒を一緒に治す 」という一連の記事がありました-記事はよくわかりやすく、著者が新しい記事の執筆を放棄したのは残念です。
  2. すべての新参者はeasyelectronics.ruに送られ、DIHALTの友人がAVRマイクロコントローラーに関するトレーニングコースを公開しました。
  3. Cを使用した68HC12 / HCS12ファミリのマイクロコントローラでのアプリケーションの設計 」S. F.バレット、J。J.パックは、マイクロコントローラのCプログラミングの基礎を理解するのに役立つスーパーブックです。 唯一の問題は、Freescaleマイクロコントローラーを入手する可能性が低いことです。そのため、AVR、PIC、MSP430または他のコントローラーにサンプルを自分で移植する必要があります。
  4. お使いのデバイス用に何かを購入する前に、少なくともWikipediaでそれについてお読みください。おそらく、同じ部品を別の方法で呼び出すと、より安く購入できる可能性があります。



何がおかしいのか知っていますか? Arduinoユーザーの中には、「忙しくて忙しいユーザーに焦点を合わせている」ことでAppleを軽spする人もいます。



私は誰かを怒らせたり説得したりしたくない。 しかし、これまでにこの記事を読んだ人の少なくとも1人がArduinoをシンプルなマイクロコントローラーに変えてくれたら嬉しいです。将来的には組み込みシステムの優れた開発者になるでしょう。



All Articles