Arduinoのコントロールゲーム:Pong-Bot Vs Human:14のステップ(写真あり)

Arduinoのコントロールゲーム:Pong-Bot Vs Human:14のステップ(写真あり)

目次:

Anonim

概要: Pong-Botの仕事は、ピンポンボールをできるだけ早く6つのタンブラーにバウンスすることです。このタスクはに基づいています 警備員 古いテレビゲーム番組からの挑戦 勝ち分 (多くの人がそれが彼らにビールポンを思い出させると言うけれども)。 「レース機能」はロボットを人間と突き合わせて、最初に誰がバウンスボールを6つのタンブラーに仕上げることができるかを確認します。

バックグラウンド:私はIBMワトソンの殴打に興味をそそられました 危険 数年前のチャンピオン、ケン・ジェンキンス。それで、ロボットとロボットと戦って、そして何らかの方法で人々と対話するロボットがある間、私は多くを見ませんでした 身体技能ゲームで人間に挑戦するロボット 。これは、ロボットが物理的な技能ゲーム(バウンス用のピンポン球)で人間の競争相手に挑戦する動機となりました。

調査結果: このInstructableで、2つのMaker Fairesからのロボット対ヒューマンゲームの結果をまとめ、「得られた教訓」をいくつか紹介します。

技術概要:ロボットはArduino UNO、2つのサーボ、ギアモーター、そしてホール効果、光学的、そして機械的センサーを使って作動します。 OLEDディスプレイはレース結果を報告します。詳細はシステムの概要と一般的な操作を参照してください。また、このプロジェクトは時間の経過とともに発展したので、いくつかの「学んだ教訓」を共有します。

プロジェクト 困難:Arduino IDEの経験に加えて、優れた電気的および機械的建設技術が必要です。推定300ドルの費用、および少なくとも週末数週間の建設時間。

用品:

ステップ1:システムの概要と一般的な操作

Pong-Botゲームシステムには、4つの主な機能要件があります。

FR1: ロボットはピンポン玉をタンブラーに跳ね返さなければならない

FR2: ロボットはタンブラー位置(タンブラー#1からタンブラー#2 …)間を移動し、最初の開始位置に戻ります。

FR3: ポンボットと人間の競争相手の間の「ドラッグレース」をコントロールして、6つのタンブラーのそれぞれにピンポン玉を跳ね返らせるための経過時間を測定します。

FR4:上記の機能を調整する

詳細:FR1:ロボットはピンポン玉をタンブラーに跳ね返さなければなりません -

ピンポンボールは垂直に傾いた1-1 / 2 PVCパイプの長さに格納されています。ボールは合板の基盤から跳ね返ってパイプを転がって、そしてタンブラーに飛びます。 「発射」サーボは一度に単一のボールを解放する。解放後、別のサーボがパイプ上部からボールを​​リロードして次の「ショット」に備えます。

ステップ2:システムの概要と一般的な操作続き

詳細 FR2:ロボットはタンブラー位置(タンブラー#1からタンブラー#2 …)間を移動し、最初の開始位置に戻ります。 -

今説明したボール落下機構は、アルミニウム製レールの上のベアリングに乗っているスライダキャリッジ(別名カメラリニアモーションシステム)に取り付けられている。キャリッジは、「滑車用ロープ」に似たチェーンドライブで左右に引っ張られます。 DCモーターがドライブスプロケットをCW回転させると、チェーンがキャリッジを右に引き、CCWがキャリッジを左に引きます。

合板ベースに埋め込まれた磁石を検出するマイクロスイッチ、および内側および外側ホール効果センサーがキャリッジ位置制御を提供する。簡単に言うと、これは次のように動作します。ホームポジション(およびタンブラー#1発射位置)に達するには、マイクロスイッチがキャリッジの端に接触して閉じるまで、キャリッジが左に移動します。タンブラー2に到達するには - 外側ホール効果センサーが1番目の外側マグネット(タンブラー#2発射位置)を検出するまでキャリッジは右に移動し、タンブラー#3に達すると内側の内側ホールセンサーが第1内側磁石を検出する(タンブラー#2) 3発射場所)など。

ステップ3:システムの概要と一般的な操作続き

FR3:Pong-Botと競合他社との間のレースの開始を制御し、6つのタンブラーそれぞれにピンポン球を跳ね返らせるのにかかる時間を測定します。

レースは、ピンポンボールを空にし、ホームポジションに移動し、PVCボールを6個のボールで満たした状態で、人間とPong-Botのタンブラーから始めます。キーパッドの "9"を押すとOLEDに "Get Ready"メッセージが表示され、その後 "1"を押すとブザーとOLEDメッセージで発表されたレースが開始されます。 Arduinoはそれから6つのタンブラーのそれぞれにボールを跳ね返す必要性としてDCモーターとサーボを制御します。人間の競争相手は同時に彼らのタンブラーにできるだけ早くボールをはねかけています。

人間とロボット#6のタンブラーにあるIRビームブレイクセンサーがボールが落下したことを検出し、レースの終了を知らせます(ブザーが再び鳴ります)。 Arduinoはレース開始から#6タンブラーがボールを受け取るまでの経過時間を測定します - 最速タイムが勝利します。 30秒の制限時間があるので、#6タンブラーの一方または両方にボールが入っていなくても、とにかくレースは終了します。 OLEDは人とロボットのレースタイムを表示し、勝者を宣言します。

注 - タンブラー#6にバウンスする前に、ボールがタンブラー1〜5にバウンスするのを目視で確認する必要があります。

FR4:上記すべての機能の調整

Arduino UNOはキーパッドからコマンドを受け取り、すべての機能を制御します。制御システム図を参照してください。

ステップ4:工具、部品、図面

ツール:

丸鋸

電気ドリルとドリルプレスとドリルビットセット、1 / 4-20タップ

カットオフホイールとミーリングビット付きのDremelツール

はんだごてとはんだ

ホットグルーガン

ワイヤーカッターとストリッパー

弓のこと金属のファイル

ペンチ、ブリキ、レンチ、ドライバー

部品:

ファイルを参照してください。 parts.pdf

デッサン

図面A〜Hはファイルに含まれています drawings.pdf

ステップ5:ベースを組み立ててマグネットを取り付ける

参照:DWG-A

1/2 "合板42 x 30インチをカットします。私はバルトバーチのような合板の品質グレードをお勧めします。

接着剤と1 1/2インチの長さの#8平頭木ネジ(写真を参照)で底に1×2の補強板を取り付けます。上の合板表面のネジを必ず皿に沈めます。滑らかにトップをサンドし、角を丸くします。

DWG-Aに準拠して、forstnerビットを使用して直径18/3/8と深さ1/16インチのザグリ穴を開ける。 E6000接着剤を使用して、所定の位置に12個の「タンブラー」マグネットを接着します - マグネットは合板の表面をわずかに誇りに思うはずです。

警告 - 内側と外側の磁石を所定の位置に接着する前に、まずコンパスを使用して磁石のS極を確認する必要があります(写真を参照)。これらの磁石は、S極を上に向けて所定の位置に接着する必要があります(ホール効果センサーに必要)。

図に示されているように、人間とロボットのタンブラー位置決め磁石の位置に注意してください。

5/8ポンドを使用。ネジと小型ワッシャを使って、押し出したアルミニウム製スライドトラックをDWG-Aに示されている中心線に合わせて取り付けます。トラックは合板の端(それはタンブラー#6マグネット位置に最も近い端である)を越えて約1 3/4インチオーバーハングを持つべきです。

ステップ6:タンブラーを準備する

22ゲージの板金から直径12、1 3/4 "の円を切り取ります。E6000の接着剤の円を使用してタンブラーの底部に貼り付けます。合板

ピンポンボールを2つのタンブラーに入れ、ボールの中心を横切る高さで2つの3/16 "の穴を向かい合わせにします。ホットグルーを使用してビームブレイクレシーバー(3本のワイヤー)をタンブラーの片側に取り付けます周囲の光を遮断するためにタンブラーの底部に黒いスカートを取り付け、センサーの詳細およびArduinoクイックセンサーテストコードを入手するには、こちらを参照してください。

タンブラーごとに、受信機と送信機を次のような3ピンのオスヘッダにつなげます。1本のピンに赤い線、中央のピンに黒い線、最後のピンに白い線があります(写真を参照)。

ステップ7:リニアドライブの取り付けとホール効果センサーのテスト

作ります アイドラースプロケットブラケット DWG-Bごと、およびDWG-Cごとに2つのアイドラーアイドラースプロケットサイドプレート。アルミニウム製スライダートラックの端から3インチのところで、トラックの中心と下の合板に1/4インチの穴を開けます。アイドラスプロケットブラケットを1/4キャリッジボルトナットとワッシャーで取り付けます。

作ります キャリッジ取り付けブロック DWG-Dによる。 DWG-Eごとに、各ドライブチェーンアンカーとケーブルガードを1つずつ作ります。マウンティングブロックをスライダーキャリッジの上にセンタリングし、ガイドとして上部の2 1/4 "穴を使用し、キャリッジ上部の2つの1 / 4-20穴をドリルで叩きます。マウンティングブロック、ドライブチェーンアンカー、およびケーブルガードを取り付けます2 1/2 "の長さの1 / 4-20スタッドとナットが付いているスライダーキャリッジに写真を見てください。

私が使った ワイパーDCギアモータ (106最大回転数)Alletelogonics.comからのカタログ#DCM − 434。しかし、All Electronicsからは入手できなくなり、monsterguts.comも同様のモーターを搭載していますが、50 RPMでしか作動しないため、ドライバーのスプロケットを比例して増やす必要があります。他の場所で利用可能な他の同様のモーターがあるかもしれません。以下の説明は、カタログ#DCM-434、および他のほとんどの他のワイパーモーターに適用されます。

モーターシャフトは約0.32インチ離れた2つの向かい合う平らな面を持っている、それで我々はドライブスプロケットの1/16の深さの一致する溝を切る必要がある。私はDremelとメタルファイルを使いましたが、もちろんフライス盤の方がうまくいくでしょう(写真参照)。 M6ボルトがスプロケットをシャフト端に取り付けます。それをしっかりと保つためにたくさんのロックタイトレッドを使う。 1×2 lの木製ブロック、アルミ製アングル、ブレースアーム、ボルトナット、ワッシャを使用して、モーターを合板ベースに取り付けます(写真を参照)。アタッチメントはドライブスプロケットが 整列 スライダートラックの中心線とモータードライブシャフトの中心は合板のベースの上約2 1/2インチです。

ドライブスプロケットとアイドラースプロケットの周りのアイドラースプロケット調整ナットとループ#25の駆動チェーンを緩めます。一方のチェーンの端をマスターリンクでドライブチェーンのアンカーに一時的に取り付け、チェーンを短くするために必要な量を決めます。チェーンの長さ調整とマスターリンクの取り付け手順を説明するビデオです。 2つのマスターリンクを使用してチェーンの端をドライブチェーンアンカーに取り付け、ドライブとアイドラースプロケット間でチェーンが真っ直ぐ走ることを確認し、アイドラースプロケット調整ナットを使用してチェーンの張りを調整します。モーターに短時間触れることによるテスト動作は、スライドキャリッジを前後に動かすために12ボルトのバッテリー端子につながります。

ステップ8:ホール効果センサーの取り付け

ホールセンサのピン配列と「磁気センシング面」の向きに注意して、ホールセンサのリード線をストリップボードに接続します(配線図を参照)。私は4つのコンダクター電話線を使用しました、「ブリッジセクション」のための約10 "とオスコネクタリード線のための6"。

1/8 "ハードボード1 3/8"×2 1/2 "を2枚カットする。センサー本体の底に溝をあけ、センサーを熱い接着剤でハードボードに取り付ける。小さなセルフタッピングネジで取り付けます(写真を参照)。

ステップ9:PVCボールドロップアセンブリ

DWG-Fあたり長さ24 "、1/1 PVCパイプカットアウトセクションを使用します。プラスチックカットオフホイール付きDremelを使用しました。

DWG-Gごとに、トップサーボMTGを1つ作成します。プレートと1つ下のサーボMTG。プレート。 5/16キャリッジボルト、ナット、および平ワッシャを使用してマウンティングプレートをコンジットハンガーに取り付けます。両面テープを使用してサーボを取り付けプレートに取り付けます(写真を参照)。 1 1/2インチのスウィング半径を提供するためにアイスキャンデースティックでサーボアームを広げてください。今のところサーボシャフト上のアームの位置決めについては心配しないでください - 後でセットアップと最初のテストステップで位置を調整するつもりです。

DWG-Hによると、1/4 "×1"アルミニウムバーストックで内側と外側のPVCパイプサポートアームを作る。写真ごとにPVCパイプの上下にさらに2つのコンジットハンガーを追加します。 5/16キャリッジボルト、ナット、平ワッシャでサポートアームの上部をクランプに取り付けます。 1/4六角ボルト、ナット、平ワッシャを使用して、サポートアームの下部をキャリッジマウントブロックに取り付けます。必要に応じて平らなワッシャを使用して、ホール効果センサからPVCパイプの中心線を約1 'オフセットします(写真参照)。後でセットアップと最初のテストステップでオフセットを微調整します。

ステップ10:12および6 VDCワイヤハーネス

ワイヤーハーネスには以下が含まれます:12ボルトのバッテリーに接続するためのワニ口クリップ、ボルトとアンプのデジタル読み出しゲージ、パワーサーボに6ボルトのレギュレータ、照らされたメインオン/オフスイッチ、そして10アンペアのヒューズ。写真と配線図を参照してください。

メインのオン/オフスイッチを収容するために、シンプソンストロングタイ2 "x1-1 / 2" x1-3 / 8 "アングル(A21Z)に2、1 / 2"穴、および10アンペアのヒューズを開けます(写真を参照)。小さなネジとナットで合板ベースにアングルを取り付けます。

ステップ11:Arduinoのハードウェアとソフトウェア

ハードウェア 3つのPCBが下から順に積み重ねられています。

  • Arduino UNO、
  • 10A DCモータードライバーArduinoシールド、
  • Arduinoのプロトシールド

DCギアモータリードは、モータシールド端子に接続します。それ以外のものはすべてArduino Proto Shieldに接続されています。ArduinoProto Shieldには、たくさんのコネクタ以外の電子部品はありません(コネクタレイアウトの写真を参照)。

両面テープで合板のベースにUNOを取り付けます。

ソフトウェア: スケッチをダウンロードする bouncerMainR1.ino あなたのコンピュータにそれからArduino IDEでそれを開いてください。 IDEに4つのライブラリをインストールする必要があります。

StopWatch.h 必要なファイルはここにあります。

キーパッド 必要なファイルはここにあります。

AXE133Y.h ここで必要なファイルを見つけることができます

Servo.h IDEの標準としてすでに含まれているはずです

ArduinoをコンピュータのUSBポートに接続し、通常の方法でブロードタイプとCOMポートを指定します。スケッチをコンパイルしてArduino UNOにアップロードします。正常にアップロードされたことを確認します。

ステップ12:OLEDディスプレイ、キーパッド、ピエゾブザー、マイクロスイッチ、バッテリー、およびケーブル

有機ELディスプレイ は、4 x 2 x 1のプラスチック製プロジェクトボックスに収納されており、長いネジ、蝶ナット、およびホースクランプを介してDCモーターに取り付けられています(写真を参照)。サーボ延長ケーブルはArduinoとの接続を提供します。

キーパッド リボンケーブルがスロットを通って裏側から出ている3インチ×5インチの厚さ8インチのハードボードに取り付けられています。キーパッドラベルは上にテープで貼られています。ハードボードは、小さなアルミニウムアングルを2回タップして下部に取り付けます。

ピエゾブザー マジックテープでDCモーターに取り付けられています。

ホーム" マイクロスイッチ キャリッジマウントPVCパイプが#1タンブラーと揃ったときに、スイッチが合板ベースに小さなネジで取り付けられ、スライドキャリッジの後端でスイッチが閉じるように配置されています。

12ボルト電池 小さいバンジーコードとアイボルトで押さえられています。

2つのIRセンサー、2つのサーボ、および2つのホールセンサーの場合は、4ペアの電話線を使用してケーブルを作成しました。デバイスの各ペアに必要なワイヤは4本だけでした。ホール効果ケーブルとサーボケーブルは、スライドキャリッジと一緒に移動する必要があるため、特に注意を払っています。これらのケーブルは合板ベースの片隅に取り付けられており、後端を「倒れる」ことができます(写真を参照)。キャリッジに取り付けられたケーブルガードが、ケーブルが合板の端をこするのを防ぎます。ファイルArduinoCableEnds.pdfも参照してください。

ステップ13:セットアップと最初のテスト

写真のように、12個のタンブラーを埋め込んだマグネットから直接上に配置します。

テスト1: すべての接続をもう一度確認してください。 12ボルトのバッテリーとサーボアームを取り外します。 Arduinoに電源を入れるだけです。 OLEDディスプレイ "AXE113Y V001 Bouncer Robot"が見えるはずです。

テスト2: キーパッドの「9」を押します。 OLEDディスプレイに「Get Ready …」と表示されます。

テスト3: 12ボルトのバッテリーを接続し、10Aのヒューズがホルダーに入っていることを確認し、そして主電源スイッチを入れてください。電源スイッチのライトが点灯し、ボルト/アンプゲージが12 +ボルトとほぼゼロアンペアを表示します。あなたはまた最初の電源投入時にサーボシャフトのわずかなランダムな動きを検出するかもしれません。

テスト4: キーパッドの「7」を押します。上下両方のサーボシャフトが動くのが見えるはずです。シャフトが止まると、シャフトは「ボールクローズ」の位置になるはずですので、アイスキャンディースティックエクステンションを使ってサーボアームを取り付けます(写真を参照)。アームが所定の位置になったら、もう一度「7」を押して、アームが正しく自由に動くことを確認します。

テスト5:PVCパイプの上にピンポン球を5個まで入れます。 「7」を1回押します。これにより、上部サーボと下部サーボの間のチャンバにボールがロードされます。もう一度「7」を押してボールをパイプから降ろし、別のボールをチャンバーに入れます。

テスト6:Arduinoモーターシールドの背面(モーター接続端子の反対側)にある "A"および "B"プッシュボタンを探します。 「A」を短く押すと、スライダーキャリッジがDCモーターに向かって移動します。 「B」を短く押すと、スライダキャリッジがアイドラスプロケットの方向に移動します。キャリッジが反対方向に動く場合は、モーターの接続をシールドと逆にしてください。

テスト7: 必要に応じて「A」および「B」プッシュボタンを使用して、DCモーターとアイドラースプロケットの間でキャリッジを半分動かします。次に「8」を押します。キャリッジはモーターに向かって動き始めますが、着く前にホームマイクロスイッチを手動で閉じてください。キャリッジはスイッチを閉じると停止し、スイッチを離した後は移動しません。これがうまくいったら - もう一度 "8"を押して、マイクロスイッチを閉じるとキャリッジが停止することを確認します(これがホームポジションです)。 警告 キャリッジの動きをテストするときは、故障の場合には必ず主電源スイッチの近くに手を置いてください。

テスト8:キャリッジがまだホームポジションにある状態で、「4」を押します - キャリッジは最初の外側の埋め込み磁石に移動し、多かれ少なかれタンブラー#2と一直線に並ぶはずです。 "6"を押してください - キャリッジは最初の内側に埋め込まれた磁石に移動し、タンブラー#3と多かれ少なかれ整列するはずです。 "4"を押し、次に "6:タンブラー4と5にそれぞれ移動します。タンブラー#6に移動するには" 5 "を押してください。タンブラー#6から" 8 "を押すとホームに戻ります。 「5」と「8」キーを使ってキャリッジを前後に動かし、メーターのアンプの読み取り値を観察します - 4アンペアを超えると問題があることを示しています。

テスト9: キャリッジをホームポジションにして、「7」キーリリースボールを使用してボールをPVCパイプに入れ、それらが#1タンブラーに跳ね返っていることを確認します。いくつかの調整を行う必要があります - 利用可能な3種類の調整があります。

a)移動するPVCサポートアームでバウンスポイントとバウンス角度を調整

b)PVCパイプを保持しているコンジットハンガーを緩めると、パイプが上下する可能性があります。

c)サポートアームとコンジットハンガーの間に平ワッシャを追加または削除すると、合板の「ボールバウンスポイント」がタンブラーの左右に移動します。

あなたはタンブラーリムの中心近くに着地する素敵なアーチショットを狙うべきです。あなたが6回タンブラーを6回打った後、次のタンブラーに進んでさらに6ショットしてください。

最後に、上記の3つの調整をダイヤルした後は、各タンブラーをその磁石に対して少し動かして小さな調整を行うことができます。適切な調整をして、良い日に、私はより少ない観察しました 2%のミス率

テスト10: キャリッジをホームポジションに置き、6本のボールをPVCパイプに入れる:

「9」を押すと、OLEDに「Get Ready …」と表示されます。

「1」を押すと、OLEDに「Start!」と表示され、圧電ブザーが鳴ります。ロボットはボールをタンブラー#1に発射し、次にタンブラー#2に移動し、最後にボールがタンブラー#6に跳ね返るまで続きます。通常は約 ロボットが終了するまで15秒。今度は人間が遊んでいないので、タイムアウト時間が30秒に達するまで何も起こりません。ブザーが再び鳴り、OLEDに「ROBOT Wins!」と表示されます。そしてロボットと人間の時間を表示します。写真を見てください。

さまざまなシナリオでゲームをリプレイすることをお勧めします。例えば、スタートから5秒後に人間のタンブラー#6にボールを入れることで人間を勝利させる、というように…

おめでとうございます - 今、本当の楽しみが始まります!

ステップ14:メーカーフェアの経験

メーカーフェアデトロイト、2016年7月:

私はフェアが始まる金曜日の午後にロボットをセットアップしてそれがうまくいっていたが、土曜日の朝にはリニアスライド機構が動かなくなった。私はそれを解放することができました、しかしそれはまだ動くのが困難でした。数時間後、それは完全に機能しなくなります。 Makerパビリオンはアスファルトの上の屋根に過ぎず、アスファルトの凹凸がロボットの上に置かれたテーブルトップの平らではない平面上の平坦さに変換され、合板ベースが変形してジャムを起こすほど十分に変形した。スパイクが電子機器を殺した。当時私は手作りのPICAXE PCBを使用していたので、修理は不可能でした。

この経験に基づいて、私はいくつかデザインを変更しました。

  • 下側の合板に補強リブを追加しました。
  • 市販のリニアモーションスライダーシステム(比較写真参照)
  • 手作りのPICAXE PCBをArduino UNOとモーターシールドに交換しました。
  • 赤外線リモコン(日光が当たらない)からキーパッドに切り替えた。
  • 主電源ラインにボルト/アンプゲージとヒューズを追加しました。

Northwest Ohio Makerフェスト2016年9月:

Detroit以降に行われた改善は成功したので、技術的な問題もなく、私はロボットと人々の間のゲームプレイに自由に集中することができました。

ゲームの基本: 12列のタンブラーが6列の2列に配置されています。1列はロボット用、もう1列は人間の競技者用です。ロボットと人間の両方の目的は、ピンポンボールを6人のタンブラーのそれぞれにできるだけ早く跳ね返すことです。ロボットは通常15秒でタスクを完了しますが、人間に比べてゆっくり動いている間はほとんど見逃すことはありません。競争は誰が最初に終了するかを見るためにドラッグレーススタイルで行われます。経過時間はロボットと人間の両方について記録されます。私は最も速い人間の時代にホワイトボードに記録して投稿します。人間とロボットが行ったかどうかにかかわらず、最大タイムアウト制限は30秒です。人間はゲームが始まる前にたくさんの練習ショットを許可されています。これが実際のゲームビデオです。

観察:

最初の試みで10%未満の人がロボットを倒し、さらに30%が30秒の制限時間内に6個のボールすべてを弾まなかった。

6〜7歳は子供がこのゲームで成功するための下限年齢であるように見えますが、それ以上の年齢では、年齢はそれほど重要ではないようです。

最初は成功しなかったとしても、子供は大人よりも繰り返し試みる可能性が高いです。

競争の激しい人たちもいて、彼らがいまいましいロボットを倒すまで挑戦し続けるでしょう。

ミス率はロボットを打つことの成功の重要な決定要因です、ゼロミスは事実上勝利を保証します。 3つか4つ以上欠けていると、ロボットを倒すのが難しくなります。

彼らがロボットの後ろに落ちているのを見ると、パニックはほとんどの人のために始まります。

父と息子は両方ともロボットを倒すことができたので、彼らは最速の時間で互いに競い始めました。父は5.13秒で勝った - 世界記録。

ピンポン玉は、最終的にはゴミを拾い、合板表面に持ち越してロボットと人間のミス率を高めます - だから私は合板表面とボールをきれいに保つようにしています。

結論: 私の考えでは、身体技能ゲームで人々と競争するように設計されたロボットは、人々がロボット技術を経験するための遊び心のある方法を提供します。

このプロジェクトは、こっけいなやり方では挑戦的で楽しいものでした。 ArduinoのUNOとモーターシールドはセンサーのインターフェースとモーションコントロールをかなり簡単にしました。