- 締切済み
ライントレーサーのプログラム (C言語について)
高校二年でラインとレースカーを作っていまして、 「自分でプログラムするように」ってことになって プログラムやったことなくてわからないです 黒地に白線の上を走る物でセンサーは6つついています。 機械は回路図を見て作って動作確認までしてあるのですが・・ プログラムは見本なしで・・・なにをどうしていいのやら・・・。 「mikroCというソフトを使ってやる」っというのも条件みたいです。 mikroCは日本語版を使っています。 開いてみたけど・・よくわかりませんでした・・。 どんなプログラムにすればいいか教えてください できればそのままダウンロードもしくはコピー&ペーストで プログラムできて走行ができるものがいいです。 とても難しい質問ですみません。 どうか皆さんお力をお貸しください お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- sinisorsa
- ベストアンサー率44% (76/170)
まずはじめに、板の上をまっすぐ走るプログラムを作ってみてください。 この場合には、左右のモータを同じ回転数で回転させればよいわけです。 ただし、回転方向は、左右で逆にしないと、その場でくるくる回ってしまいます。 モータが直流モータだとすると、回転数はパルス幅変調だと思います。 回路はどうなっていますか。 パルスモータだと周期パルスを作ってモータ制御ICに送ればよい。 こういう話が通じますか? 通じなければ、このサイトを通じてのやり取りでは、問題解決は できそうにありませんので、もっと身近にいる友達とか先生とか に相談してください。また、もっと基本を勉強しなくては。
- sinisorsa
- ベストアンサー率44% (76/170)
これだけの情報では、どんなにできるひとでもプログラムを 作ることは、残念ながらできません。 とりあえず必要な情報として、 (1)ライントレーサの図面 車輪の位置とセンサーの位置関係が明確なもの センサーの種類と型番、センサーと床とのギャップ長 など (2)車体の重量 (3)搭載しているマイクロプロセッサー (4)各センサー入力とモータ制御出力のポート アドレス 信号の形式 アクティブHかLか (5)モータの種類と型番、電源 (6)走行ラインの形状、ラインの幅や回転半径、直角があるか 交差はあるかなど 以上は、ほんの一例で実際には、トレーサが手元にないと デバッグもできません したがって、どなたからもプログラムを作ってもらえませんね。 丸投げではダメでしょう。 わかるところまでは自分で挑戦してみてください。 一般的な技術については。教えてくれる方もいらっしゃると 思います。
お礼
わからないことが多くてすみません。 1 図面については写真で・・・ わかりにくい・・。 でも位置関係とかは・・わかりませんね 2 車体重量はバッテリー付で610gでした。 バッテリーなしだと320gでした バッテリー重っ 3 マイクロプロセッサー?何でしょう? 16F873/876のことですか? 4 このことも知りたいです。 5モーターはmaxon DC 118683 X 07 swiss madeと書いてあります バッテリーはタミヤNi-Cd 7.2V-1400mAh 6 走行ラインの形はグチャグチャです。なんというか・・ ライン幅は3.5cmでした 7 ライン用のセンサーはS7136というものを使っています。
お礼
アドバイスありがとうございました まず まっすぐ走るプログラムからはじめたいです。 左右のモータを同じ回転数で回転させるには同じ数値を入力すればいいですよね?回転方向は、左右で逆にします。 モータは直流モータです回転数はパルス幅変調だと思います。 周期パルスの作り方は http://www2.denshi.numazu-ct.ac.jp/mirs/m3db/kaihatu/document/team/mirs94/data/seika_05/other/pwm.htm ぐらいの知識で大丈夫ですか? まっすぐ走る は一定の電圧を送るようにすればいい ですか? モーターによっては磨耗具合とかで同じモーターでも回転数が異なってしまってまっすぐ走らない場合はまっすぐ走るプログラムを入れた後に遅いほうのモーターの電圧を下げれるプログラムにすれば大丈夫ですか? すこしずつですが進めていきたいです。 出来れば今後もお力をお貸しくださいお願いします。