パソコンと外部機器のやりとりについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
黒猫

パソコンと外部機器のやりとりについて

#1

投稿記事 by 黒猫 » 11年前

私は現在DXライブラリとC言語を用いてゲーム制作をしています。
動作環境はWindows8.1、開発環境はVS2013です。
疑問点があるためアドバイスをいただけたらと思います。

ゲーム自体はパソコン上で動作させるのですが、入力装置をキーボードやマウスではなく
外部のセンサを用いたいと思っております。
具体的に言いますとHTS-30という静電容量式タッチセンサを使用する予定です。
こちらのセンサをマイコンに接続し、マイコンとパソコンを通信して入力情報を処理しようと考えています。
またマイコンにはLEDをいくつか接続し、入力された情報に応じたLEDを光らせようと考えております。
こちらもパソコンとマイコンを通信し、LEDの出力情報をマイコンへ送信し処理する予定です。
通信規格はRS232になると思います。

具体的な流れは次のとおりです。
1.マイコン側は常にセンサの情報をパソコン側へ送信し続ける。
2.パソコン側はループごとに最新のセンサ情報を受信する。
3.受信したセンサ情報を元に演算し、LED出力情報をマイコン側へ送信する。
4.マイコン側はLED出力情報を受信したら割り込みで処理をする。
という流れです。

私はこのようなゲーム制作は今回が初めてなため、このようなやり方しか思いつきませんでした。
結果、実装してみたところ正常に動作はするのですが、このやり方はいかがなものでしょうか?
もっと効率的なやり方があれば教えていただきたいです。

なんとなくですが、わざわざマイコンを介している点にも疑問を感じます。
といっても、これ以外にやり方が思いつきませんでしたが・・・。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: パソコンと外部機器のやりとりについて

#2

投稿記事 by softya(ソフト屋) » 11年前

妥当だと思います。
外部機器の制御はWindowsではかえって手間なのでマイコンに任せたほうがシンプルになります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: パソコンと外部機器のやりとりについて

#3

投稿記事 by usao » 11年前

こんな形ってことですか
(これだけ見ると LEDの制御にPCを介する必要が…? とか思っちゃいますね)

コード:

┌───┐          ┌─────┐        ┌──────┐
│      │          │          ├────┤ センサ     │
│ PC   ├─────┤マイコン  │        └──────┘
│      │ RS-232C  │          │        ┌──────┐
└───┘          │          ├────┤ LED        │
                    └─────┘        └──────┘

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: パソコンと外部機器のやりとりについて

#4

投稿記事 by みけCAT » 11年前

「常にセンサの情報をパソコン側へ送信し続ける」と、バッファの関係で毎ループ最新のセンサ情報を取得できないかもしれないので、
「マイコンはパソコンからクエリを受信したらセンサ情報を送信する」というのはどうでしょうか?

HTS-30Yは電圧で値を表したり、出力端子がたくさんあるようなセンサではなく、0/1の出力のようなので(違っていたらごめんなさい)、
センサやLEDの数にもよりますが、マイコンを使わなくてもシリアルポートorパラレルポート(プリンタポート)とインターフェース回路で制御できるかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: パソコンと外部機器のやりとりについて

#5

投稿記事 by softya(ソフト屋) » 11年前

> センサやLEDの数にもよりますが、マイコンを使わなくてもシリアルポートorパラレルポート(プリンタポート)とインターフェース回路で制御できるかもしれません。

今どきパラレルポートが付いているパソコンも珍しいですし、PCIのインターフェイスボードを導入するもの高価です。
マイコンを使うほうが安価だと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

黒猫

Re: パソコンと外部機器のやりとりについて

#6

投稿記事 by 黒猫 » 11年前

早速のレスありがとうございます。

>>softyaさん
妥当ですか。
ありがとうございます。

>>usaoさん
そうです。
大事なのはセンサの入力情報を元に、PCで演算した結果からLED出力情報をマイコンへ送信するという点です。
センサ情報からマイコンが演算してLEDの制御をするわけではありません。

>>みけCATさん
センサ情報も割り込みで送信するということですか。
確かにそのほうが最新の情報を取得出来ますね。
実装できるかわかりませんが、試してみたいと思います。
HTS-30は仰るとおりデジタル出力するセンサです。
センサ・LEDはそれぞれ10個程度を想定しています。
シリアルポートとインターフェース回路で制御、というのが全く分かりません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: パソコンと外部機器のやりとりについて

#7

投稿記事 by softya(ソフト屋) » 11年前

> シリアルポートとインターフェース回路で制御、というのが全く分かりません。

昔は、パラレルポートにTTL-ICの回路(インターフェイス回路)を直結して色んな物を操ったりしたのですがマイコンのUSB接続が安価にできる現在においては余り見かける方法ではありません。パラレルポート自体がレアですし。シリアルポートに回路接続するのは、もうそのままマイコンのほうが楽です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: パソコンと外部機器のやりとりについて

#8

投稿記事 by みけCAT » 11年前

黒猫 さんが書きました:HTS-30は仰るとおりデジタル出力するセンサです。
センサ・LEDはそれぞれ10個程度を想定しています。
シリアルポートとインターフェース回路で制御、というのが全く分かりません。
それだとパラレルポートでもピン数が足りないので、素直にマイコンで制御するべきだと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

黒猫

Re: パソコンと外部機器のやりとりについて

#9

投稿記事 by 黒猫 » 11年前

>>softyaさん
確かに今パラレルポートは見ないですね

>>みけCATさん
使用する素子の数によっても変わってくるのですね

今回はこのまま開発を進めたいと思います。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る