När man planerar vilka pinnar man kan använda på ESP32.
https://drive.google.com/file/d/1gbKM7D ... E2TPZ/view
int potPin = 4; // analog in (Pin 2 4 12-15 25-27 32-26 39 är analoga)
int potValue = 0; // avläst värde från pot tex 0-4095
int ledPin = 12; // utgång för PWM alla pin har PWM förutom 34-36, 39
int ledPin1 = 2; //
int freq = 2000; // Godtycklig grundfrekvens
int freq1 = 500;
int ledChannel0; // från kärna 2?
int ledChannel1; //
int resolution0 = 12; // upplösning på PWM 2>>x (12 = 4096 steg)
int resolution1 = 12;
int dutyCycle; // upplösningsvärdet
int dutyCycle1;
// Det är en fördel att ha samma upplösning på analogin som analog ut...
void setup() {
ledcSetup(ledChannel0, freq1, resolution0); // setup för PWM led 0 = 500 hz 12 bitar
ledcAttachPin(ledPin, ledChannel0); // länkar detta till ledPin = pin 12
ledcSetup(ledChannel1, freq1, resolution1); // setup för PWM led 1 =500 hz 12 bitar
ledcAttachPin(ledPin1, ledChannel1); // länkar detta till ledPin1 = pin 2
Serial.begin(115200); // setup för serialen
}
void loop()
{
potValue = analogRead(potPin); // läser analogingång 12 bitar 4096
dutyCycle = potValue; // potvalue kopieras över till dutyCycle 4096
dutyCycle1 = map(potValue,0, 4095, 4095, 0); // potvalue mapas om till spegelvänt
// Serial.println(potValue); // Skriver ut potvärdet på serialen
Serial.println(dutyCycle);
Serial.println(dutyCycle1);
ledcWrite(ledChannel0, dutyCycle); // sänder ut frevens och pulsbrädd på pin 12
ledcWrite(ledChannel1, dutyCycle1); // sänder ut frekvens och pulsbrädd på pin 2
delay(50); // en lite fördröjning
}
Återgå till [Allmänt] El/elektronik
Användare som besöker denna kategori: Inga registrerade användare och 2 gäster