Changes between Version 12 and Version 13 of esp32_tips
- Timestamp:
- May 17, 2017 11:26:36 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
esp32_tips
v12 v13 174 174 SAR ADC2 には、それ以外のピンと、deep sleep機能用の入力などが接続されています。 175 175 176 また、ADCの入力には減衰器を設定することができます。実のところ、ESP32のADCモジュールは0~1 Vの間でAD変換を行っています。このモジュールに例えば11db(約1/3.6倍)の減衰器を設定することで、0~3.6 Vの間のAD変換ができるようになります。 177 178 デフォルトでは11dBの減衰が設定され、12bitでの最大値は3.6 Vを示しています。 179 参考情報として、電源電圧3.31 VでA0ピン(GPIO36)に1.667 Vを入力した時のADCの値は、1950程度でした。値が4095の時3.50 Vになる計算です。 180 また、現在AD変換の結果は少し誤差があるとのことです([https://esp32.com/viewtopic.php?f=12&t=1045 公式スレッド参照])。 181 182 setupのブロックで`analogSetAttenuation()`関数を呼ぶことで減衰率の設定ができます。例えば減衰無し(入力電圧範囲 0~1 V)であれば、`analogSetAttenuation(ADC_0db);`と設定します。詳しくは[https://github.com/espressif/arduino-esp32/blob/3cbc405edf2448cf1d77b0a30a5e62ddab806a85/cores/esp32/esp32-hal-adc.h#L86 このあたり]を参照ください。 183 176 184 === サンプルスケッチ === 177 185 … … 179 187 == DAC(アナログ出力) == 180 188 189 いわゆるArduinoUNOなどで実行する`analogWrite()`ではなく、ArduinoDUEのDACピンのようにアナログ電圧が直接ピンから出てくる機能です。 190 191 === 内部の仕様について === 192 193 ESP32は2chの8bit DACを内蔵しています。出力ピンはGPIO25,26ピンの位置に固定されています。 194 195 `dacWrite(pin, value)`と引数を渡します。pinは25もしくは26のみで、valueは0から255までの値です。 196 197 === サンプルスケッチ === 198 199 181 200 == PWM == 182 201 202 いわゆるArduinoUNOの`analogWrite()`と同様の振る舞いをします。 203 204 === 内部の仕様について === 205 206 === サンプルスケッチ === 207 183 208 == ホールセンサ == 184 209 … … 196 221 197 222 == ULP コプロセッサとdeep sleep == 198