RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
はるかむかしの おはなしです。
LEGOブロックで つくられた ロボット。
センサーポートが たりなくなってしまった ロボット。
ロボットにのこされた さいごのせんたく。
かさねづけ と しゅうつりょくポート での PICとの つうしん。
このつうしんが ちいさなきせきを おこしました。
このおはなしは そんなちいさな ちいさな きせきのものがたり。
そのロボットがうんだ ”きせき” が たいかいのおわりに みたものは。
まぁ奇跡って程のブツでもありませんが。
冒頭の通り、センサーポートがたりなくなって、自作基盤とPICを使って、
センサー基盤を作ったことがあるんですね。
以前紹介した、背景のロボットのものなんですけど。
今日はその基盤についての記事になります。
この基盤、写真があればいいのですが、なぜかデータがない・・・
というわけで今日は文字だけの説明になります。
今度、写真と回路図載せてみますね。時間があればですが(笑)
まずこの基盤制御しているセンサーは、
アナログセンサーが、測距センサ-が2つ、緑センサーがひとつ、よって計3つ
デジタルセンサーは水銀センサーが2つ、3ビット方位センサーがひとつ、よって計3つ
合計は6個です。
方位センサーは3本信号線が必要なので、入力信号は全部で8本。
最初はPICなんて使う予定は全くなかったのですが、どんどんセンサーの数が増えていって、
流石にここまで信号が多いとロジックなんて組む気にならなかったので間にPICを挟む事にしました。
これで簡単に全てのセンサーの値を読むことができました。
次にPICとの相互通信ですが、
RCX側には赤外線通信機能しかありません。それも超のんびりな。
・・・となると、今余ってるポート2の重ねづけでのデジタル入力と、BポートのPWM出力。
これだけで通信をこなわなければなりませんでした。
RCXのポートが入出力固定で、しかもどちらも1つずつしかないので、もう同期通信はできません。
クロック信号を送ることができませんからね。(イヤ、今考えればできたかも。。。)
という訳で非同期通信を行うことにしました。
まず最初に一瞬だけ考えたのがBポートのPWM信号による通信です。
RCXのPWM比は8段階に変えられたのでそれでちょうどいいかなーとか思ったんですが、
RCXのPWMってアテにならないんですよねー(笑)
中のドライバICが残念なんでしょう。
オシロで測ったらなんか凄いことになってた記憶があります。
という訳で断念。その後も色々考えましたが最終的には擬似UARTを作成して乗り切りました。
RCXの信号がくるのをPICで待ってーきたら今のセンサーの値返してーみたいなことをやっていました。
結局、来た信号とRCXに繋がっているセンサーの値、プログラムの進行状態から
なんのセンサーの値が帰ってきているのかを判断するようなプログラムにした気がします。
一体なんてめちゃくちゃなもの作ってるんだか・・・
今度は回路のほうについて紹介します。
が。今日はここまでにしておきます。
また土日かそこらに更新しようかな。
(^・ω・)ノRadiumProduction in RoboCupJunior
LEGOブロックで つくられた ロボット。
センサーポートが たりなくなってしまった ロボット。
ロボットにのこされた さいごのせんたく。
かさねづけ と しゅうつりょくポート での PICとの つうしん。
このつうしんが ちいさなきせきを おこしました。
このおはなしは そんなちいさな ちいさな きせきのものがたり。
そのロボットがうんだ ”きせき” が たいかいのおわりに みたものは。
まぁ奇跡って程のブツでもありませんが。
冒頭の通り、センサーポートがたりなくなって、自作基盤とPICを使って、
センサー基盤を作ったことがあるんですね。
以前紹介した、背景のロボットのものなんですけど。
今日はその基盤についての記事になります。
この基盤、写真があればいいのですが、なぜかデータがない・・・
というわけで今日は文字だけの説明になります。
今度、写真と回路図載せてみますね。時間があればですが(笑)
まずこの基盤制御しているセンサーは、
アナログセンサーが、測距センサ-が2つ、緑センサーがひとつ、よって計3つ
デジタルセンサーは水銀センサーが2つ、3ビット方位センサーがひとつ、よって計3つ
合計は6個です。
方位センサーは3本信号線が必要なので、入力信号は全部で8本。
最初はPICなんて使う予定は全くなかったのですが、どんどんセンサーの数が増えていって、
流石にここまで信号が多いとロジックなんて組む気にならなかったので間にPICを挟む事にしました。
これで簡単に全てのセンサーの値を読むことができました。
次にPICとの相互通信ですが、
RCX側には赤外線通信機能しかありません。それも超のんびりな。
・・・となると、今余ってるポート2の重ねづけでのデジタル入力と、BポートのPWM出力。
これだけで通信をこなわなければなりませんでした。
RCXのポートが入出力固定で、しかもどちらも1つずつしかないので、もう同期通信はできません。
クロック信号を送ることができませんからね。(イヤ、今考えればできたかも。。。)
という訳で非同期通信を行うことにしました。
まず最初に一瞬だけ考えたのがBポートのPWM信号による通信です。
RCXのPWM比は8段階に変えられたのでそれでちょうどいいかなーとか思ったんですが、
RCXのPWMってアテにならないんですよねー(笑)
中のドライバICが残念なんでしょう。
オシロで測ったらなんか凄いことになってた記憶があります。
という訳で断念。その後も色々考えましたが最終的には擬似UARTを作成して乗り切りました。
RCXの信号がくるのをPICで待ってーきたら今のセンサーの値返してーみたいなことをやっていました。
結局、来た信号とRCXに繋がっているセンサーの値、プログラムの進行状態から
なんのセンサーの値が帰ってきているのかを判断するようなプログラムにした気がします。
一体なんてめちゃくちゃなもの作ってるんだか・・・
今度は回路のほうについて紹介します。
が。今日はここまでにしておきます。
また土日かそこらに更新しようかな。
(^・ω・)ノRadiumProduction in RoboCupJunior
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
(07/27)
(05/29)
(03/15)
(01/01)
(05/07)
(01/11)
プロフィール
HN:
Luz
性別:
男性
アーカイブ