MIRS1404 管理台帳へ戻る
名称
MIRS1404 CPU-Arduinoシリアル通信送受信試験仕様書
番号
MIRS1404-TEST-0001
版数
最終更新日
作成
変更点
承認
改訂記事
A01
2014.12.23
石井建至
初版
A02
2015.01.30
石井建至
注意事項の追記
第2版
目次
1. はじめに
2. 環境設定
3. 使用するプログラム
4. 試験手順
5. 注意事項
はじめに
本ドキュメントはUbuntu10.10からArduinoに対してシリアル通信の送受信ができるかを確認するためのドキュメントである。
現在のMIRSのOSの環境はUbuntu10.10であるが、今回Arduinoを用いてシリアル通信を行うためUbuntu10.10にArduino IDEをインストールする必要があると考えていたが、 Arduino IDEをインストールしないでUbuntu10.10でシリアル通信の試験を行ったところ、成功したのでわざわざインストールしなくてもよいことが分かった。
実際に試験するときは必ず”5. 注意事項”をよく読むこと。
環境設定
下記の手順はCPUとArduinoとのシリアル通信の試験をするための環境設定である。
演習室のUbuntuの環境ではArduino IDEが元々インストールされているので、端末(Terminal)で$arduinoというコマンドを打てばArduino IDEが起動する。
なので、以下の手順は自宅等の自分のパソコンで試験をしたいという方に下記の手順での環境設定を推奨する。
インストール手順を以下に示す。
※ 必ず上から手順に沿って環境設定を行うこと。
Arduino IDEのインストール
$sudo apt-get install arduino
ユーザの登録
$sudo addgroup ユーザ名 dialout
登録されているかの確認のためもう一度行う。
$sudo addgroup ユーザ名 dialout
※ユーザ名は自分のパソコンのユーザ名を使うこと。
JDKのインストール
$sudo add-apt-repository ppa:webupd8team/java
$sudo apt-get update
$sudo apt-get install oracle-java7-installer
PCの再起動
使用しているUSBポートの確認
$dmesg
上記を実行し、ACMxがどこかに書いてあるのでそれを確認する。
読み書きの権限の取得(やらなくてもいいと思う)
$sudo chmod a+rw /dev/ttyACMx
または、
$./arduino
(xはdmesgで確認)
使用するプログラム
以下のURLから試験プログラムをダウンロードできる。
プログラムを使用する場合は”4. 試験手順”を参照すること。
MIRS上(Ubuntu10.10)で動作させるプログラム(C言語)
Arduino_serial.zip
Arduino IDEで動作させるプログラム(Arduino file)
Serial_single.zip
使用する関数の詳細は以下のURLに記述してある。
MIRS1404 CPU-Arduino間のシリアル通信 関数レファレンス一覧
試験手順
1. ArduinoをPCに接続をする。
2. $dmesg コマンドをTerminalで実行し、ArduinoのUSBポートを確認する。
3. ttyUSB0.c内の#define DEV_NAME "/dev/ttyACMx"の、xのところの数字を指定する。
4. Arduino IDEを立ち上げて[ツール]→[シリアルポート]を指定してプログラム(Serial_single.ino)をArduinoに送る。
$arduino
5. Arduino IDEの[ツール]→[シリアルモニタ]からシリアルモニタを表示させ、startと表示していることを確認する。
(tartとか、startと表示されない可能性があります)
6. Ubuntu側でのターミナルでプログラムがあるディレクトリに移動し、コンパイルして実行する。
$cd Arduino_serial
$make clean
$make
$./serial_main
7. 実行できたら、エンターキーを押すように表示されるので、エンターキーを押す。
8. Arduino IDEのシリアルモニタに'a'などの文字が送られていることを確認する。(エンターキーを押すごとに'a'が送信されます)
→確認ができたら、シリアル通信が成功。
※実行したときに、No such file or directryと表示される場合は、プログラムで参照するArduinoのUSBポートが正しくない可能性がある。
その場合はもう一度以下のコマンドでArduinoのUSBポートを確認した後、”4. 試験手順 - 3”から見直す。
$dmesg
注意事項
・学校のD科演習室または情報処理室で試験する場合は、上記からプログラムをダウンロードして、”4. 試験手順”に沿って試験をすること。
・MIRS(Ubuntu10.10)には絶対にインストールしないこと。
・必ずdmesgを実行し、Arduinoが使用しているUSBポートを確認すること。
・ArduinoのプログラムのSerial_single.inoは"1文字"でしか受信することができないので、必ず1文字をserial_main.cで決定すること。
・文字列をArduinoが受信した場合、シリアルモニタに表示はされない。
・このドキュメントでダウンロードできるプログラムはテストプログラムであることを理解しておくこと。競技会で使用したArduinoの統合プログラムは以下のドキュメントにmirs_main.zipで配布してあるのでそこからダウンロードしてください。
MIRS1404 射出機構 関数レファレンス一覧
MIRS1404 LED装飾 関数レファレンス一覧
MIRS1404 音声 関数レファレンス一覧
結構、力を入れて書きました。
MIRS1404ドキュメント管理台帳