投稿

5月 4, 2022の投稿を表示しています

ダイセンμCOREで、αエクスプローラー用4輪制御アイコンを使う

イメージ
 ロボカップジュニアでは、TJ3Bで有名なダイセンの製品にμCORE(マイクロコア)というものがあります。Arduinoのようにも見えますが、最大の違いはC-STYLEでプログラムが書けるということです。TJ3B用とは別の専用のC-STYLEがホームページからダウンロードできます。 TJ3Bから卒業したい、またはサイズを小さくしたい、だけどArduinoはまだ不安という選手にお勧めです。Arduinoで必要になる回路設計や配線なども経験することができます。 見た目はほぼ変わらず、モーターが標準装備ではないので、それ以外のアイコンがあります。 センサモニタが面白くて、ピンすべてが表示できます。センサのデバッグはかなりやりやすいでしょう。この見やすさだけでもμCOREを使う意味はありそうです。 また、TJ3BのオプションのI2C機器、コンパスやモータードライバーも使うことができます。 ただし、コネクタなどは何もついていないため、自分で配線をしていく必要があります。これが新しい点です。 自分でコネクタを配置できるということはサイズも大きさも自分で決められるということです。設計の自由度が大きく上がりますし、センサーを同一の基板に収めてしまうこともできます。 難しそうですが、電源さえつなげばとりあえず動きます。あとは必要な端子と端子をつないでいきましょう。 今回はこのμCOREを使って、4輪制御をしてみます。 【方法1 一番簡単な方法】 6chモータードライバ、または4chモータードライバを使ってI2Cでつなげば、TJ3Bでも使えるアイコンを使って数字で指定できるので、簡単です。 【方法2 通常の方法】 モータードライバを自前で用意し、これをArduinoのようにデジタル出力を使ってモーター制御をすることができます。モータードライバの入力に使うPinを決めて、デジタル出力に設定し、H/Lの出力をすれば、モーターを回せると思います。スピード制御なども関数を作ればできると思います。 【方法3 今回紹介する方法】 モータードライバを自前で用意し、ほぼ6chモータードライバーのような見た目で、モーターを制御します。 方法2のようにPIN単位でH/Lの制御をする必要がなく、方法1と同様の簡単さで速度も指定できるので制御がわかりやすく、かつ、方法2のように、自由にモータードライバを使うこ

改造攻略ルート考察(ロボカップジュニアサッカー)

イメージ
 ロボカップジュニアサッカーのロボット製作の攻略ルートを考察してみました。 これにはメンターの各種方針も入ってくるので、どれが正解というのはないと思います。 とはいえ、ある程度の一般化はできるのかな、とまとめてみました。 KOROBO2ルート 最近、KOROBO2も触ってみて、とても興味深いことに気づかされました。 KOROBO2はPalletIDEという付属ソフトでプログラムを作成しますが、TJ3Bでは普通に意識していた、センサーの反応の値が数値ではありません。反応したか、していないか、のどちらかです。つまりこれを「デジタル入力」と言います。 TJ3Bはセンサーの反応の値は0%から100%なので、連続で値が変わっていく、「アナログ入力」と言います。 でも、やってみると、デジタル入力だけでもサッカーのプログラムは結構組めるのです。 さらに初心者にはそのほうが分かりやすいかも、と思いました。アナログ入力でも値を使っているだけで、初心者のプログラムでは、例えば70%以上か以下か、の2つの判定しかしていないので、デジタルと動きは変わりません。 余計な値を意識せず、プログラムの組み方を純粋に工夫できるのがKOROBO2のいいところだと思いました。しかし、プログラムで使える入力が、ボタンも含めて6つ、コネクタは4つ、最初に拡張パーツを買うとほぼポートは埋まってしまうので、さすがに拡張して使っていくには厳しいところです。工夫次第では自作センサを試したりなど、ある程度はできそうですが、KOROBO2しか触っていない子どもたちが自分でやるのは厳しそうです。 この先どの方向のルートに進めばいいのかは、周りの教えてくれる人の環境によるでしょう。 TJ3Bルート 改めて思うのは、さすがの拡張性でずっと使い続けられる機体です。 標準オプションだけでも、6CHモータードライバー、USS拡張基板、Pixy2、サブマイコン、とフルセットにすれば、特に基板設計なしに、全部乗せられてしまうのが強みです。 欠点としてはコストも相応にかかってしまうことですが、身近に教えてもらえる人に恵まれていない人には強い味方となると思います。 私のおすすめの実験としては、2ポートをデジタル出力に切り替えて、Hブリッジのモータードライバを制御してみるといいと思います。これはArduinoになっても絶対必要だからです。