回答:
Arduino Simulatorプロジェクトがいくつかあります。
おそらくもっと成熟したものの1つは、Arduino用のVirtronics Simulatorです(YouTubeビデオはこちら)。
上にリンクされているVirtronicsページには、無料と有料の両方の他のArduinoシミュレータもいくつかリストされています。
Arduinoが喚起する関心を考えると、そのようなシミュレーターがもっとたくさんある可能性が高いので、ここで答えにそれらをすべてリストしようとすることは意味がありません。
注目に値するのは、Arduino SimulatorのiPhoneアプリもあるということです。これは推奨事項ではなく、まだ動作中です。
サイドノート:
Arduinoはそれ自体がプロトタイピング/実験ボードです。実験的なコードのプログラミング、デバッグ、修正、そして新鮮なコードの再フラッシュに最適です。コードがハングした場合は、リセットして、変更を加えて再フラッシュします。
したがって、アプリケーションが直面する可能性のあるさまざまな実世界のタイミングやその他の問題を完全にエミュレートできないシミュレータを使用するメリットは疑わしいです。
Arduinoのコストが懸念される場合、いくつかのオプションがあります。
Arduinoに接続してデバッグした状態でプログラムを手動で実行し、Arduinoにコードをダウンロードした後、実行時エラーを見つけることができます。Visual Studioが必要ですが、これはVisual Microで使用できます。ブレークポイントの設定、変数の評価、変数値の変更ができます。時間の経過とともにメモリを視覚化することもできます。
これを行う1つの方法は、実際の環境に従って、すべての入力をシミュレートし、出力を受け入れる(それによってフィードバックループを作成する)実際のコードのラッパープログラムを作成することです。これには、プログラムの種類、テストの程度、および入力の数に応じて、さまざまな労力がかかります。
ラッパープログラムを作成するときは、ブラックボックス アプローチに従う必要があることに注意してください。
そうでなければ、あなたの外側のコードは、あなたが境界例や問題領域を無視するようにテストコード5月バイアスを作成しながら、心の中で実際のコードを維持するように、プログラムだけでなく、可能性をテストしない場合があります(これが起こることが観察されているしながらホワイトボックステストをどの代替手段です)。