Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Bagi mereka yang tidak terbiasa dengan elektronik, PWM berarti kontrol daya. Dan dalam perakitan ini, kami menunjukkan cara menggunakannya untuk mengontrol intensitas cahaya LED, mirip dengan peredup pada lampu, dengan opsi untuk menggelapkan dan mencerahkan.
Mekanisme ini juga memungkinkan Anda, misalnya, untuk menghubungkan driver ke motor. Ini hanya salah satu dari banyak kemungkinan.
- Catatan: PWM adalah singkatan dari Pulse-Width Modulation.
Langkah 1: Tujuan
Perakitan terdiri dari potensiometer, yang merupakan resistor variabel, dipantau oleh ESP. Dalam skema ini, saya menggunakan kode sumber yang sama yang akan saya gunakan dengan Arduino. Karena banyak kelebihannya, kami menggunakan Arduino IDE dengan ESP di proyek lain juga.
Dalam perakitan, ESP terhubung ke USB hanya untuk catu daya. Kami juga memiliki pin kursor, yang merupakan pin potensiometer tengah, terhubung di port AD, dan positif dan negatif.
Karena tegangan bervariasi, dimungkinkan untuk membaca nilai yang berbeda di AD. Oleh karena itu, dengan memutar potensiometer, dimungkinkan untuk menambah atau mengurangi kecerahan LED.
Langkah 2: Perakitan
Skema listriknya sangat sederhana: menggunakan ESP8266 dalam konfigurasi NodeMCU, kami akan menyalakan USB. Jadi di sini, potensiometer harus dihubungkan dari satu ujung ke ujung negatif, dan ujung lainnya dari positif. Medium, yaitu kursor, tetap berada di ADC 0, karena ESP ini hanya memiliki port yang membaca nilai analog.
Langkah 3: WiFi ESP8266 NodeMCU ESP-12E
Langkah 4: Kode Sumber
Mempersiapkan
Pada fungsi Setup, kita mendefinisikan behavior dari pin yang kita gunakan, dalam hal ini LED dan POTENTIOMETER.
void setup(){ Serial.begin(115200) // Instruo untuk colocar atau gpio que iremos utilizar como entrada, // podemos fazer a leitura nesse pino pinMode(A0, INPUT); // A0 uma konstanta que indica o pino que ligamos nosso potenciômetro // Instrução untuk colocar o gpio que iremos utilizar como saída, // podemos alterar seu valor livremente para HIGH ou LOW pinMode(LED_BUILT); // LED_BUILTIN dan selalu ada indikasi LED melakukan ESP8266 }
Lingkaran
Dalam fungsi ini, logikanya adalah membaca nilai POT dan menetapkan nilai ini (yang merupakan intensitas kecerahan) di LED.
void loop(){ // faz a leitura do pino A0 (no nosso caso, o potenciômetro, retorna um valor entre 0 e 1023) int potencia = analogRead(A0); Serial.println(potensi); // como o LED no ESP8266 trabalha de maneira contrária, ou seja, quanto maior o valor atribuído, menor a intensidade. Faremos o cálculo para aumentarmos o brilho konforme girarmos o potenciômetro em sentido horário. potensi = 1023 - potensi; // atribui o valor lido do potenciômetro para configurar a intensidade do brilho do LED analogWrite(LED_BUILTIN, potencia); }