問題タブ [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.

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

bluetooth - Arduino LilyPad で BlueSmirf v2.11 をコマンド モードに切り替える

バッテリ駆動 (2 x AA) の Arduino LilyPad は、BlueSmirf v2.11 Bluetooth モデムをコマンド モードに切り替えます (以下のソース コードを参照)。BlueSmirf は 9600 ボーに設定されています。

PC が Bluetooth 経由で接続されている場合 (以下のソース コードを参照)、Arduino プログラムは最初は正常に動作します (複数の「ping\n」を送信します)。しばらくすると、(LilyPad/BlueSmirf) コマンド モードとの切り替えではなく、Bluetooth 接続を介して "$$$" と "---\n" も送信し始めます。

何か案は?

よろしく、タンバーグ

0 投票する
3 に答える
822 参照

ruby - Arduino 制御のドリンク ディスペンサー (バー モンキー) を制御するための Ruby DSL の改善に助けが必要です

私が取り組んでいる Arduino プロジェクトを制御するために、Ruby で DSL を書いています。バルディーノ。これは、飲み物を提供するためにソフトウェア制御されるバー モンキーです。Arduino は、シリアル ポートを介してコマンドを受け取り、どのポンプをどれだけの時間オンにするかを Arduino に伝えます。

現在、レシピ (以下を参照) を読み取り、それを出力します。シリアル通信のコードは、以下で言及した他のアイデアと同様に、まだ作業する必要があります。

これは私の最初の DSL であり、以前の例に基づいて作業しているため、端が非常に荒いです。批評、コードの改善 (Ruby DSL のベスト プラクティスやイディオムに関する適切なリファレンスはありますか?)、または一般的なコメント。

私は現在、DSL の大まかなドラフトを持っているので、飲み物のレシピは次のようになります ( Github リンク):

これは順番に解釈され、現在は次のようになります ( Github リンク):

これは DSL の良いスタートですが、もう少しうまく実装できると思います。私が以下に持っていたいくつかのアイデア:

  1. 材料の名前とそれが接続されている番号ポンプを使用して、利用可能な「材料」を定義します。たぶんハッシュを使用していますか?材料 = {"水" => 1, "ウォッカ" => 2}. このようにして、成分が解釈されると、a)シリアルポートを介してポンプ番号を送信し、続いてArduinoが分配するオンス数を送信しますb)成分が存在しないことをユーザーに伝え、中止するため、何も分配されませんc)変更された場合、新しい成分を簡単に変更または追加できます。
  2. DSL の主な目的である、レシピをコードのように見えないようにすることは、レシピ ビルダーを構築することでしょうか? 利用可能な材料を使用して、ユーザーに飲み物の名前、含まれる材料、およびその量を尋ねますか?

Github プロジェクトはこちら です。気軽にフォークしてプル リクエストを作成したり、他のユーザーが見られるようにコードの提案や例をここに投稿したりしてください。興味があれば、Ruby Arduino 開発フレームワークを使用した Arduino コードはこちらにあります。

アップデート

Orion Edwards のレシピに対する提案を反映するために、少し変更してクリーンアップしました。現在は次のようになっています。

ハッシュも追加しました(キーは成分であり、値はそれが接続されているポンプ番号です)。これは大きな進歩をもたらしたと思います。今のところ、さらなる提案のために質問を開いたままにしますが、最終的には Orion の回答を選択します。更新された DSL コードはこちらです。

0 投票する
4 に答える
11236 参照

c++ - Linux上のC++でシリアルインターフェースを介してArduinoと通信する方法は?

Arduinoボードに接続されたRFIDリーダーがあります。シリアル インターフェイス経由で接続したいのですが、RFID リーダーが信号を省略したとき ((RF)ID を読み取ったとき) はいつでも、C++ プログラムでそれを取得したいと考えています。

RFIDをArduinoからシリアルに単純に印刷するためのコードはすでにあります。

私が知らないのは、Linuxで C++ から読み取る方法ですか?

簡単に見えるlibserialを見てきました。ただし、継続的にリッスンするのではなく、C++ プログラムを信号に反応させてから RFID を読み取るにはどうすればよいですか? これは必要ですか?

編集: 私が読んだほとんどの例では、(c++) プログラムは入力を送信し、出力を受信します。Arduinoからの出力を聞いて受け取りたいだけです。

0 投票する
3 に答える
9504 参照

serial-port - シリアルポートがリッスンしているかどうかを確認します

シリアルポートを介してPythonスクリプトで命令を送受信するArduinoがあります。

Arduinoはボタン状態になり、押されると、シリアルポートを介してPythonスクリプトにメッセージを送信し、応答を待ちます。(経由Serial.available())。それは十分に機能します。

ただし、Pythonスクリプトが何らかの理由でクラッシュした場合(理想的にはバックグラウンドで実行されるため、簡単にチェックできません)、Arduinoは永久に待機し、スクリプトを再起動しても使用できなくなります。

Arduinoがシリアルポートでリッスンしているものがあるかどうかを確認する方法はありますか?(そうでない場合は、ライトの点滅などで私に警告します)またはこれはシリアルがどのように機能するかではありませんか?最悪の場合、タイムアウトを使用できると思いますが、それは理想的ではありません。

0 投票する
2 に答える
4313 参照

serial-port - ArduinoからProcessingに送られる奇妙なランダムデータ

フォトセル抵抗器と Arduino Decimila からデータを読み取り、Processing でリアルタイムにグラフ化しようとしています。

痛々しいほど単純であるべきです。しかし、それは私にとって少し悪夢に成長しています。

私のArduinoで実行しているコード:

Processingで実行しているコード:

両方のコードを別々にテストしましたが、動作することがわかっています。問題が発生するのは、Arduinoからの入力をProcessingに送ろうとしたときだけです。

Arduino の「シリアル モニター」でデータを表示すると、有効に見える一定のデータ フローが得られます。

しかし、Processing を通じて同じデータを読み取ると、ランダムな値の繰り返しパターンが得られます。

ハーフ?

0 投票する
2 に答える
173 参照

embedded - 変数を付加する

2つの変数(inとin2)を取り、それらをまとめたいと思います。次に例を示します。

arduino IDEは、inはクラスではないと言っているので、これを実現するためにどの構文を使用しますか?

編集:私はそれを行うための別の方法を考え出しました、あなたはただ取ることができますin。10を掛けて、プラスpinの合計に設定しますinin2

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

embedded - 奇妙なデータをシリアル送信

そこで、USBポートから2桁の数字を取り出し、その数字と一致するピンの状態を確認してから、ピンのオン/オフを切り替えるスケッチを作成しています。

ソースをのぞいてみましょう

何らかの理由で、Arduinoシリアルモニターを介して13を送信すると、次のメッセージが返されます。 Pin number is greater than 14, details: 490 51 541

IDEが奇妙な番号を送信しているか、Arduinoがそれらを間違って処理していることを意味します。なぜこれが正しく機能しないのかについて問題を感じている人はいますか?

0 投票する
6 に答える
12055 参照

c++ - Arduino C ++コード:仮想関数と例外を使用できますか?

質問からのこのコメントのフォローアップファームウェアの作成:アセンブリまたは高レベル?

Arduinoプラットフォーム用のC++コードをコンパイルするときに、仮想関数や例外などを使用できますか?または、(コメントで説明されているように)C ++のサブセットを使用したい(しなければならない)でしょうか?

Arduinoプラットフォーム用にプログラミングする際のその他の注意点はありますか?

0 投票する
4 に答える
9235 参照

embedded - エプソンのレシートプリンターでArduinoから印刷する

Arduino と Epson TM-T88II レシート/ POSプリンターを使用してマイクロプリンターを構築しようとしています。プリンターはEpson Esc/POSシステムを使用していますが、Arduino からはまったく何もできません。私は次のようなことをしています:

プリンターがまったく反応しません。プリンタの電源が入り、セルフ テストが問題なく印刷されます。これはシリアル ( RS-232 ) プリンターで、MAX233チップを介して Arduino に接続しています。チップを介して接続を確認して再確認しましたが、同様のセットアップが機能している友人に基づいていると思います。TM-T88 プリンタにはヌルモデム シリアル ケーブルが必要だとどこかで読んだので、アダプタを購入しましたが、違いはないようです。

電化製品初心者ですので、完全に戸惑っています。何かを印刷したいだけなので、楽しい部分であるプログラミングに取り掛かることができます:)。テスト/試行することについて何か考えはありますか? 配線などについて詳しく説明できますが、これが長くなりすぎないようにしたいだけです。

0 投票する
5 に答える
4094 参照

python - PIR センサー + Arduino + Python + 電子メール アラート

私たちは学校向けのプロジェクトに取り組んでおり、2 つのPIRモーション センサーを Arduino マイクロコントローラーで実行しています。Arduio IDE と Python IDLEの両方でシリアルポートの出力を表示できます。

次にやりたいことは、モーションが検出されてから約 30 秒後に電子メール アラートを送信することです。この時点ではイーサネット機能がないことがわかり、Python を介して電子メールを取得するのが最も簡単な方法であると考えました。

これを達成する方法は?

アップデート:

この時点で、Python から電子メールを送信できます。Python で Arduino シリアル ポートを読み取ることができますが、すべてをまとめるのに問題があります。

これは私たちのPythonコードがどのように見えるかです. while 1: は混乱が起こる場所です:

どんなヒントでも大歓迎です。