t-robop / 00-Atlas-ac

スクリプト組み立て型のロボPArduinoラジコンシステム (操作コントローラー用Androidアプリ)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ScriptRobotController

スクリプト組み立て型 ロボPArduinoラジコンシステム (操作コントローラー用Androidアプリ)

ラジコン側のプログラム : https://github.com/t-robop/ScriptArduinoRC

目的

GUIでプログラムのフローチャートを作って、ラジコンを動かす ⇛ 思い通りの動作を実行させるための論理的思考力を養おう

開発環境

AndroidStudio 3.1.1 (gradle3.0.1) java

開発中で使用する用語

  • ブロック : 前進や後退などのラジコン各処理のこと
  • スクリプト: 複数のイメージを組み合わせて、上から順に実行させるかたまり
  • ブロックエリア(Drawer内) : イメージが置いてある領域 ボタンを押すorここからドラッグしてスクリプトを追加する
  • ブロックリスト(RecyclerView内) : 実行させるイメージが置いてある領域 上から順に実行させる

実装内容

A実装

  • ブロックエリア、スクリプトリストの作成 ← Done!
  • ブロックをButtonで表示し、スクリプトに追加できるようにする ← Done!
  • スクリプトリストにある各イメージの削除 ← Done!
  • 各イメージの実行秒数の設定 ← Done!
  • スクリプトをArduinoにBluetoothで送信 (送信ボタン実装) ← Done!

B実装

  • ブロックをドラッグでスクリプトに追加できるようにする → タップで追加に変更 ← Done!
  • スクリプトに追加した各イメージの並び替え ← Done!
  • アプリ側でモータ値の設定 ← Done!
  • アプリレイアウトの確定 ← Doing...
  • for文ブロックの作成 ← Doing...

C実装

扱うデータ

  • 各ブロック (前進(1)、後退(2)、左回転(3)、右回転(4)、停止(5)) (必ず1桁)
  • イメージの実行時間[s] (02 : 2秒) (必ず2桁まで)
  • モータパワー値  ラジコンモータをどの程度のチカラで回すか (000〜255) ※電池残量にとても左右される (必ず3桁) (左右それぞれ)

送信データフォーマット

  • orderId : ラジコンに対する動作命令 1 : 前進 2 : 後退 3 : 左回転 4 : 右回転
  • Time : 動作命令の実行時間
  • Speed : 動作命令のモータパワー値

例: 102100 (1命令分)

  • 1桁目 -> imageId
  • 2,3桁目 -> Time
  • 4,5,6桁目 -> Speed

=> モータ値100で2秒間前進

About

スクリプト組み立て型のロボPArduinoラジコンシステム (操作コントローラー用Androidアプリ)


Languages

Language:Java 95.5%Language:Kotlin 4.5%