問題タブ [arduino-uno]
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.
arduino - Arduino乗算エラー
Arduinoは、たとえば、40以降の数値に1000を掛けることはできません
結果は -5536 .- です。??? 何 ??
秒をミリ秒に変換する必要がありますが、1000 を掛ける代わりの方法がわかりません
serial-port - arduinoのシリアルの不安定な動作で文字が欠落し、場合によっては送信全体が失われる
UNO のハードウェア シリアルに問題があります。多くの場合、1 文字 (通常は受信された最初の文字) が欠落しているように見え、場合によっては送信全体が失われます。これは、シリアル モニターで入力したコンピューターから Arduino がデータを受信している場合にのみ発生します。文字列を送信すると RX ライトが点滅しているのが見えますが、arduino はそれを完全に無視します。
私が送信しているデータは、カンマで区切られた 3 つの 8 ビット符号なし整数です。
次の文字列 string を入力したときのシリアル モニタからの出力例を次に示します: <25,25,25>
出力:
ありがとう
c++ - Arduino ループ エラー: 入力の変更に応答するまで数秒待機します
仕事で実行している実験のために、Arduino Uno 用の簡単な制御プログラムを作成しようとしています。簡単に言えば、入力ピンが高いかどうかを読み取る必要があり、出力ピンを高くするために10ミリ秒待機し、10ミリ秒保持してから低くする場合、それ以外の場合は出力ピンが低くなります。
私の問題は、これを実行すると初期遅延が完全に無視され、出力ピンがローになる前に数秒間ハイのままになることです。(delayMicroseconds を使用)
遅延機能を使用してデバッグ用に簡単なものをセットアップして、1 秒待ってから出力ピンを高くし、1 秒待ってから出力ピンを低くしてみました。これを行ったのは、arduino の組み込み LED を使用して視覚的にデバッグできるようにするためです。その結果、入力ピンがローになった後、実際にはループを 3 回実行し続けます。(遅延を使用)
なぜこれをしているのか理解できないようです。私はいろいろ調べましたが、なぜこれが起こるのかについての情報を見つけることができないようです. 私は経験豊富なコーダーではなく、実験を実行するために必要なものを書いているだけです。cコードを使用してピンレジスタを直接読み書きしようとしましたが、ifステートメントからwhileループに切り替えても問題は解決しませんでした。どんな洞察も大歓迎です。
c++ - Arduino 行列演算?
Arduino で行列演算を処理できるライブラリを探しています。Arduino Playgroundで取り上げられているライブラリが 1 つあることは知っていますが、条件の悪い行列を処理できないこと、およびユーザー インターフェイスが少しぎこちないことから、少し精彩を欠いていることがわかりました。
代替手段はありますか?Armadillo や PETsc のような、ある種の評判があるものが望ましいですか? 大きなものの 1 つを使用したいのですが、Arduino IDE ではまだサポートされていない C++11 に移行したようです。私の他のオプションは、avr-gcc を最新のものに更新し、Atmel Studio/Visual Studio を使用して、自分でビルドすることです。次に、これらの他の成熟したライブラリのいずれかを使用できるようにする必要があります。特にArduinoコアがC++ 11で動作することが保証されていないため、そのうさぎの穴に入る必要はありません。
loops - 値が変化したときにループを実行する - Arduino
私はarduino unoで光、温度、湿度を測定しており、ループを毎分実行するようにプログラムしています。シリアルモニターで値を監視します。
ただし、コードを一度実行して値を取得し、値の1つが変化するまで待機または一時停止してから、これをシリアルモニターに出力するコードが必要です。
ループが実行されるのを 1 分も待つのではなく、センサーの変化をすぐに知りたいのです。これを行う方法はありますか?
ありがとう。
では、次のコードに if/else 関数を追加する必要がありますか?