〔ESP-WROOM-02〕
〔マイコンのトップに戻る〕
[準備編]
[module編]
[通信編]
[I2S編]
[WiFi編]
[BLE編1]
[BLE編2]
[BLE編3]
[色々編]
| 端子名称 | Myボード |
機能
|
| GND |
GND | |
| 3V3 |
3.3Vまでの+電源(VDD)出力 | |
| EN |
EN |
VDDに接続する事によりチップが動作します。(10KΩPull-UP) リセットボタンに接続されています。 |
| SENSOR_VP | VP |
GPIO36, ADC1_CH0, LAN in+ (入力専用), |
| SENSOR_VN | VN |
GPIO39, ADC1_CH3, LAN in- (入力専用) |
| IO34 |
34 |
GPIO34, ADC1_CH6 (入力専用) |
| IO35 |
35 |
GPIO35, ADC1_CH7 (入力専用) |
| IO32 |
32 |
GPIO32, ADC1_CH4, TOUCH9, XTAL_32K_P(32.768 kHz 水晶発振入力) |
| IO33 |
33 |
GPIO33, ADC1_CH5, TOUCH8, XTAL_32K_N(32.768 kHz 水晶発振出力) |
| IO25 |
25 |
GPIO25, DAC_1, I2C_SCL1 |
| IO26 |
26 |
GPIO26, DAC_2, I2C_SDA1 |
| IO27 |
27 |
GPIO27, TOUCH7 |
| IO14 |
14 |
GPIO14, TOUCH6, HSPI_SCK, SD_CLK |
| IO12 |
12 |
GPIO12, TOUCH5, HSPI_MISO, SD_DATA2 |
| IO13 |
13 |
GPIO13, TOUCH4, HSPI_MOSI, SD_DATA3 |
| IO15 |
15 |
GPIO15, TOUCH3, HSPI_SS, SD_CMD |
| IO2 |
2 |
GPIO2, TOUCH2, SD_DATA0 |
| IO0 |
0 |
GPIO0, TOUCH1(ボタンに接続プルアップは無し) |
| IO4 |
4 |
GPIO4, TOUCH0, SD_DATA1 |
| IO16 | 16 |
GPIO16, HS1_DATA4, UART_RX1 |
| IO17 | 17 |
GPIO17, HS1_DATA5, UART_TX1 |
| IO5 |
5 |
GPIO5, VSPI_SS |
| IO18 |
18 |
GPIO18, VSPI_SCK, I2C_SCL0 |
| IO19 |
19 |
GPIO19, VSPI_MISO, I2C_SDA0 |
| IO21 |
21 |
GPIO21 |
| RXD0 |
RX |
GPIO3, Serial_RX0(シリアルでPCに繋がりREPL等が操作できるピン) |
| TXD0 |
TX |
GPIO1, serial_TX0(シリアルでPCに繋がりREPL等が操作できるピン) |
| IO22 |
22 |
GPIO22 |
| IO23 |
23 |
GPIO23, VSPI_MOSI |
| ピン |
デフォルト |
SPIブートモード |
ダウンロードブートモード |
| GPIO0 |
プルアップ |
1 |
0 |
| GPIO2 |
プルダウン |
ドントケア |
0 |
| ピン |
デフォルト | 3.3V |
1.8V |
| GPIO12 |
プルダウン | 0 |
1 |
| ピン |
デフォルト | 有効 |
無効 |
| GPIO15 |
プルアップ | 1 |
0 |
| ピン |
デフォルト | FEサンプリング FE出力 |
FEサンプリング RE出力 |
REサンプリング FE出力 |
REサンプリング RE出力 |
| GPIO15 |
プルアップ | 0 |
0 |
1 |
1 |
| GPIO5 |
プルアップ | 0 |
1 |
0 |
1 |

--------------------------------------------------------------------------------
import time
from machine import Pin
led = Pin(4, Pin.OUT) # ピン4番(GPIO4)をLED出力で割り付ける
sw1 = Pin(5, Pin.IN, Pin.PULL_UP) # ピン5番(GPIO5)をスイッチ入力で割り付ける
while True:
if sw1.value() == 0: # スイッチが押された
led.on() # LED点灯
else :
led.off() # LED消灯
time.sleep_ms(100) # 100msで繰り返す
--------------------------------------------------------------------------------
【machine.Pin】

詳しい説明は、ここを参照しましょう。

"ticks"とは、稼働時間の事で、"ticks_ms"なら起動してからの時間をms時間で得る事が出来ます。
詳しい説明は、ここ又は、ここ或いはオリジナルのここを参照しましょう。
--------------------------------------------------------------------------------
import time
from machine import Pin
# 割り込みが発生したら呼ばれるコールバック関数
def LED_ON(p) :
print("OK!")
led.on()
time.sleep_ms(100) # 100ms間点灯
led.off()
led = Pin(4, Pin.OUT) # ピン4番(GPIO4)をLED出力で割り付ける
sw1 = Pin(5, Pin.IN, Pin.PULL_UP) # ピン5番(GPIO5)をスイッチ入力で割り付ける
# スイッチの立ち上がりエッジで割り込みをかける
sw1.irq(trigger=Pin.IRQ_RISING, handler=LED_ON)
while True:
time.sleep(1) # 1秒間隔で繰り返す
--------------------------------------------------------------------------------
割り込みサンプルとしては、この例はあまり良いとは言えません、
--------------------------------------------------------------------------------
import time
from machine import Pin, ADC
adc = ADC(Pin(32)) # ADC(GPIO32)のオブジェクト作成
while True:
print(adc.read())
time.sleep(1) # 1秒で繰り返す
--------------------------------------------------------------------------------
※ "PyCharm"で記述すると、"ADC"が無いと怒られますがESP32-WROOM-32Eに入れた
--------------------------------------------------------------------------------
import time
from machine import Pin, PWM
led = Pin(4, Pin.OUT) # ピン4番(GPIO4)をLED出力で割り付ける
pwm = PWM(led) # PWMのオブジェクト作成
pwm.freq(1000) # 1KHzで周波数を設定
while True:
for i in range(1024):
pwm.duty(i) # デューティ比を設定(0-1023で可変)
time.sleep_ms(10) # 10msで繰り返す
--------------------------------------------------------------------------------
※ "PyCharm"で記述すると、"PWM"が無いと怒られますがESP32-WROOM-32Eに入れた

詳しい説明は、ここを参照しましょう。

テスターで測定したら"3.141V"でVDDは"3.292V"でした。
--------------------------------------------------------------------------------
import time
from machine import TouchPad, Pin
t4 = TouchPad(Pin(13)) # 13番ピンをタッチピンで設定
while True:
print('Touch4 :' + str(t4.read()))
time.sleep_ms(500)
--------------------------------------------------------------------------------
以前にPIC12F1822で実験した時作成の"銅板電極"を
--------------------------------------------------------------------------------
import time
from machine import TouchPad, Pin
t4 = TouchPad(Pin(13)) # ピン13番をタッチピンで設定
led = Pin(4, Pin.OUT) # ピン4番(GPIO4)をLED出力で設定
while True:
# 数値が200以下ならタッチしたと判断する
if t4.read() <= 200:
led.on()
else:
led.off()
time.sleep_ms(100)
--------------------------------------------------------------------------------

詳しい説明は、ここを参照しましょう。
例)
sw_pin = [26] # GPIO26にスイッチを配線する
sw = ScanSW(Pin, sw_pin) # スキャンするスイッチのピン情報を登録する
# ピン26は、Pin.IN, Pin.PULL_UPで初期化されます。
led = Pin(4, Pin.OUT) # ピン4番(GPIO4)をLED出力で割り付ける
time.sleep(0.1) # 登録後、直ぐにピンをreadする場合は100ms位開けてから利用します。
while True:
if sw.read(26) == 0:
led.on()
else:
led.off()
【きむ茶工房ガレージハウス】
Copyright (C) 2006-2021 Shigehiro Kimura All Rights Reserved.