工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

DIY2Dモーションレーシングシミュレーター

コンポーネントと消耗品

>
Arduino Nano R3
× 1
SG90マイクロサーボモーター
× 2

必要なツールとマシン

>
はんだごて(汎用)

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

SimToolsは、Arduinoを含む複数のハードウェアインターフェイスを制御できる汎用モーションシミュレータソフトウェアです。この組み合わせは、ビデオで紹介されているプロジェクトで使用されています。ハードウェア部分は、ArduinoNanoマイクロコントローラーと2つの安価なSG90マイクロサーボモーターのみで構成されています。以下のコードをアップロードするだけです。

SimToolsソフトウェアを使用して必要なゲームデータは、シリアルポートを介してArduinoに送信されます。次に、Arduinoは、それに応じてシミュレーションプラットフォームを動かすサーボモーターをアクティブにします。これは、2軸シミュレータの小規模です。実際のシミュレーターを作成するには、モータードライバーと大型サーボモーターを追加する必要があります。

<図>

「https://www.xsimulator.net/」ページには、このようなDIYシミュレーターの例や、構造図やヒントが多数あります。 SimToolsのセットアップ手順はビデオで説明されていますが、PDFユーザーマニュアルはhttps://simtools.us/wp-content/uploads/2019/06/SimToolsUserManual-v2.4.pdf

からダウンロードすることもできます。 <図>

SimToolsは、有効なライセンスが登録されるまで「デモ」モードで実行されます。 Live for Speedのプラグインは、SimToolsがデモモードのときにテスト用に完全に機能します。 (Live for Speedのデモは、SimToolsのテストにも使用できます。)詳細については、https://www.lfs.net/downloads

でLiveforSpeedをダウンロードしてください。

SimToolsダウンロードリンク:

https://www.xsimulator.net/community/marketplace/motion-simulation-software-simtools.63/

コード

  • コード
コード C / C ++
 // ********************************************* *********************************************** // RCモデルサーボ//元のコードEAOROBBIE(Robert Lindsay)による// aarondcによる完全なマングル// Sim Tool MotionSoftwareの無料使用// ******************** ************************************************** **********************#include  //#define DEBUG 1 //この行をコメントアウトして、debuggin Serial.print linesconst intkActuatorCountを削除します=2; //処理しているアクチュエータの数//各アクチュエータを識別するためにSimToolsから送信される文字(「名前」)//注:ここでの文字の順序によって、残りの定数kPinsおよびkActuatorScaleconst char kActuatorName [kActuatorCount]の順序が決まります。 ={'R'、 'L'}; const int kPins [kActuatorCount] ={4、5}; //アクチュエータが接続されているピンconstint kActuatorScale [kActuatorCount] [2] ={{0、179}、//右側のアクチュエータのスケーリング{179、0} //左側のアクチュエータのスケーリング}; const char kEOL ='〜'; //行の終わり-acutator値の区切り文字constint kMaxCharCount =3; //いくつかの保険...サーボacturatorSet [kActuatorCount]; // ActuatorsintacturatorPositionの配列[kActuatorCount] ={90、90}; //現在のアクチュエータの位置。90intに初期化されていますcurrentActuator; //シリアルポートから読み込まれている現在のアクチュエータを追跡しますintvalueCharCount =0; //読み取った値の文字数(kMaxCharCount未満である必要があります!! //ステートマシンにいくつかの状態を設定します// psReadActuator =シリアルポートの次の文字はアクチュエータを示します// psReadValue =シリアルポートの次の3文字値を示しますTPortState {psReadActuator、psReadValue}; TPortState currentState =psReadActuator; void setup(){//アクチュエータをピンに接続します(int i =0; i  0).void serialEvent(){char tmpChar; int tmpValue; while(Serial.available()){// ifアクチュエータの名前を待っています。ここで取得しますif(currentState ==psReadActuator){tmpChar =Serial.re広告(); //設定したアクチュエータ名の配列でアクチュエータを探します#ifdefDEBUG Serial.print( "read in"); Serial.println(tmpChar); #endif for(int i =0; i  9))tmpValue =0;アクチュエータ位置[currentActuator] =アクチュエータ位置[currentActuator] * 10 + tmpValue; valueCharCount ++; } else break; } //値の区切り文字を読み取った場合は、アクチュエータを更新し、次のアクチュエータ名の検索を開始しますif(tmpValue ==kEOL || valueCharCount ==kMaxCharCount){#ifdef DEBUG Serial.print( "read in"); Serial.println(actuatorPosition [currentActuator]); #endif //値が0〜179になるように新しい位置をスケーリングしますactorPosition [currentActuator] =map(actuatorPosition [currentActuator]、0、255、kActuatorScale [currentActuator] [0]、kActuatorScale [currentActuator] [1]);# ifdef DEBUG Serial.print( "scaled to"); Serial.println(actuatorPosition [currentActuator]); #endif updateActuator(currentActuator); currentState =psReadActuator; }}}} //現在のアクチュエータの位置を渡されたアクチュエータに書き込みますvoidupdateActuator(int thisActuator){actuatorSet [thisActuator] .write(actuatorPosition [thisActuator]);} 

回路図


製造プロセス

  1. ラズベリーパイ用DIY赤外線モーションセンサーシステム
  2. DIY LUMAZOID Arduino Music Visualiser
  3. Arduinoとスマートフォンを使用したDIY電圧計
  4. DIYバーチャルリアリティスケートボード
  5. モーションセンサー水鉄砲
  6. DIY ArduinoRADIONICSトリートメントマシン
  7. RFIDを使ったDIYのアイデア
  8. DIY3軸CNCVMC
  9. DIY Arduino + GY-906赤外線温度計
  10. フライトシミュレーター用のDIYラダーペダル
  11. DIYArduino高さ測定機