スマートフォンのリモコン

以前の2つの記事では、スマートフォンを使用しておもちゃの車を音声で直接制御する方法と、別のBluetoothスマートフォンを使用する方法の両方について説明しました。 しかし、コントロールは原始的でした-コマンドが与えられ、車がコマンドを実行し、停止し、次のコマンドを待ちました。 これは、屋内条件での車の高速(約1.2 m / s)、コマンドが与えられた時間の長さ、およびメニューを使用した移動にすばやく介入できないことが原因でした。 標準のリモートコントロールでさえ制御できませんでした。 グラフィカルインターフェイスを備えたリモートコントロールの新しいバージョンでは、PWMを使用して速度を調整し、ステアリングをシミュレートすることにしました。







写真は、スマートフォンが制御するマシンと、動作するBluetoothリモートコントロールプログラムを備えたスマートフォンの下を示しています。



画面の上部にはスライダー(緑色の円)があり、指で動かします。



画像



画面から指を離すと、スライダーから画面の左端までの相対距離がコントロールスマートフォンに送信され、そこでパルス信号の緯度変調が形成されます。



GR.GET.POSITION c1, xx, yy r6=(xx-xc)*(xx-xc)+(yy-yc)*(yy-yc) IF r6<rkn THEN GR.TOUCH touched, x, y IF y < 120 THEN DO GR.TOUCH touched, x, y GR.GET.POSITION c1, x1,z1 GR.MOVE c1 ,x-x1, y1 GR.RENDER UNTIL !touched ENDIF GR.GET.POSITION c1, x1,z1 POPUP STR$(x1/w) BT.WRITE "#"+STR$(x1/w) ENDIF
      
      





信号の最小デューティサイクルは20%、最大デューティサイクルは80%です。 理論上の可能な周波数は10 Hzです。 実際には、変調用の信号はコマンドの一般的なストリームに送られ、それらの一部にも時間遅延があるため、おそらく4〜5 Hz前後です。 したがって、低デューティサイクルでは、振動がはっきりと見えます。



2つの緑色のボタン-上前方、下後方。 右の赤いボタン-じっと立っています。 2つの白いボタン-リモートコントロールとタイプライターのプログラムを停止します。 画面の下部には、左、まっすぐ、右への移動方向を選択するための3つの紫色のボタンがあります。 で

対応するモードをオンにすると、ボタンの中央に、直径が同じで暗い色の円が表示されます。 ボタンに加えて、動きの方向を制御するために加速度計も使用しました。 スマートフォンが水平の場合、重力加速度ベクトルの0Y軸への投影は0であり、これは動きに直接対応します(上図を参照)。







スマートフォンの左側を持ち上げると、投影には+記号が付き、これは右への動きに対応します。







あなたが右側を持ち上げると、サインで-それは左への動きに対応します。

プログラムは加速度計の測定値を読み取り、車を運転しているスマートフォンに適切なコマンドを送信し、ボタンにモードを表示します。



 SENSORS.READ 1, sx, sy, sz IF (sy<=1)&(sy>-1)&(lrsh) THEN rsh=1 lsh=1 lrsh=0 GR.HIDE cc13 GR.HIDE cc15 GR.SHOW cc17 GR.RENDER BT.write "f" pause 100 ENDIF IF (sy>2)&(rsh) THEN rsh=0 lsh=1 lrsh=1 GR.HIDE cc13 GR.HIDE cc17 GR.SHOW cc15 GR.RENDER BT.write "r" pause 100 ENDIF IF (sy<-2)&(lsh) THEN lsh=0 rsh=1 lrsh=1 GR.HIDE cc17 GR.HIDE cc15 GR.SHOW cc13 GR.RENDER BT.write "l" pause 100 ENDIF
      
      





これが、リモートコントロールの仕組みです。 車の制御プログラムの動作も変更されていますが、それほど重要ではありません。 将来的には、コマンドを記憶し、それらを自動モードで実行する機能をプログラムに追加したいと考えています。



All Articles