ISR taymerli PWM
OCR registrini qayta o'rnatmasdan , biz PWM signallarini yaratishimiz mumkin. Bu analogWrite ishlatadigan jarayon. Ammo bu holda biz Arduino-ning PWM pinlarini emas, balki boshqa har qanday pinni ishlatishimiz mumkin. Masalan, ushbu kodda biz OCRA va OCRB ni ikkita potansiyometrdan analogReadga tenglashtiramiz. Pulsning kengligi 1000 dan 2000 gacha bo'lishi mumkin, ammo taymer 1 bo'lsa, uni 0 dan 65 minggacha bo'lgan oraliqda xohlagan narsangizga o'rnatishingiz mumkin.
Shunday qilib, endi, OCRA yoki OCRB ning har biriga erishilganda, biz pulsni o'zgartiramiz. OCR qiymatini o'zgartirib, biz impuls kengligini o'zgartiramiz. Chastota bir xil, lekin kengligi o'zgarib bormoqda. Agar men ushbu kodni yuklasam, biz 2 va 3-pinlarda ba'zi PWM signallarini yaratishimiz mumkin va biz chastotani, pulsning kengligini va eng yaxshisi aniqligini nazorat qilamiz. Ma'lumki, analogWrite 8 bit aniqlikka ega, shuning uchun 0 dan 255 gacha qiymatlar. Masalan, servo kutubxona bu taymerlardan qanday foydalanmoqda.
Do'stlaringiz bilan baham: |