ESP-32開発ボードによるPWM・内蔵DAC・ADC の確認を行いました。
●Esp32-devkitc-32e 開発ボード
※アマゾンの写真には技適マークがありますが、送られた製品は技適マーク無し(証明書無)
ESP32ボードマネージャ変更
追加ボードマネージャーURLを変更【https://raw.githubusercontent.com/espressif/arduino-esp32/ghpages/package_esp32_dev_index.json】
【esp 32】
【バージョン3.2.0】インストール
◆ESP32 PWM 10KHz 出力
参考サイト
●Arduino環境でESP32のPWMを調べる(3)
●ESP32(3.0以降)LEDC関数でエラー発生/対応方法
ESP32ボードマネージャ バージョン3以降下記に変更
PWM関数
ledcSetup(チャンネル,周波数,8bit=0-255(PWM)
ledcAttachPin(ピン番号,チャンネル)
↓V3.. 以降
ledcAttach(ピン番号,周波数,8bit=0-255(PWM))
ledcWrite(チャンネル,デューティ)
↓V3.. 以降
ledcWrite(ピン番号,デューティ)
PWMプログラム Arduino IDE【ボード:ESP32 Dev Module】
void setup() {
//ledcSetup(0,10000,8); //チャンネル,周波数,8bit=0-255(PWM)
//ledcAttachPin(25, 0); //ピン番号,チャンネル
//ESP32ボードマネージャ バージョン3以降
ledcAttach(25,10000,8); //ピン番号,周波数,8bit=0-255(PWM)
}
void loop() {
//ledcWrite(0,128); //チャンネル,デューティ(50%)
//ESP32ボードマネージャ バージョン3以降
ledcWrite(25,128); //ピン番号,デューティ(50%)
}
PWM出力測定
![]() |
10KHz |
◆ESP32 内蔵DAC sin波出力
ESP32の内蔵DACは8bit出力 0~255
GPIO25(チャネル 1) ・GPIO26(チャネル 2)
DAC関数 dacWrite(GPIO25又はGPIO26 , 0~255)
参考サイト
●ESP32 DACのテスト
●esp32内蔵DACとトランジスタで波形音を遊ぶ
内蔵DACプログラム Arduino IDE【ボード:ESP32 Dev Module】
void setup() {
Serial.begin(115200);
}
void loop(){
for(int i=0; i<256; i++){
float Sin = sin(2.0 * PI * i /256) * 127 + 128;
dacWrite(25, Sin);
//Serial.println(Sin); //シリアルプロッタ
}
}
シリアルプロッタ(プログラムsin波)
内蔵DAC出力測定
◆ESP32 ADC sin波入力
ESP32の分解能は最大12ビット0~4095
ADC関数 analogRead(ピン番号)
参考サイト
●ESP32のADCについて
●ADCを使う
ADCプログラム Arduino IDE【ボード:ESP32 Dev Module】
void setup() {
Serial.begin(115200);
pinMode(32, INPUT);
}
void loop() {
int Sin = analogRead(32);
Serial.println(Sin); //シリアルプロッタ
}
RF信号発生器
シリアルプロッタ(ADC変換)
0 件のコメント:
コメントを投稿