問題タブ [arduino]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
automation - Arduinoによる照明制御
ボタンまたはスイッチがアクティブになったときに、部屋の照明を(できれば)暗くし、コンピューターの埋め込み照明をオンにするものを作成するために、Arduinoから始めたいと思います。
まず第一に、これはArduinoでも可能ですか?
第二に、実際のライトをどのようにオン/オフに切り替えますか? ある種のリレー、多分?
少なくともこれの一部がカバーされている優れたチュートリアルまたは何かを知っている人はいますか? プログラミングに問題はありませんが、ハードウェアをどこから始めればよいかわかりません。
unit-testing - Arduinoコードを単体テストするにはどうすればよいですか?
Arduino コードを単体テストできるようにしたいと考えています。理想的には、コードを Arduino にアップロードしなくてもテストを実行できるようにすることです。これに役立つツールやライブラリは何ですか?
便利な開発中の Arduino エミュレーターがありますが、まだ使用する準備ができていないようです。
Atmel のAVR Studioには便利なチップ シミュレータが含まれていますが、Arduino IDE と組み合わせて使用する方法がわかりません。
asp.net - サーバーの USB (COM) ポートに接続するデバイスへの ASP.NET Web ページ
Web サイトから Arduino ボードにコマンドを送信する方法に取り組んでいます。Arduino ボードは、USB ポート (COM ポート) を介してコンピューターに接続されます。
VB.NET プログラムを使用して、ボードを接続して制御することができました。また、COM 接続をインスタンス化し、メッセージを送受信できる VB.NET クラスも作成しました。
次のステップは、基本的に、Web サーバー (Windows Vista で実行されている IIS 7) と Arduino ボードの間でプロキシとして機能するプログラムを作成することです。ユーザーが ASP.NET ページにアクセスすると、ページはプロキシにコマンドを送信して COM 接続を開きます。接続が開いて準備ができたら、コマンドをプロキシに送信できます。次に、プロキシはこれらのコマンドをボードに送信し、ボードから受信した応答をリッスンします。その後、プロキシはこれらのメッセージを ASP.NET ページに戻します。
いくつか質問があります。グループが答えてくれることを願っています...
このアプローチで正しい方向に進んでいますか? これを行うためのより簡単で効率的な方法はありますか?
私が見ている主な問題は、別のユーザーが Web ページを開いて COM ポートを開こうとすると、エラーが発生することです。これにより、最初の接続が失敗しますか? ポートが既に使用されているかどうかを最初に確認し、2 番目のユーザーにメッセージを表示できると思います。
私が見逃している、または見ていない他の潜在的な課題はありますか?
escaping - シリアル経由で文字をエスケープ
Arduinoからシリアルプリンターを制御しています。これで完全に機能しますが、プリンターの特定の機能を制御するためにエスケープ文字を送信する必要があります。それを行う方法はありますか?
「ESCi」を送る必要があります。
c - Arduinoシリアル読み取り
私は Web 制御のローバーに取り組んでおり、シリアル ポートを使用してArduinoと通信しています。fwrite()
ASCII 1 または ASCII 2 を使用してシリアルポートに書き込む PHP をいくつか書きました。Arduino はそのポートをリッスンしており、聞いたことに基づいて処理を行います。PHP に何かを送信するように指示すると、Arduino はそれを受信するので、PHP が機能していることはわかっています。Arduinoコードは次のとおりです。
したがって、これはかなり簡単なはずです。現在、ASCII 1 または ASCII 2 を送信すると、(ピン 13 で) テストしている LED がオンになり、オンのままになります。しかし、別の ASCII 1 または 2 を送信すると、オフになってからオンに戻ります。目標は、ASCII 1 が最後に送信された場合にのみオンにし、最後に 2 が送信されるまでオンのままにすることです。
編集:ここに私のPHPがあります:
windows - Windows で Arduino スケッチのアセンブリ言語リストを取得するにはどうすればよいですか?
Arduino スケッチのアセンブリ言語のリストを表示できるようにしたいと考えています。どうすればこれを達成できますか?
更新: Windows マシンで Arduino ソフトウェアを実行しています。
c++ - avr-gcc を使用して C/C++ でプリメイン初期化を実行するにはどうすればよいですか?
main
(Arduino/avr-gcc を使用して)前にいくつかの初期化コードが実行されるようにするために、次のようなコードがあります。
理想的には、次のように簡単に記述できるようにしたいと考えています。
しかし、これはコンパイルされません...
同じ効果を達成するためのより冗長な方法はありますか?
注:コードは Arduino スケッチの一部であるため、main
関数は自動的に生成され、変更できません (たとえばinitialize
、他のコードの前に呼び出すなど)。
更新:理想的には、初期化はsetup
関数で実行されますが、この場合、関数の前に発生する他のコードがありますmain
。
c++ - int を char* に追加してからクリアする
私はArduinoを使用してプロジェクトに取り組んでおり、シリアルポート(int
sを送信する)から読み取っています。次に、このシリアル通信を LCD に書き込む必要がありますchar*
。
シリアルポートからいくつかの文字 (2 つの整数) を文字列に読み取る必要があります。両方を受信したら、文字列をクリアして次の 2 文字に備える必要があります。
TLDR : を に追加し、文字列が 2 文字になった後に文字列をクリアするにはどうすればよいint
ですchar*
か?
c - C で 1 回の操作で 2 ビットを交換しますか?
6 つの未知の値を持つバイトがあるとします。
ビット 2 と 4 を交換したい (値を変更せず?
に):
しかし、Cで1 回の操作でこれを行うにはどうすればよいでしょうか。
私はこの操作をマイクロコントローラーで毎秒何千回も実行しているため、パフォーマンスが最優先事項です。
これらのビットを「トグル」しても問題ありません。これはビットを交換することと同じではありませんが、トグルは私の目的には問題なく機能します。