書籍と教材のセット商品です。テキストの内容に従ってロボットを制御するプログラムを作成することで効果的に学習することができます。
【セット内容】
「習うより慣れろ」で課題をこなしてCのプログラムを身につけよう
本書は、2011年に発行した『ARMマイコンによる組込みプログラミング入門-ロボットで学ぶC言語』の改訂版です。
プログラミング初心者が、実際にテキストに従って環境構築やサンプルプログラムを作成していくことで、C言語を学べる内容になっています。
基本編は教材用のライントレースロボットを題材として使用し、ロボットを制御するプログラムを作成しながらC言語を学んでいきます。
応用編ではロボットの無線化、タブレットとの連携等を取り上げていきます。
【このような方におすすめ】
- プログラミング初学者(特にロボットなどハードウェアに関係するプログラムに関心のある方)
- 組込み分野の初級技術者
【利用方法、活用事例動画紹介】
製品仕様
サイズ | 112(W)×130(D)×57(H)[mm] |
重量 | 約200g(バッテリー搭載時) |
駆動モーター | DCモーター×2(本体駆動用×2) |
CPUボード | VS-WRC103LV |
センサー入力 | 赤外線距離センサー×2(アナログ入力センサー×最大4まで増設可能) |
他出力 | LED×2、圧電ブザー×1 |
電源 | 単三アルカリ乾電池×2本(別売) |
対応OS | Windows7/8/8.1/10(日本語版) |
インタフェース | USB(HID準拠) |
付属品 | CD-ROM(説明書・ソフトウェア)、USBケーブル |
CPUボード仕様
型番 | VS-WRC103LV |
CPU | NXPセミコンダクターズ製ARM CortexM3[LPC1343(32ビットマイコン)] |
動作周波数 | 72MHz |
ROM | 32kバイト |
RAM | 8kバイト |
ソフトウェア | ビュートビルダー2(無償) |
C言語プログラミング | 開発環境「LPCXpresso」(無償) |
インターフェース | USB(HID)、仮想COMポートによるシリアル通信も可能 |
プログラムの書き込み | 専用ソフトウェア不要(USBメモリのような方式で書き込み可能) |
※本製品をご利用になる場合は、Windows7/8/8.1/10をインストールしたPC、及び一般的なPCの操作知識が必要となります。
※製品仕様その他は、予告なく変更する場合がございます。
よくあるご質問(FAQ)
- ビュートローバーを接続しても認識しなかったり、通信エラーが発生したりします
-
- 基板上またはPCのUSBコネクターの損耗の可能性があります。PCの他のUSBポートなどをお試しください。
- USBケーブルの経年劣化により、半断線やコネクターの損耗が発生している場合、接続が不安定になります。異なるケーブルをお試しください。
- 外付けのUSBハブをご使用の場合、電力不足により正常に接続できないことがあります。PC本体のUSBポートをお使いください。
- ビュートローバーに接続されている周辺機器の影響により接続が不安定になることがあります。拡張基板などを一度外していただき、接続をお確かめください。
- ライントレースを行なうことが出来ません
-
- 赤外線センサーが、白地と黒いラインを計測できているか値を確認してください。この時、パソコンとロボットをUSBで接続したまま行ってください。閾値の設定は、BeautoBuilder2のセンサーエリア(画面の左下)を見ながら行ってください。
※プリンターの種類によっては、印刷したラインがうまく検出できない場合があります。プリンターを変えるか、黒のマジックペンやビニールテープを使用してください。センサー値を読み取り、白地と黒いライン上で数値が変われば、うまく読み取りができています。
- 太陽光や白熱灯など赤外線を含む光が当たっている場合、赤外線センサーがうまく白・黒を識別することが出来ません。室内で蛍光灯のもとライントレースを行うようにしてください。
- 「時間を決める」の設定で動かしてると、ラインを通り過ぎてしまう可能性があります。「続ける」の設定で動かしてみてください。ロボットを走らせるためのブロックを「まえにすすむ」などの動かすブロックをクリックすると、画面の左に「続ける」の部分のラジオボタンが表示されます。
詳しくは、こちらのファイルをダウンロードしてください。
- スピードを速くしたいです
- 「設定」→「モーターの設定」→「スピードちょうせい」より「はやさ」の数値をあげてください。ただし、スピードを上げすぎると、カーブや直角で曲がり切れなくなりますので、スピードを上げるときは、必ず少しずつ数値を上げて、その度にコースを走行させ確認してください。また、電池の残量によってもスピードが変わります。
詳しくは、こちらのファイルをダウンロードしてください。
- ロボットがうまく動作しません
-
- バッテリーの残量が減ってしまうとモーターの動きやセンサーの値が変わってしまうことがあります。
- ギヤボックス内の六角ナットのイモネジが緩んでいると正しく動作しません。ギヤに少しグリスを付けるとスムーズに走行することができます。
- 赤外線センサーの素子がずれていたり、左右でずれていると正しくセンサーの値を読み込むことができません。確認してください。
詳しくは、こちらのファイルをダウンロードしてください。
- C言語でプログラミングしたら通信が出来なくなりました
- ファームウェアをビュートビルダー2用のものに書き換えてください。H8版とARM版で書き換え方法が異なりますので、取扱説明書を確認してください。ファームウェアは、ビュートビルダー2のファームウェアフォルダー内にあります。
- プログラムを書き込むときに、「シーケンスのサイズが大きすぎます。書き込みを中断します。」と表示されます
-
- 作成したプログラムをロボットに書き込む際に、変換されたシーケンスデータのサイズが大きすぎて書き込めません。プログラムの命令を減らしてサイズを小さくしてください。
- 古いBeautoBuilder2及びファームウェアをご利用の場合は、それぞれ最新の物に差し替えていただくと、プログラムの書き込み領域サイズが増えて大きなプログラムも書き込めるようになります。最新のBeautoBuilder2とファームウェアは、ダウンロードページにて公開しています。
- エンコーダ拡張セットを付けるとどのような効果がありますか?
- エンコーダ拡張セットは、モーターの回転速度、回転した回数を取得できます。
ビュートビルダーから設定を有効にすることで、自動的にモーターの回転速度を一定に保たせることが出来きるので、ロボットの重さや電池の電力などに関わらずモーターの動きを安定させることが出来ます。
例えば坂道を上る場合、エンコーダを付けない状態だとスピードが落ちますが、エンコーダを付けることでスピードが落ちないようにロボットが自動的にモーターの回転速度を調整します。
また、タイヤがどれだけ回ったかを取得することできるので、すすんだ距離の測定や、決まった角度をまわることが可能になります。
- エンコーダーのフィードバックを有効にしたら挙動がおかしくなりました
- 拡張セットを付けていない状態で設定を有効にすると、ロボットが意図しない挙動を取る可能性があります。別売の「エンコーダ拡張セット」を付けることで、エンコーダーを利用することができます。
詳しくは、こちらのファイルをダウンロードしてください。
- IXBUSやエンコーダを有効にするにはどうしたらよいですか?
- ビュートビルダー2でエンコーダ・IXBUSを有効にする場合は、次の手順で行います。
まず、メニューより「設定」→「上級者向け機能の設定」をクリックし、開いたダイアログより「速度や旋回量を変更できる車輪制御ブロックを使う」の項目をチェックしてください。
次に、メニューより「設定」→「モーターの設定」をクリックし、開いたダイアログより、左下にある各項目にチェックを入れます。
IXBUSの数値をメモリマップから読み込む場合は「IXBUSの数値をメモリマップに反映させる」、エンコーダをメモリマップから読み込む場合は「エンコーダのスピードをメモリマップに反映させる」、モーターにエンコーダをフィードバックさせる場合は「エンコーダのフィードバックを有効にする」を、ぞれぞれチェックします。
- シリアル通信で接続した後、USBからの接続ができなくなりました
- Release7以前のビュートビルダー2をお使いの場合、一度シリアル通信で接続した後、ビュートローバーH8(VS-WRC003LV)とHIDで接続できないバグがあります。
ダウンロードページより、最新のビュートビルダー2をインストールし直してください。
- 本製品の回路図は入手できますか?
- ビュートローバーH8(VS-WRC003LV)は「VS-WRC003LVダウンロードページ」で、ビュートローバーARM(VS-WRC103LV)は「VS-WRC103LVダウンロードページ」で、それぞれ公開しております。
- 標準のモーター以上の出力を持つ強力なモーターを接続することは可能ですか?
- 本体に標準で含まれるFA-130タイプのモーターよりも大きいモーターをCPUボードに接続すると、モータードライバのICが電流に耐え切れずに故障する場合があります。そのため、出力の大きいモーターを使う場合は、別売の「大出力モーターアンプボード VS-WRC006 Ver.3」を必ずご利用ください。
なお、BeautoChaser用のモーターアンプボード「VS-WRC005」は、ビュートローバーH8/ARM共に接続することは出来ませんのでご了承ください。
- モーター出力ポート、アナログ入力ポートに接続するためのコネクターは、どこで入手できますか?
- ケーブルを圧着済みのコネクタを、弊社より販売しております。
オプション・製品情報のページをご参照ください。
- Bluetooth(VS-C2)や無線リモコンで、通信のペアリングは確認できていますが、本体を操縦できません
-
- これらで操縦する場合、ロボット本体にビュートビルダー2からゲームパッドに対応したプログラムを書き込む必要があります。ゲームパッド操作用のサンプルプログラムとして、ビュートビルダー2には「ゲームパッドサンプル.bb2」というプログラムが収録されています。
- ビュートビルダー2からゲームパッド用の命令を書き込んでいても操縦できない場合、ロボット本体のプログラムをスタートしていない可能性があります。ビュートビルダー2のプログラムはロボット本体のCPUボードのボタンを押して開始する必要があります。
- Bluetoothから本体を制御する場合、ビュートビルダー2の設定>エンコーダ・IXBUS・Bluetoothの設定を開き、「Bluetooth(SPP)で通信する」にチェックを入れる必要があります。また、お使いのBluetoothデバイスの取扱説明書等を参照いただきポート番号を適切に設定してください。
- Bluetoothを有効にし、プログラムを書き込み、ロボット本体からスタートさせても操縦できない場合、本体の電池不足が考えられます。これらの拡張デバイスを追加することで消費電力が増え、ロボットの駆動時に電力が不足してリセットがかかるようになった可能性があります。新品のアルカリ乾電池、または満充電の単三型ニッケル水素充電池などでお試しください。
- 統合開発環境「LPCXpresso」をPCにインストールできません
- 「VS-WRC103LVダウンロードページ」の「VS-WRC103LV 取扱説明書」に詳しい方法を説明しているので、一度こちらをご参照ください。
- サンプルソースをLPCXpressoにインポートできません
- 「VS-WRC103LV 取扱説明書」の説明の「インポートするプロジェクトにチェックを入れてFinishをクリックする」手順で、チェックがグレーで表示されてインポートできない場合は、以下の方法をお試しください(LPCXpressoのバージョンによって手順が変更されています)。
- ワークスペースフォルダー(C:nxpworkspaceなど)にコピーしたフォルダーを削除し、代わりにダウンロードしたzipファイルをコピーします。
- LPCXpressoを起動し、画面左下の「Quickstart Panel」の「Import and Export」より「Import archived projects (zip)」を開きます。
- 開いたウィンドウより「Browse…」をクリックし、先ほどコピーしたzipファイルを開きます。開くと、「Projects」内にサンプルプロジェクトがチェックできる状態で表示されるので、チェックして「Finish」をクリックします。
- サンプルソースをLPCXpressoでビルドできません
- 「VS-WRC103LVダウンロードページ」の「VS-WRC103LV 取扱説明書」に詳しい方法を説明しているので、一度こちらをご参照ください。
- LPCXpressoで作成したプログラムをロボットに書き込む場合はどうすれば良いですか?
- CPUボードのボタンを押しながらロボットをPCに接続すると、PCからロボットが「CRP DISABLE」というドライブで認識されるため、それを開いてドライブの中身を全て削除し、そこにファームウェアのファイルをコピーしてください。詳しくは「VS-WRC103LVダウンロードページ」の「VS-WRC103LV 取扱説明書」をご参照ください。
- ビュートローバーARMに自作の.binファイルを書き込んでも、再度接続すると元のfirmware.binに戻っています
- 書込んだ.binファイルは、ファイル名や容量に関係なく、リセット時に32kBのfirmware.binに変換される仕様となっております。見た目は変わっていますが、中身は自作されたプログラムですのでそのままお使い頂けます。