Mari kita fahami apa yang ada di sebalik akronim PWM, bagaimana ia berfungsi, untuk apa dan bagaimana kita dapat menggunakannya dalam bekerja dengan Arduino.
Perlu
- - Arduino;
- - Diod pemancar cahaya;
- - perintang dengan rintangan 200 Ohm;
- - komputer.
Arahan
Langkah 1
Pin digital Arduino hanya dapat memberikan dua nilai: logik 0 (RENDAH) dan logik 1 (TINGGI). Itulah sebabnya mereka digital. Tetapi Arduino mempunyai kesimpulan "khas", yang ditetapkan sebagai PWM. Kadang-kadang mereka dilambangkan dengan garis bergelombang "~" atau dilingkari atau entah bagaimana dibezakan dari yang lain. PWM adalah singkatan dari "Pulse-width modulation" atau Pulse Width Modulation, PWM.
Isyarat termodulasi lebar nadi adalah isyarat denyut frekuensi tetap, tetapi kitaran tugas berubah (nisbah tempoh nadi dengan tempoh pengulangannya). Kerana kenyataan bahawa kebanyakan proses fizikal di alam mempunyai beberapa inersia, penurunan voltan tajam dari 1 hingga 0 akan dilancarkan, mengambil beberapa nilai rata-rata. Dengan menetapkan kitaran tugas, anda boleh mengubah voltan purata pada output PWM.
Sekiranya kitaran tugas 100%, maka sepanjang output digital Arduino akan ada voltan logik "1" atau 5 volt. Sekiranya anda menetapkan kitaran tugas hingga 50%, maka separuh masa pada output akan menjadi logik "1", dan separuh - logik "0", dan voltan purata akan menjadi 2.5 volt. Dan sebagainya.
Dalam program ini, kitaran tugas ditetapkan bukan sebagai peratusan, tetapi sebagai angka dari 0 hingga 255. Contohnya, perintah "analogWrite (10, 64)" akan memberitahu mikrokontroler untuk menghantar isyarat dengan kitaran tugas 25 % ke output PWM digital # 10.
Arduino pin dengan fungsi modulasi lebar nadi beroperasi pada frekuensi sekitar 500 Hz. Ini bermaksud bahawa tempoh pengulangan nadi adalah kira-kira 2 milisaat, yang diukur dengan pukulan menegak hijau pada gambar.
Ternyata kita dapat mensimulasikan isyarat analog pada output digital! Menarik, bukan ?!
Bagaimana kita boleh menggunakan ini? Terdapat banyak aplikasi! Sebagai contoh, ini adalah kawalan kecerahan LED, kawalan kelajuan motor, kawalan arus transistor, pengekstrakan bunyi dari pemancar piezo …
Langkah 2
Mari kita lihat contoh yang paling asas - mengawal kecerahan LED menggunakan PWM. Mari kita susun skema klasik.
Langkah 3
Mari buka lakaran "Pudar" dari contoh: Fail -> Sampel -> 01. Asas -> Pudar.
Langkah 4
Mari ubah sedikit dan muatkan ke dalam memori Arduino.
Langkah 5
Kami menghidupkan kuasa. LED secara beransur-ansur meningkat dalam kecerahan dan kemudian secara beransur-ansur menurun. Kami telah mensimulasikan isyarat analog pada output digital menggunakan modulasi lebar nadi.