Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

microbit v2 の内蔵マイク

micro:bit v2 には、周囲の環境の音量を検出できるオンボードの MEMS(Micro-Electro-Mechanical Systems)マイクが搭載されています。このマイクにより、拍手、声、音楽、その他の音に反応するような、音に基づくインタラクティブな動作が可能になります。

基板前面の、マイクのすぐ上には小さな LED インジケーターがあります。この LED は、マイクの電源が入っているときに点灯し、デバイスがアクティブに音を拾っていることを視覚的に示します。

ピンと ADC

microbit の内部では、マイクは nRF52833 チップの P0.05 ピンに接続されています。nRF52833 では、このピンは通常のデジタルピンとしても、アナログ入力(AIN3)としても動作できます。

マイクは音声信号をこのピンに送り、SAADC(Successive Approximation Analog-to-Digital Converter)と呼ばれるチップの一部が、その信号をプログラムで利用できる数値に変換します。ADCs(Analog to Digital Converters)については後の章でさらに詳しく見ていきますが、ここではひとまず、ADC によって音量レベルを数値として読み取れることを知っておいてください。

BSP を使った音量レベル

microbit-bsp クレートを使うと作業が簡単になります。これは、内蔵マイクを簡単に扱える Microphone 構造体を提供します。この構造体は sound_level() というメソッドを公開しており、マイクを有効にして検出された音量レベルを返します。

返される値の範囲は 0 から 255 で、数値が大きいほど音が大きいことを表します。ただし、これはデシベルのような標準的な単位ではありません。単に、周囲の環境がどの程度うるさいかの大まかな目安を示すものです。