ゆるスタック!

キーフレーズ

LLVM Chapter ZBrush JavaScript ドローン クリエイター function llvmlite name 車輪の再発明 builder ポリゴン 伺か node プログラム プログラミング言語 Python return ポーン Android character レイヤー var コンパイラ API ast アプリ python else object https モデル プラシ インストール res key peripheral 実行 Java unyu () Extract http:// unknown require llvm ret SubTool mainWindow JIT バックエンド sakura Windows Bluetooth BIuetooth def div comment electron モデリング store noble npm デスクトップ render main 設定 add STEPS process start drone steps react import console.log func 表示 接続 rolling connect 簡単 class false delay React ファイル Node NodeVisitor 機能 LLVMIR target タスクトレイ advertisement keypress temporal 追加 使っ 変換 環境

目次ページ

次にキーボード操作のコーディングです。ここでは INPUT されたキーに応じて「離着陸」、 「左右前後の移動」、「上昇下降」、「左右旋回」、「特殊動作」、「接続解除」を割り当てます。 まずはその前準備の前半です。以下のサンプルを見てみましよう。 var RoIlingSpider = require("rolling-spided'); var keypress = require('keypress ・ ); keypress(process. stdin); process. stdin. setRawMode(true); process. stdin. resume(); var ACTIVE = true; ″コマンド辺りの移動距離 var STEPS = 5 ; ″接続対象のを記載 var d = new RoIIingSpider({uuid:"Mars_XXXXXXXX"}); function C00 旧 own ( ) { ACTIVE = false; setTimeout(function ( ) { ACTIVE = true; } , STEPS); ″接続設定 d. connect(function ( ) { d. setup(function ( ) { console.Iog('START CONNECT DRONE', d. name); } , 1000 ) ; ACTIVE = true; setTimeout(function ( ) { d.flatTrim(); d. startPing(); d.flatTrim(); 57 RollingSpider オプジェクトの動作関数を呼んでいきます。 そして後半がメインのロジックです。こでは人力されたキー入力に対して前半で宣言した ても問題ありませんが、繋がらないときは待ってもつながらないので短めがお勧めです。 続いて接続時には開始の Ping を打ちつつタイムアウト値を設定します。この辺りの値は適当に変え いので、サンプルの「 5 」くらいを推奨します。 移動距離はあまり長くすると一回の移動コマンドで動く距離が長くなり意図せず物に追突しかねな グラムを利用して接続された 1 個目の ID を利用するなどコーディングしても良いかもしれませんね。 と接続対象のドローンの ID を設定。接続 ID は接続確認プログラムの結果を記載します。前項のプロ モジュールの呼び出しから始まり最初はおまじないが続きます。次に 1 回のコマンド入力の移動距離 プログラムでドローンを飛ばそう ! キーポード操縦コード console.log(). name + ' = > DRONE START'); Chapt er 3

プログラムでドローンを飛ばそう ! Chapter 3 58 C00 旧 own ( ) ; d. down({ steps: STEPS } ) ; else if (key. name = C00 旧 own ( ) ; d. up({ steps: STEPS } ) ; else if (key. name = ″上昇下降 C00 旧 own ( ) ; d. tiItLeft({ steps: STEPS } ) ; else if (key. name = C00 旧 own ( ) ; d. tiItRight({ steps: STEPS } ) ; else if (key. name = = 'right ・ ) { C00 旧 own ( ) ; d. backward({ steps: STEPS } ) ; else if (key. name = C00 旧 own ( ) ; d. forward({ steps: STEPS } ) ; else if (key. name = ″前後左右の移動 process. exit(); process. stdin. pause(); d. disconnect(); console.log('disconnect ・ ); else if (key. name = ″接続解除 d. hover(); console.log('hover'); else if (key. name = d. takeOff(); console.log( ・ takeoff); else if (key. name = d 」 and(); console 」 og('land'); if (key. name = ″離着陸 var param = {tilt:0, f0 a 「 d : 0 , turn:0, up:0}; if (ACTIVE & & key) { console 」 og('lNPUT_KEY = > ' , key); process. stdin. on('keypress', function (ch, key) { ″キーイベントの設定

プログラムでドローンを飛ばそう ! ″旋回 else if (key. name = param. turn = 90 ; d. drive(param, STEPS); C00 own ( ) ; else if (key. name = param. turn = -90 ; d. drive(param, STEPS); C00 旧 own ( ) ; d. backFlip(); else if (key. name = C00 own ( ) ; d. frontFIip(); else if (key. name = ″特殊動作 C00 旧 own ( ) ; Chapter 3 前後左右の移動には矢印キーの「↑↓←→」を割り当てています。旋回は一回のキー入力で左右に 90 ℃ずっ旋回、そして特殊動作にはプリセットされている前方回転と後方回転を設定しています。 の他にも rightFIip や IedtFIip といった左右の回転もあります。 こでは仮に「 keyEventControl. js 」としておきます。 キーポード操縦コード 最後に自動操縦のコーディングです。ここでは予め設定した動作を連続して実行するプログラムを実 装します。利用出来る動作はキーボード入力と同じですので自由に組み合わて 0K です。 temporal オプジェクトに自動実行させたい動作を順に詰めていき connect 関数に渡します。 use StriCt'; var Drone = require('.. /,); var temporal = require( ・ temporal'); var d = new Drone(process. env. UUID); d. connect(function ( ) { d. setup(function ( ) { d.flatTrim(); d. startPing(); d.flatTrim(); C0nS0厄」0g( ℃ onnected to drone ・ , d. name); 59