Arduino M0は,アナログ入力の分解能を12ビットにすることもできます。今回は電源とグラウンドの電圧を分圧してアナログ入力ポートA5で読み取ってみます。読み取った結果はシリアル・ポートからArduinoIDEのシリアル・モニタで読み取ることにします。

Arduino IDEは1.7.6をインストール

 2015年9月現在、Arduino M0のプログラム作成のためには、ArduinoIDEは従来のArduinoの公式ホームページと別に新たに設定された,
            http://www.arduino.org/ 
のダウンロードページからダウンロードしたArduinoIDE1.7.6を使用しました。

 従来の公式ホームページでは最新がArduino1.6.5です。従来のボードはどちらでもプログラムの作成、マイコン・ボードへの書き込みができます。しかしArduinoM0はArduinoIDE1.6.5ではプログラムの開発はできません。Arduino1.6.5はインストーラで導入し、Arduino1.7.6はzipファイルのシステムをダウンロードして,Arduino1.7.6の名のフォルダ内のarduino.exeを起動して使っています。

サンプル・プログラム
シリアル通信の記述を変更する

  シリアル・モニタと通信するシリアル通信は、ArduinoM0ではSerialUSBを利用する必要があります。そのSerial.begin(9600);はSerialUSB.begin(9600)と記述しました。その他のシリアル通信の記述もSerialに変えてSerialUSBを用いています。


M0030010.jpg

アナログ入力の分解能
 ArduinoM0のアナログ入力は最大12ビットの分解能でアナログ入力ができます。分解能の設定はanalogReadResolution(n)の命令で行います。nは分解能の設定値で,次のように設定します。
  8 は分解能8ビットで0~255の入力値となる
   10 は分解能10ビットで0~1023の入力値となる
  12  は分解能12ビットで0~4095の入力値となる

設定値の変更方法
  analogReadResolution(n)の命令のnの値を8、10、12に順番に変えてanalogRead(A5)
の命令を実行し、結果をSerial.println()関数でシリアル・モニタで読み取って確認します。nの値の変更は次のfor文で行っています。
          for(int n = 8; n < 13; n = n + 2)
 初期値8から2ずつインクリメントして12まで繰り返します。

実行結果
  ボリュームをプラス側にいっぱい振り切った時の様子です。255、1023、4095とアナログ入力の最大値となっています。


M0030020.jpg

 ボリュームをおおよそ中間位置に設定した時の結果です。それぞれ誤差の範囲で4倍の値になっています。

M0030030.jpg

 これで、アナログ入力が分解能12ビットになっているのが確認できました。

 次回は,その他の機能についても確認していきます。

<神崎康宏>



トラックバック(0)

このブログ記事を参照しているブログ一覧: Arduino M0を使ってみる(3)

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/11415







newハイパー・マイコンmbedでインターネット電子工作


マイコンと電子工作 No.6


マイコンと電子工作 No.4


マイコンと電子工作No.1
サポート・ページはこちら