私のロボットの脳-Arduino、初体験

私はいつもArduinoをベースにしたロボットを作るというアイデアを訪れていましたが、ある朝、同僚が「Arduinoコントローラーを購入してよかった...」と言いましたが、それは聞いたことではなく、すべてが始まりました。 Arduino KARを作成します!

Arduino CAR



入手先


Rostov-on-Donで、私がそこから来たという事実に基づいて、彼らはどの店でもArduinoプラットフォームについて聞いていなかったので、私はすべてをオンラインで注文しました。

eBayを通じて中国ですべてを購入する最も安い方法であることが判明しましたが、大きなマイナスがあります-非常に長い時間です。 香港からの注文の1か月以上の配達。

私たちの祖国から取る2番目のオプションは、1週間で届けられます-2つですが、もう少し高価です。 私はAmperkaストアを使用していますが、選択肢は大きくありませんが、始めるために必要なものはすべてあります。 そして、中国の兄弟とは異なり、良質の商品(ブランドステッカーが貼られた箱の中に、すべてが本来あるべき姿です)。

Arduinoブランド

何を取る?


私のアドバイスは、目的を決めてから注文することです。
私の目標は、PCツールを使用して移動プラットフォームをリモートで制御することです。
すぐにアドバイス-開始したばかりの場合は難しいタスクを設定しないでください。または、目標をより単純なタスクに分割してください。
タスクを簡素化することにしました-壁にぶつからないように部屋を移動するためのプラットフォームが必要です。

私の最初のロボットのために、私は注文しました:

どこから始めますか?


インターネットには、Arduinoでの作業およびプログラミングの方法に関する記事がたくさんあります。 私は深くは行かず、簡単なことから始めることにしました:

収集方法


それぞれがそれを行う方法とどこから始めるかを決定します、私は1つのことを知っています-あなたは効率的にワイヤーをはんだ付けする必要があります!
組み立てには、頭、手、電気工学の知識が少し必要です。
最も簡単なことは、プラットフォームを組み立て、チェーンをはんだ付けし、コントローラーボードをボードに取り付けることです。

Arduino KAR-プラットフォームアセンブリ

周辺機器をコントローラまたは拡張カードに接続するときは注意してください。
たとえば、拡張ボード(センサーシールド)のピン配列がセンサーとレンジファインダーおよびLCDディスプレイと一致しない、またはコネクターが完全に適合し、極性が一致しないという事実に直面しました。 極性が尊重されない場合は、単に機器を燃やすことができます。

Arduino KAR-コントローラー接続

多くのことは開発経験があります。
たとえば、LCDディスプレイをシリアルポートに接続する際に問題が発生しました。
むしろ、問題はありませんでしたが、ディスプレイは動作しましたが、ポートがビジーであるため、ディスプレイが接続されているときにコントローラーをフラッシュすることはできません(長い間、ファームウェアがいっぱいにならない理由を理解できませんでした)。
Megaには4つのハードウェアシリアルポートがあり、ディスプレイを2番目に切り替えるのが簡単に思えますが、そうではなかったため、使用した拡張カードはコントローラーの必要なピンをキャプチャしません。
その結果、LCDをアナログポートに接続し、ライブラリを使用してソフトウェアシリアル接続を操作しました。

Arduino KAR-完全

プログラム方法


まあ、味と色に同志はいません。 すべてはタスクに依存します。
私はそれをどうやってやったのかは語りません。いくつかの点だけを説明します。

プログラムが機能するためには、コントローラーは2つの関数を見るだけです。これは、コントローラーの初期化(起動時に実行)とメインループ関数です。 最も簡単な例はここにあります

次に、センサーからデータを読み取るという問題に遭遇しました-距離計。
データを読み取るとき、サイクルの各反復で、異なる信号値が同じ距離に来ました。
センサーはアナログポートに特定の振幅で信号を送信し、データの読み取り時に、反復が失敗したために値が通常とは異なることが判明したことが判明しました。 センサーから読み取り関数を作成して、複数の読み取り値を連続して取得し、誤った値を除外して、すべてを算術平均にする必要がありました。

プロトタイプの発売!




PS中国語版は使用しません。

Source: https://habr.com/ru/post/J141518/


All Articles