Saya melihat saya Arduino Uno dan saya melihat simbol bahwa dengan pin digital 11
, 10
, 9
, 6
, 5
, dan 3
. Apa artinya ini? Apakah ini mempengaruhi cara kerjanya? Bisakah saya menggunakan pin ini untuk situasi tertentu?
Saya melihat saya Arduino Uno dan saya melihat simbol bahwa dengan pin digital 11
, 10
, 9
, 6
, 5
, dan 3
. Apa artinya ini? Apakah ini mempengaruhi cara kerjanya? Bisakah saya menggunakan pin ini untuk situasi tertentu?
Jawaban:
Bersantai. Jangan khawatir. Pin ini dipanggil PWM
dan sama dengan pin lainnya, kecuali mereka memiliki "bonus tambahan."
Beberapa kegunaan dari Situs Web Arduino :
- Peredupan LED
- Mensimulasikan output analog. Outputnya masih beralih secara digital dari 0V ke 5V. Namun, low-pass filter (kapasitor dan resistor) untuk mensimulasikan tegangan analog.
- Menghasilkan sinyal audio.
- Menyediakan kontrol kecepatan variabel untuk motor.
- Menghasilkan sinyal termodulasi, misalnya untuk menggerakkan LED inframerah untuk remote control.
Bagaimana itu bekerja:
Pin PWM dikendalikan oleh pengatur waktu on-chip yang mengaktifkan pin secara otomatis pada kecepatan sekitar 490Hz. "Pulse Width Modulation" (PWM) adalah berapa lama pin tetap hidup atau mati untuk satu siklus frekuensi itu. Ini dapat meredupkan LED dengan memberikan ilusi setengah kecerahan seperti sebelumnya, di mana itu benar-benar berkedip sangat cepat.
Ketika ada siklus tugas 25%, itu adalah salah satu dari waktu. Jika Anda menggunakan LED, akan muncul sekitar 1/4 sebagai terang [memberi atau menerima]. (Catatan: seperti yang ditunjukkan oleh beberapa orang ini tidak benar - benar proporsional, tetapi mari kita biarkan seperti ini untuk kesederhanaan. EX: 25% tidak selalu 1/4 kecerahannya.)
(Jika Anda benar-benar mahir dalam hal listrik, Anda mungkin dapat menambahkan kapasitor untuk membuatnya juga output analog.)
Cara menggunakan pin ini untuk menghasilkan:
Pertama, Anda perlu mendefinisikan pin sebagai output. Kemudian, Anda gunakan
analogWrite(ledPin, 128);
untuk memulainya. The ledPin
adalah pin PWM yang Anda ingin memulai PWM dan 128
harus diganti dengan angka antara 0
dan 255
; 0
: 0% duty cycle
(Ternyata pin sepenuhnya off) dan 255
: 100% duty cycle
. (nyalakan pin sepenuhnya)
Sumber: http://www.arduino-tutorials.com/arduino-pwm/
Mengapa saya tidak bisa menyalakan dan mematikan lampu dengan sangat cepat dalam kode saya ?:
Secara teknis, Anda dapat, namun, ada beberapa masalah:
Ini tidak benar-benar akan membuat banyak perbedaan jika tujuan Arduino adalah untuk menghasilkan sinyal PWM. Namun, jika Anda menunda lebih lama dari 50 MS di loop utama, itu akan mengacaukan waktunya. Dengan pendekatan perangkat lunak Anda ingin menghilangkan fungsi "penundaan" karena Arduino hanya berjalan pada satu utas (hanya dapat melakukan satu hal pada satu waktu). Jika Anda tahu apa yang Anda lakukan, itu tidak akan membuat banyak perbedaan meredupkan cahaya, tetapi jika Anda memiliki pin tambahan dengan PWM, Anda hanya membuang-buang waktu dengan pendekatan perangkat lunak.
Seperti yang orang lain tunjukkan:
Anda masih memerlukan resistor untuk sirkuit Anda untuk membatasi arus dan tegangan. Anda tidak dapat melewati ini.
Kesalahpahaman umum tentang pin PWM adalah bahwa ketika menggunakan PWM, tidak perlu menggunakan resistor pembatas arus (misalnya, dengan LED).
Ini tidak benar. Pin PWM harus dianggap sebagai pin digital, yang dihidupkan dan dimatikan secara otomatis. Ini berarti mereka pergi ke tegangan TINGGI yang sama dengan pin lainnya.
Saat menggunakan LED dengan PWM, Anda harus tetap menggunakan resistor pembatas saat ini. Saat menggunakan motor dengan PWM, Anda harus (hampir selalu) menggunakan transistor.