問題タブ [firmata]

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.

0 投票する
0 に答える
559 参照

python - Python 3 Pyfirmata タイムスリープの問題

Python3 の時間sleep()関数について質問があります。私のセットアップは、Firmata ファームウェアを実行する Arduino UNO と、pyfirmata ライブラリを使用して Python コードを実行する PC/ラップトップで構成されています。

私がやろうとしているのは、値のリスト (この場合は 100 個の値) から PWM ピンにアナログ書き込みを行うことです。また、0.001 秒または 1 ミリ秒ごとに出力するようにします。したがって、技術的には、各 0.001 秒で 100 個の値が完了するまでに約 0.1 秒かかります。

次に、タイマーを使用して所要時間を確認すると、問題が発生しました。特定の Web サイトで Google Chrome を開いた場合、合計で 0.1 秒しか達成できませんでした (奇妙に思えるかもしれませんが、100% 本当です)。Google Chrome を最小化しても、Chrome を再度開くまで、合計時間は一貫して 1.6 秒まで遅くなりました。

次に、ループ内で離陸しようとしたところtime.sleep(0.001)、Chrome の外観に関係なく正常に機能しました。

この場合の理由と解決策を本当に理解したいです。多分の代替time.sleep?これがPythonの私のコードです。Arduino IDE からfirmata スケッチを読み込むことができます。

time.sleep()また、 の値が高い場合、 Chrome を開いているかどうかに関係なく、すべてが正常に動作することに注意してください。

0 投票する
0 に答える
239 参照

node.js - Arduino Firmata I2C スレーブ ライター nodejs

こんにちは、nodejs を使用してスレーブ arduino からコードを読み取ろうとしていますが、firmata を介して arduino に接続されていますが、読み取りで正しい値を取得できません。

このパッケージを使用していますhttps://www.npmjs.com/package/firmata

また、マスターからスレーブにデータを送信しようとしましたが、正しく動作します。

スレーブ arduino コード:

Firmata コード:

私が得る応答は次のとおりです。

0 投票する
1 に答える
1355 参照

arduino - pyFirmata を正しくインポートするには?

私はArduino Megaの実験を含むプロジェクトに取り組んでおり、この本https://books.google.co.uk/books/about/Python_Programming_for_Arduino.html?id=O0PfBgAAQBAJ&printsec=frontcover&source=kp_read_button&redir_escから学んでいます=y#v=ワンページ&q&f=false

私は pyfirmata ライブラリをインポートする必要がある段階にありますが、何らかの理由でインポート エラーが発生し続けます。

私は pip3 を使用してライブラリをインストールしましたが、それが役に立たなかったときは、ソースからビルドしたので、自分のシステムにライブラリがあると確信しています。インストールされているファイルパスも取得しました。私の Python サイトパッケージ ディレクトリ内。

この本は Python 2.7 を支持していますが、Python 3 でもこれを機能させることができると考えました。を試しましたimport pyfirmataが、from pyfirmata import Arduinoどちらの場合もインポート エラーが発生します。

これを機能させるのはそれほど難しいことではありません。何を試すべきですか?

また、最初の行をディレクトリの正確なファイルパスに置き換えてみましたが、効果はありませんでした。