Arduinoを使おうの最近のブログ記事

SCP1000から気圧、気温を読み取るスケッチ(3)
コマンド説明の訂正

  第6回の指令データについて説明にミスがありました。リセットのRSTRレジスタ、ステータスのSTATUSレジスタのアドレスの値を誤っていました。RSTRは正しくは6で誤って5、STATUSは正しくは7で誤って6としていました。
 レジスタのアドレスを修正し、SCP1000への指令になるCodeもあわせて修正し赤字で示しています。ご迷惑おかけしました。

SPI090010.jpg

気圧センサSCP1000を接続してみる(8)
SCP1000から気圧、気温を読み取るスケッチ(2)


気圧データ
  気圧データは、DATARD16の2バイトのデータとDATARD8の1バイトのデータから構成されます。DATARD8のB0からB2ビットの3ビットがDATARD16の上位ビットとして、全体で19ビットのデータとなります。このデータは、次に示すように最小ビットは0.25Paとなります。

SPI080010.jpg


気圧センサSCP1000を接続してみる(4)
   秋月電子通商から発売されているSCP1000を用いた気圧センサ・モジュールをミニブレッドボードにセットして、Arduino Proの3.3Vの電源のものと接続しました。SCP1000は動作電圧が3.3Vとなっているため、通常の5V電源のArduinoでは信号線の接続のために電圧を変換するレベル・コンバータが必要になります。

 そのため、次に示すように3.3V電源のArduino Proを使用することで、レベル変換なしで使うことにします。このArduinoとSCP1000のセンサ・モジュールを、MISO(12)、MOSI(11)、SS(10)、SCK(13)の4本の信号線で接続します。

SPI040010.jpg

気圧センサSCP1000を接続してみる(3)

マイコンのレジスタの操作の確認
入出力の方向を決めるレジスタ


  Arduinoのディジタル・ポートの8から13までは、PB0からPB5に割り当てられています。このポートBの入出力の方向を決めるためのレジスタはDDRBです。この該当ビットを0にすると入力、1にすると出力とディジタル・ポートの入出力が決められます。Arduinoのスケッチでは、このディジタル・ポートの入出力の方向を決めるための命令、

気圧センサSCP1000を接続してみる(2)
  SPIの通信制御は、次に示すSPIコントロール・レジスタSPCR、SPIステータス・レジスタSPSR、データの受け渡しを行うSPIデータ・レジスタSPDRの三つのレジスタとスレーブのデバイスをアクティブにする/SSを利用して通信を行います。

SPI010040.jpg

気圧センサSCP1000を接続してみる(1)
 最近は、SPIのディジタル通信機能をもったセンサが多くなっています。Arduinoの標準のライブラリにはSPIの処理を行う機能は用意されていません。一方、Ardunoのマイコン・ボードに使用されているマイコンのATmega168/328チップ自体は、SPIの通信の機能を内蔵しています。その機能を利用してSPI通信処理を行ってみます。

SPI通信
 ArduinoでのSPI通信は、Arduinoのマイコン・チップに内蔵されているSPIの通信機能を用いて行います。そのため次の図に示すように、SPIの通信に必要な信号線が特定のピンに割り当てられています。

SPI010010.jpg

無線通信できる温度計測ステーション(1)
   XBeeシールドの上に小型の基板を追加し、LM35の温度センサへのケーブルの引き出し線を接続するコネクタをセットし、温度センサから温度を読み取り測定した結果をXBeeで発信します。

ard7200010.jpg

XBeeのモジュールの設定
   XBeeエクスプローラにXBeeをセットしてPCと接続します。

ard06900070.jpg

XCTUをインストール
 前回、ダウンロードしたXCTUのインストール・プログラムでX-CTUのインストールを行います。ダウンロードした40002637_c.exeを次のようにダブルクリックして起動しインストールを開始します。

ard06800001.jpg

Xbeeの電源電圧
   XBeeの電源電圧、各ディジタル入出力端子は次に示すように、電源電圧3.3Vを超えた電圧を加えることはできません。

ard06700010.jpg

カテゴリ

このアーカイブについて

このページには、過去に書かれたブログ記事のうちArduinoを使おうカテゴリに属しているものが含まれています。

次のカテゴリはGAINER Miniです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.