tokumi_roboのアイコン画像
tokumi_robo 2020年05月03日作成 (2022年01月18日更新)
セットアップや使用方法 セットアップや使用方法 閲覧数 1977
tokumi_robo 2020年05月03日作成 (2022年01月18日更新) セットアップや使用方法 セットアップや使用方法 閲覧数 1977

近藤科学MC-8での7セグ制御

はじめに

某大学で某ロボット競技をやっている者です。
今回、半年前くらいに近藤科学から出た新しいプロポが某ロボット競技で使えないかと思い、試しに7セグ制御をしました。

MC-8とは

キャプションを入力できます

近藤科学が販売している2.4GHz MX-F 送受信機のことで、MC-8は、PWM信号で制御する機器を8CH制御でき、RCカーの操縦や、ロボットなどPWM信号で動作するサーボやスピードコントローラを搭載したマシンの無線コントロールができます。
スペックは以下のようになっています。

<スペック>
【送信機 MC-8】
●2.4GHz MX-F方式 マルチコントローラー
●サイズ:150.0×84.5×61.0mm
●重量:145.5g(電池含まず)
●電源:単4乾電池、単4型充電式電池×4本(別売)
●消費電流:50mA以下
 連続17時間以上使用可能(条件により異なります)
●チャンネル数:8
 スティック操作4系統 + スイッチ操作4系統
●送信周波数帯:2.4GHz
●電波到達距離:片翼50m
 ※環境や受信アンテナ状態により増減します
●対応受信機:MR-8
 ※KRR-1、KRR-5FHは使用できません

【受信機 MR-8】
●2.4GHz MX-F方式 マルチレシーバー
●サイズ:27.0×28.0×15.0mm
●重量:7.0g
●電源:3.0~6.6v
●使用可能電源:乾電池、または充電式電池
(Ni-MH 3~5s、Li-Fe 1~2s、Li-Po 1s)
※リチウム電池使用の場合は電圧低下にご注意ください。
※異なる種類の電池を混在して使用しないでください。
●消費電流:40mA以下(受信動作時)
●チャンネル数:8
●受信周波数帯:2.4GHz
●対応送信機:MC-8
 ※KRC-5FHなどMC-8以外の送信機とは通信できません。

チャンネル数が8あるので様々な動作が手元でできると思い、今回使うことにしました。しかも、¥9,800なので非常に安い!

** 使用したもの **

  • ArduinoMicro
  • ジャンパー線
  • 330kΩ抵抗
  • MC8
  • 超高輝度7セグメントディスプレイ青
  • 6P電池
  • 安定化電源モジュール

配線図

キャプションを入力できます

プログラム

CH-Hのテスト

//一回押されるとstateが加算され、10まで増えたら0になる。 //ボタンが押されるたびに切り替わる。 #define CH_H_PORT 9 //hボタン入力 #define SWING 25//振り幅 int iVarCheck = 1470; int state = 0; // LEDの状態(0ならオフ、1ならオン) void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(CH_H_PORT, INPUT_PULLUP); } //LEDレイアウトを定義 boolean Num_Array[10][7] = { {1, 1, 1, 1, 1, 1, 0}, //0 {0, 1, 1, 0, 0, 0, 0}, //1 {1, 1, 0, 1, 1, 0, 1}, //2 {1, 1, 1, 1, 0, 0, 1}, //3 {0, 1, 1, 0, 0, 1, 1}, //4 {1, 0, 1, 1, 0, 1, 1}, //5 {1, 0, 1, 1, 1, 1, 1}, //6 {1, 1, 1, 0, 0, 1, 0}, //7 {1, 1, 1, 1, 1, 1, 1}, //8 {1, 1, 1, 1, 0, 1, 1} //9 }; //LED表示関数を定義 void NumPrint(int Number) { for (int w = 0; w <= 7; w++) { digitalWrite(w + 2, -Num_Array[Number][w]); if (w == 0) { } } } //全てのLEDを非表示にする void off7SegLED() { //for文で2番ピンから8番ピンまでをLOWにする for (int i = 2; i < 9 ; i++) { digitalWrite(i, LOW); } } void loop() { int chh; int f = SWING; chh = pulseIn(CH_H_PORT, HIGH); NumPrint(state); //Hボタン変化チェック if ((chh + f < iVarCheck) || (chh > iVarCheck + f)) { state = (state + 1) % 10; NumPrint(state); } iVarCheck = chh; delay(200); }

動作確認

今回はMC-8のCH-Hのみを使いテストをしました。

キャプションを入力できます

キャプションを入力できます

今回ArduinoMicroを初めて使ったのですが、プログラムがうまく書き込めず、書き込めたとしてもマイコンがうまく動かず沼りました。
普通にArduino_UNOを使うようにマイコンの電源はパソコンのUSBバスのみで試したが動かず、別途安定化電源モジュールで5Vを作り、マイコンにつなげると、解決しました。
原因はおそらく、USBのバス電源だけではArduinoMicroには足りなかったのだと思います。また、超高輝度7セグを使ったため電流が足りなかったとか?よくわかりません。

今後の課題

他チャンネルの制御をテストし、実際にロボットを動かしていきたいです。

やっぱり今年のロボット相撲は中止なんかな……

3
tokumi_roboのアイコン画像
こんにちは。ロボット相撲をしてます。電子工作やパワエレに興味があります。たまーにモノを作って上げようと思います。 Twitter→@tokumi_robo Youtube→https://www.youtube.com/channel/UCfrWZ3wYANxSnQf3GeVgXqQ はてなブログ→https://tokumi-electronics.hatenablog.jp/
  • tokumi_robo さんが 2020/05/03 に 編集 をしました。 (メッセージ: 初版)
  • tokumi_robo さんが 2020/05/03 に 編集 をしました。
  • tokumi_robo さんが 2020/05/03 に 編集 をしました。
  • Opening
    macのアイコン画像 mac 2020/05/04

    初めまして、macと申します。
    先日、このサイトで卓球用スコアボードの製作をアップしました。赤外線リモコンで動作はしているのですがこれを複数台同時使用するにはどうしたらいいかなと考えています。MC-8の説明書を見たのですが同時に何台使えるのかわかりませんでした。ペアリングするので多分複数台同時使用ができるのではと思うのですが。その辺の情報をお持ちでしょうか。

    tokumi_roboのアイコン画像 tokumi_robo 2020/05/06

    受信器は一つとしかペアリングできないので、複数制御はできないと思われます。MC-8は混信しないように1つ1つの送信機受信機セットでプロトコルが違うそうです。ただし、一つの受信機からPWM線を伸ばせば、A~Hの8ch、8つまで信号を出せるので、プログラム次第ではできるかもしれません

    1 件の返信が折りたたまれています
  • Opening
    macのアイコン画像 mac 2020/05/07

    情報有難うございます。ラジコンカーみたいにペアリングを順番にすれば何台も同時に遊べるのかと思い質問しました。有難うございました。

    0 件の返信が折りたたまれています
  • tokumi_robo さんが 2020/05/10 に 編集 をしました。
  • tokumi_robo さんが 2022/01/18 に 編集 をしました。
ログインしてコメントを投稿する