Changes between Version 13 and Version 14 of esp32_tips
- Timestamp:
- May 17, 2017 11:34:55 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
esp32_tips
v13 v14 95 95 == SPI通信 == 96 96 97 === 内部の仕様について===97 ==== 内部の仕様について ==== 98 98 99 99 ESP-WROOM-32に搭載されているコントローラーにはSPIモジュールが3つ内蔵されています。それぞれ、 … … 113 113 ピンを指定するときは、`SPI.begin(SCK, MISO, MOSI, SS);`というふうに引数を指定します。 114 114 115 === サンプルスケッチ===115 ==== サンプルスケッチ ==== 116 116 117 117 以上の仕様と、GPIOマトリックス機能を合わせると、ものによってはブレッドボードに上手く挿すだけでジャンパワイヤなしに通信が可能です。 … … 120 120 == I^2^C通信 == 121 121 122 === 内部の仕様について===122 ==== 内部の仕様について ==== 123 123 124 124 SPI通信と同じく、内蔵回路は2つ(I2C0とI2C1)あります。基本的なピンアサインは以下のとおりです。 … … 131 131 ピンを指定するときは`Wire.begin(SDA, SCK);`もしくは`Wire.begin(SDA, SCL, FREQ);`というふうに引数を指定します。`FREQ`は`uint32_t`型の動作周波数で、標準では100kHzです。 132 132 133 === サンプルスケッチ===133 ==== サンプルスケッチ ==== 134 134 135 135 SPI通信のときと同じように、ものによってはブレッドボードに上手く挿すだけでジャンパワイヤなしに通信が可能です。 … … 139 139 基本的に一般的なArduinoと同じです。3.3V動作であり5Vトレラントでない点、および他のマトリクス機能との衝突を起こす可能性がある点に注意すると良いです。 140 140 141 === サンプルスケッチ===141 ==== サンプルスケッチ ==== 142 142 143 143 == ADC(アナログ入力) == … … 166 166 ※GPIO0、2に関しては書き込みモードの制御、GPIO15,12も他の機能で使われることがあります。 167 167 168 === 内部の仕様について===168 ==== 内部の仕様について ==== 169 169 170 170 ESP32には逐次比較型(SAR)ADCモジュールが2つ内蔵されています。分解能は9~12bitで、デフォルトは12bitです。([https://github.com/espressif/arduino-esp32/blob/3cbc405edf2448cf1d77b0a30a5e62ddab806a85/cores/esp32/esp32-hal-adc.h#L43 参照]) … … 182 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 183 184 === サンプルスケッチ===184 ==== サンプルスケッチ ==== 185 185 186 186 … … 189 189 いわゆるArduinoUNOなどで実行する`analogWrite()`ではなく、ArduinoDUEのDACピンのようにアナログ電圧が直接ピンから出てくる機能です。 190 190 191 === 内部の仕様について===191 ==== 内部の仕様について ==== 192 192 193 193 ESP32は2chの8bit DACを内蔵しています。出力ピンはGPIO25,26ピンの位置に固定されています。 … … 195 195 `dacWrite(pin, value)`と引数を渡します。pinは25もしくは26のみで、valueは0から255までの値です。 196 196 197 === サンプルスケッチ===197 ==== サンプルスケッチ ==== 198 198 199 199 … … 202 202 いわゆるArduinoUNOの`analogWrite()`と同様の振る舞いをします。 203 203 204 === 内部の仕様について===205 206 === サンプルスケッチ===204 ==== 内部の仕様について ==== 205 206 ==== サンプルスケッチ ==== 207 207 208 208 == ホールセンサ == … … 210 210 ESP32にはホールセンサ(磁気センサー)が内蔵されています。自由度は1です。 211 211 212 === 内部の仕様について===212 ==== 内部の仕様について ==== 213 213 214 214 ホール効果によって発生する電圧を先のADC回路にて読み取っています。生じる電圧は小さいので、内蔵のLow-Noise Amplifierを利用することが回路的には可能ですが、Arduinoライブラリではサポート外のようです。([https://github.com/espressif/arduino-esp32/blob/3cbc405edf2448cf1d77b0a30a5e62ddab806a85/cores/esp32/esp32-hal-adc.h#L86 参照]) 215 215 216 === サンプルスケッチ===216 ==== サンプルスケッチ ==== 217 217 218 218 == 温度センサー == 219 219 220 ==== 内部の仕様について ==== 221 222 ==== サンプルスケッチ ==== 223 220 224 == タッチセンサ == 221 225 226 ==== 内部の仕様について ==== 227 228 ==== サンプルスケッチ ==== 229 222 230 == ULP コプロセッサとdeep sleep == 231 232 ==== 内部の仕様について ==== 233 234 ==== サンプルスケッチ ====