前回、ArduinoM0のアナログ入力の分解能を8ビット、10ビット、12ビットとanalogReadResolution(n)で変更し動作を確認しました。
 今回は、アナログ出力について確認してみます。
 2015年9月25日現在、スケッチのリファレンスにはArduinoM0のために追加された命令の説明は、探し方が悪いせいか見つかりませんでした。ArduinoM0のアナログ出力についての記述はhttp://www.arduino.org/のページから探すと,プロダクトのページからArduinoM0の製品ページ
http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0
に移り,入力と出力(Input and Output)の記述の中に次のような説明がありました。

PWM: Pins 2 to 13 Provide 8-bit PWM output with the analogWrite() function. The resolution of the PWM can be changed with the analogWriteResolution() function.
Note1 The pins 4 and 10 can not be used simultaneously as PWM.
Note2 The pins 5 and 12 can not be used simultaneously as PWM.

 Arduino UnoのPWM出力はディジタル・ポート3、5、6、9、10、11の6ポートでArduinoM0ではディジタル・ポート2から13までの12ポートがアナログ出力ポートとして利用できます。
 デフォルトの設定ではArduinoM0のアナログ出力(PWM出力)は8ビットの分解能となっています。

ArduinoM0のPWM出力の分解能
 次の、Getting Started with ArduinoM0のページに,ArduinoM0のアナログ出力について次のような記述があります。

  http://labs.arduino.org/Getting+Started+with+Arduino+M0


ADC and PWM resolutions
 The M0 has the ability to change its analog read and write resolutions (defaults to 10-bits and 8-bits, respectively). It can support up to 12-bit ADC and PWM resolutions. See the analog write resolution and analog read resolution pages for information.
 これらの、記述の確認のため、12ビット分解能でボリュームから読み取った0から4095の値をアナログ出力した結果がどのようになるか確認しました。


M0040010.jpg

 analogReadResolution(12);で12ビットの分解能で読み取った0~4095の整数値を2から13のディジタル・ポートに出力し、その出力のポートの状態をオシロスコープで見てみました。
 ボリュームから読み取った値は0~4095の間の値になります。


M0040020.jpg

 出力波形は、いずれのポートも0~255までは値の増加に応じてHIGHの期間が長いパルスになります。
 ポート4、5、10、12のポートは255を超えた値を入力するとパルスの幅は狭くなり511まではHIGH部分が増加し、それを超えるとまた狭くなることを繰り返し、Arduino Unoなどのアナログ出力の動作と同じになります。
 ポート2、3、6、7、8、9、11、13のポートでは256以上の値を出力すると出力はHIGHのままとなります。
      analogWriteResolution(10);
でアナログ出力分解能を10ビットに設定しても、8に設定しても、この命令を記述しないでデフォルトの場合でも同じ結果になりました。
See the analog write resolution and analog read pages for information.
とありましたので、ArduinoM0のアナログ出力の分解能に関する記述を探しましたが,まだ見つかっていません。
 Arduino.ccとArduino.orgと分裂し製品に関する記述も少しわかりにくくなってきました。もう少し広く調べる必要がありそうです。

<神崎康宏>


トラックバック(0)

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

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







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


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


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


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