/*
ESP32 14 PWM Fade and 2 Servos
https://wokwi.com/projects/349978851105833554
by dlloydev, December 2022.
*/
#include <pwmWrite.h>
const byte pwmPin[16] = {15, 2, 4, 16, 5, 18, 19, 21, 22, 23, 32, 33, 27, 14, 12, 13};
const byte duty[16] = {1, 3, 7, 20, 40, 80, 100, 120, 135, 155, 175, 215, 235, 246, 253, 254};
Pwm pwm = Pwm();
void setup() {
}
void loop() {
static byte j;
(millis() & 0x1000) ? j++ : j--;
for (int i = 0; i < 16; i++) {
if (i > 1) pwm.write(pwmPin[i], duty[j & 15]);
if (i == 0) pwm.writeServo(15, duty[j & 15]);
if (i == 1) pwm.writeServo(2, duty[j & 15]);
j--;
}
delay(30);
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
led1:A
led1:C
led3:A
led3:C
led2:A
led2:C
led4:A
led4:C
led5:A
led5:C
led6:A
led6:C
led7:A
led7:C
led8:A
led8:C
led9:A
led9:C
led10:A
led10:C
led11:A
led11:C
led14:A
led14:C
led15:A
led15:C
led16:A
led16:C
led17:A
led17:C
led18:A
led18:C
led19:A
led19:C
led20:A
led20:C
led21:A
led21:C
led22:A
led22:C
led23:A
led23:C
led26:A
led26:C
led27:A
led27:C
led28:A
led28:C
led29:A
led29:C
led30:A
led30:C
led31:A
led31:C
led32:A
led32:C
servo1:GND
servo1:V+
servo1:PWM
servo2:GND
servo2:V+
servo2:PWM