Changes between Version 13 and Version 14 of esp32_tips


Ignore:
Timestamp:
May 17, 2017 11:34:55 PM (7 years ago)
Author:
kishida
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • esp32_tips

    v13 v14  
    9595== SPI通信 ==
    9696
    97 === 内部の仕様について ===
     97==== 内部の仕様について ====
    9898
    9999ESP-WROOM-32に搭載されているコントローラーにはSPIモジュールが3つ内蔵されています。それぞれ、
     
    113113ピンを指定するときは、`SPI.begin(SCK, MISO, MOSI, SS);`というふうに引数を指定します。
    114114
    115 === サンプルスケッチ ===
     115==== サンプルスケッチ ====
    116116
    117117以上の仕様と、GPIOマトリックス機能を合わせると、ものによってはブレッドボードに上手く挿すだけでジャンパワイヤなしに通信が可能です。
     
    120120== I^2^C通信 ==
    121121
    122 === 内部の仕様について ===
     122==== 内部の仕様について ====
    123123
    124124SPI通信と同じく、内蔵回路は2つ(I2C0とI2C1)あります。基本的なピンアサインは以下のとおりです。
     
    131131ピンを指定するときは`Wire.begin(SDA, SCK);`もしくは`Wire.begin(SDA, SCL, FREQ);`というふうに引数を指定します。`FREQ`は`uint32_t`型の動作周波数で、標準では100kHzです。
    132132
    133 === サンプルスケッチ ===
     133==== サンプルスケッチ ====
    134134
    135135SPI通信のときと同じように、ものによってはブレッドボードに上手く挿すだけでジャンパワイヤなしに通信が可能です。
     
    139139基本的に一般的なArduinoと同じです。3.3V動作であり5Vトレラントでない点、および他のマトリクス機能との衝突を起こす可能性がある点に注意すると良いです。
    140140
    141 === サンプルスケッチ ===
     141==== サンプルスケッチ ====
    142142
    143143== ADC(アナログ入力) ==
     
    166166※GPIO0、2に関しては書き込みモードの制御、GPIO15,12も他の機能で使われることがあります。
    167167
    168 === 内部の仕様について ===
     168==== 内部の仕様について ====
    169169
    170170ESP32には逐次比較型(SAR)ADCモジュールが2つ内蔵されています。分解能は9~12bitで、デフォルトは12bitです。([https://github.com/espressif/arduino-esp32/blob/3cbc405edf2448cf1d77b0a30a5e62ddab806a85/cores/esp32/esp32-hal-adc.h#L43 参照])
     
    182182setupのブロックで`analogSetAttenuation()`関数を呼ぶことで減衰率の設定ができます。例えば減衰無し(入力電圧範囲 0~1 V)であれば、`analogSetAttenuation(ADC_0db);`と設定します。詳しくは[https://github.com/espressif/arduino-esp32/blob/3cbc405edf2448cf1d77b0a30a5e62ddab806a85/cores/esp32/esp32-hal-adc.h#L86 このあたり]を参照ください。
    183183
    184 === サンプルスケッチ ===
     184==== サンプルスケッチ ====
    185185
    186186
     
    189189いわゆるArduinoUNOなどで実行する`analogWrite()`ではなく、ArduinoDUEのDACピンのようにアナログ電圧が直接ピンから出てくる機能です。
    190190
    191 === 内部の仕様について ===
     191==== 内部の仕様について ====
    192192
    193193ESP32は2chの8bit DACを内蔵しています。出力ピンはGPIO25,26ピンの位置に固定されています。
     
    195195`dacWrite(pin, value)`と引数を渡します。pinは25もしくは26のみで、valueは0から255までの値です。
    196196
    197 === サンプルスケッチ ===
     197==== サンプルスケッチ ====
    198198
    199199
     
    202202いわゆるArduinoUNOの`analogWrite()`と同様の振る舞いをします。
    203203
    204 === 内部の仕様について ===
    205 
    206 === サンプルスケッチ ===
     204==== 内部の仕様について ====
     205
     206==== サンプルスケッチ ====
    207207
    208208== ホールセンサ ==
     
    210210ESP32にはホールセンサ(磁気センサー)が内蔵されています。自由度は1です。
    211211
    212 === 内部の仕様について ===
     212==== 内部の仕様について ====
    213213
    214214ホール効果によって発生する電圧を先のADC回路にて読み取っています。生じる電圧は小さいので、内蔵のLow-Noise Amplifierを利用することが回路的には可能ですが、Arduinoライブラリではサポート外のようです。([https://github.com/espressif/arduino-esp32/blob/3cbc405edf2448cf1d77b0a30a5e62ddab806a85/cores/esp32/esp32-hal-adc.h#L86 参照])
    215215
    216 === サンプルスケッチ ===
     216==== サンプルスケッチ ====
    217217
    218218== 温度センサー ==
    219219
     220==== 内部の仕様について ====
     221
     222==== サンプルスケッチ ====
     223
    220224== タッチセンサ ==
    221225
     226==== 内部の仕様について ====
     227
     228==== サンプルスケッチ ====
     229
    222230== ULP コプロセッサとdeep sleep ==
     231
     232==== 内部の仕様について ====
     233
     234==== サンプルスケッチ ====