ステップカム説明書 最初に書いた日:2012.3.8 更新:2012.3.30 コンパイルの仕方について gccでコンパイルする時のコマンドは次の通りです。(cdコマンドでファイルの置いてあるディレクトリに移動してから) ~$ gcc stepcam.c -o stepcam `pkg-config --cflags --libs gtk+-2.0` libgtk2.0-devをインストールしていない場合は先にインストールしてください。 ~$ su;パスワードを入力し管理者権限になる # aptitude install libgtk2.0-dev # exit;通常ユーザーに戻る gccとlibc6-devをインストールしていない場合は先にインストールしてください。 ~$ su;パスワードを入力し管理者権限になる # aptitude install gcc libc6-dev # exit;通常ユーザーに戻る 使い方 コンパイルした実行ファイルをダブルクリックするか、 (事前にcdコマンドでファイルの置いてあるディレクトリに移動してから) 端末から ~$ ./stepcam と打ち込んで起動してください。 GUI画面で「右旋回」ボタンをクリックするとシリアルポート(ttyS1)から「r」を送出します。 「左旋回」ボタンをクリックすると「l」を送出します。 ttyS1ではなくttyS0を使いたい場合はソースを書き換えてからコンパイルしてください。 書き換える場所はリスト中にコメントを入れてあります。 ダイヤルアウトグループに入っているか確認 ~$ su ;管理者権限になる # adduser ○○○○(あなたのユーザ名) dialout ;※このコマンドは管理者権限で実行します デバイスファイル(ttySx)に読み書き権限があるか確認 # chmod a+rwx /dev/ttyS0 ;※このコマンドは管理者権限で実行します(ttyS0の「S」は大文字なので注意) ※シリアルポートが複数付いているパソコンの場合は使用したいttySxすべてに読み書き権限を与えます 例えば、シリアルポートが2つ付いている場合は、 # chmod a+rwx /dev/ttyS0 ;※このコマンドは管理者権限で実行します # chmod a+rwx /dev/ttyS1 ;※このコマンドは管理者権限で実行します # exit ;通常ユーザに戻る というように使う分だけ読み書き権限を与えます プログラムについて r.txtの中には「r」の一文字だけが入っています。 これをsystem関数の中でcatコマンドを使い、ttyS1から送出します。 制御回路側では受信したコマンドが「r」であることを判断してステッピングモータを右旋回させます。 これによりカメラの向きが約30度右へ向きます。 同じく、「左旋回」ボタンをクリックすると今度は「l.txt」の中身を送信します。 制御回路はこれを受け取り左旋回させます。 通信はあくまでもPCから制御回路への一方通行です。 PCからは相手がいるのか、繋がっているのかすら認知しません。 例えて言うなら一方的に独り言を言っているようなものです。 独り言が届けば制御回路はモーターを回します。 利用したヘッダファイルはの2つです。 はsystem関数を利用するためにインクルードしてあります。