第4章 GPS,センサ,Bluetooth…使ってみた レッスン 4 かったあのICやモジュールをつなぐ 3 大定番インターフェース I2C, SPI, UART の動かし方 砂川 寛行 さまざまな IC やモジュールの制御には,シリア ル・インターフェースが便利です.これを自在に使 えるようになれば,Linux コンピュータに GPS モジ ュール,温度センサ,加速度センサなどをつないで 動かし放題にできます. ラズベリー・パイには搭載されていない,A−D コ ン バ ー タ や D− A コ ン バ ー タ を 後 付 け し た り, GPIO の数を増やしたりできます. ここでは,UART,SPI,I2C を動かせるライブラ リ WiringPi を利用して,次の IC やモジュールを動か してみます. ① UART を使う:GPS,Arduino や USB シリアル 変換モジュールとの接続 ② I2C を使う:A−D コンバータ,D−A コンバータ, ディジタル・ポテンショメータ,I/O エキスパン ダ,ディジタル・シンセサイザ ③ SPI を使う:A−D コンバータ ④ 応用製作 UART を動かす ラズベリー・パイは,UART がすぐに使えます. マイコンの定番シリアル通信といえば UART です. 古くから RS−232−C で使われてきました.産業用機 VCC 5V GPS モジュール 2ピン ラズベリー・パイ TxD RxD GND GND 10ピン 9ピン 図 1 ラズベリー・パイに GPS モジュールを接続する 146 Hiroyuki Sunagawa 器では現役で,少し前までは一般的なパソコンにも標 準で搭載されていました. RS − 232 − C を TTL レ ベ ル 変 換 し て, マ イ コ ン の UART ポートに接続するのが定石でしたが,最近の パソコンは RS−232−C ポートを搭載していません. そこで,USB−シリアル(UART)変換モジュールを使 用して,パソコンとマイコンを接続して通信させるこ とが多かったのです. ● GPS モジュールのデータを受信してみる GPS モジュールの多くは,UART インターフェー スを備えており,マイコンの UART ポートに接続す れば,簡単にデータを受信できます.GPS モジュール は,NMEA フォーマットで緯度や経度,GMT 時間な どを出力します. ラズベリー・パイの UART ポートに GPS モジュー ルを接続して,GPS データを受信してみます(図 1). 4_1_list12.py の UART で受信した文字列を表示す るプログラムは,受信した GPS データ(NMEA データ) をひたすら表示します. GPS モジュールから空が見えないような環境では, 衛星を補足できないことがあるので,出力されるのは, 欠落のあるデータです. ● USB ポートを使用して通信する Arduino や USB − シ リ ア ル 変 換 モ ジ ュ ー ル な ど, USB ポートを使用して通信してみます. 本誌 2016 年 3 月号で紹介した,Arduino Pro Mini 互換機で作製した電流・電圧・温度ロガー(写真 1)を USB で接続して,ログ・データを受信してみます. ▶USB−シリアル変換を増設 前述の USB−シリアル (UART)変換モジュールは, ラズベリー・パイでも利用できます. ラズベリー・パイで自由に使えるUART ポートは,1 個しかありません.コンソール出力としてすでに使用さ れている場合は,UART ポートは使えなくなります. UART ポートが足りない場合,USB−シリアル変換モジ ※記事の Python プログラムは,http://toragi.cqpub.co.jp/tabid/795/Default. aspx からダウンロードしてください. 2016 年 6 月号
© Copyright 2024 ExpyDoc