問題タブ [nxt]
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.
bluetooth - NXT Bluetooth ペアリングが常に失敗する
これに 10 時間以上を費やし、本当に私を夢中にさせます。
最初にAndroidフォンで試しました:
Samsung NOTE2、Samsung Grand2、Samsung Glaxy S2、android 2.2、android 4.2、androind 4.4 の両方にオリジナルの公式NXT ファームウェアと最新のLeJOSを搭載したもの、電話から NXT にペアリングする場合、NXT はウィンドウを表示し、電話と同じように PIN を入力するだけです、しかしすぐに NXT がメイン メニューに戻りました。それ以外の場合、NXT から電話へのペアリングでは、電話が PIN を入力した後、NXT は LeJOS で「回線がビジー状態です」または「失敗しました」と言いますが、電話は NXT が正常にペアリングされている状態です。
WinXP と Win7 の両方で、PC から NXT への接続を試してみました。同様に、スタンドアロンのBluetooth USB キーも購入しました。NXT セットのものと同じ PIN を PC に入力すると、NXT はすぐに「回線がビジー状態です」と言うと、 PC は、ドライバーのインストールを完了するのに常に数分かかります。COM ポートにマッピングされ、PC の状態が正常にペアリングされたように見えますが、NXT では決して行われませんでした。
私はたくさんグーグルで検索しましたが、有用な情報は得られません。何か案が?
multithreading - Lego Mindstorms NXT のデフォルトの「LabVIEW」コードで「スレッドを結合」する方法
簡単に言えば、2 つのモーターを並行して操作し、両方の準備が整ったら、3 番目のスレッドを続行します。
以下は、私が今持っているものの画像です。2 つのトップ スレッドでは、モーター B と C を「無制限」に設定し、両方がスイッチをトリガーするまで待機してから、両方に個別のブール変数を設定します。
次に、3 番目のスレッドで、これら 2 つの変数を 1 秒間隔でポーリングし、AND 演算でループ終了条件が true になるまで続けます。
これは組み込みシステムなので、ここでは問題ないかもしれませんが、「PC プログラミング」では、この種のポーリング ループを行うのはかなり恐ろしいことです。
質問:両方のいずれかを実行できますか?
- この種のポーリングループなしで変数を待ちますか?
- 変数をまったく使用せずにスレッドが終了するのを待ちますか?
nxt - NXT 2.0: ライン追従と障害物回避を組み合わせる?
ライン フォローを行うコード サンプルと障害物回避を行うコード サンプルを見てきました。しかし、ライン追従と障害物回避の両方を組み合わせたコード サンプルはありますか?
java - RobotC VEX / レゴ プログラミング: ロボットに複数の反応を並行して実行させる方法は?
ロボットがバンプ スイッチを使用できるようにして、いずれかを押すことができるようにする必要があります。これにより、バンプ スイッチが押されている限り、そのバンプ スイッチに対応するモーターが動作します。私が抱えている問題は、LEDを正しく点灯させることです。バンプ スイッチ コード ブロックの実行中に、光センサーの値が 400 を超えるたびに、LED を 1 秒間に 7 回点灯および消灯させる必要があります。助けてください!私のコードは以下に掲載されています:
java - Linux で NXT に lejos を使用する
Mindstorms NXT を持っていますが、sudo でのみフラッシュできますか? だから今、私はテストプログラムをアップロードしたいのですが:
私はEclipseとEclipseプラグインを使用しています。NXT の電源が入っていて、USB 経由でも接続されています。権限の問題がいくつかあると思います。あなたはなにか考えはありますか?
java - LEGO NXT で部屋の特定の位置を見つけますか?
レゴ NXT と 100x100cm の正方形の部屋があります。私は常に部屋の中心を出発点 (ブラック ボックス) として使用したいと考えています。緑色のボックスは私の公園エリアになります。円は、途中でランダムに配置された障害物になる可能性があります。赤は部屋の壁です。目的:
- ロボットがどこにいても開始するときは、中央に戻り、その後、要求されたときに緑色のボックスに駐車できる必要があります。
- その復帰センター/ホームの進行では、途中で障害が発生する可能性があります。これらの障害を克服して、うまく駐車できるように努力する必要があります。障害物は円形である必要はなく、正方形でもかまいません。
- 公園/中央エリアに障害物がある場合、駐車できないというエラーを出すか、駐車を中止する必要があります...
最悪のシナリオ: ロボットがコーナーから出発し、駐車する途中に障害物がある。とりあえずカラーセンサーと超音波センサーを使っていますが、ジャイロセンサーを追加することもできますが、まだ詳しく調べていません。RFIDセンサーも持っていますが、2つのトランスポンダーだけではあまり役に立たないと思います.
私の最初の課題は、ロボットの中心を特定することで障害がなく、ランダムな位置からどこに来る必要があるかを知ることです。任意のヒント?ルジョスを使用しています。
超音波は、±3 cm の精度で 5 ~ 255 cm の距離を測定できます。5 cm 未満のものはすべて 6 ~ 8 cm として表示されます。三角形 / 丸い面は問題があり、そのような場合は距離の誤差が 10 cm になる可能性がありますが、最初はすべて正方形 / きれいなオブジェクトと見なします。カラー センサーは超音波センサーの下にあり、両方とも車のライトのようにロボットの前面にあります。
c - RobotC を使用して Bluetooth 経由で NXT から PC にメッセージを送信する
RobotC でプログラムされた NXT から PC 上の Qt アプリケーションにメッセージを送信しようとしています。
電話から文字列データを送信する場合、PC 側はうまく機能します。
NXTで、まずはsendMessage()
機能を使ってみました。これは機能しますが、整数しか送信できず、PC 側でのデコードを複雑にする一種のヘッダーが追加されます。デバッガーを使用してこのようなものを見ることができました。
nxtWriteRawBluetooth()
次に、ヘッダーなしでデータを送信できる機能を試しました。しかし、公式ドキュメントはあまり明確ではなく、例はトピックから外れているように見えます。ウェブをグーグル検索しましたが、役立つリソースが見つかりませんでした。RobotC の例も役に立ちませんでした。
NXT の RobotC コードは次のとおりです。問題なくコンパイルおよび実行されます。(しかし、期待通りに動作しません)
私はいくつかの可能性を探りました:
- ストリーム インデックスを 1、2、または 3 に手動で設定しても問題は解決しません
- メッセージの長さを手動で設定しても役に立たない
- メッセージの長さを 1 バイトに減らしても効果がない
私もその機能を試しましたcCmdMessageWriteToBluetooth()
が、成功しませんでした。
どんなアドバイスも大歓迎です =) ありがとう
追加情報: Windows 8 で RobotC 4.9 を使用しています