Pico'до PWM менен LED'дин жарыгын жөнгө салуу
Pico үчүн жазган эң алгачкы программаларыңызда LED'ди толугу менен КҮЙГҮЗҮП же толугу менен ӨЧҮРҮП койгонсуз. Бул эки эле абалы бар жарык өчүргүчкө окшош. Бирок чыныгы диммер жарыкты 10%, 50%, 90% — каалаган жарыктыкка коюуга мүмкүндүк берет. Болгону 0 жана 1 сандарын гана түшүнгөн микросхема кантип жарымы жанган LED жасай алат?
Жообу — PWM деп аталган кооз ыкма — Pulse Width Modulation (импульстун туурасын модуляциялоо). Пин дагы эле болгону 0 же 1 гана чыгарат, бирок ал алардын ортосунда секундуна миңдеген жолу которулуп турат. Пин убакыттын канча бөлүгүндө КҮЙҮП турганын башкаруу менен сиз LED'дин канчалык жарык көрүнөрүн башкарасыз. Бул сабакта сиз диммер курасыз, LED'ди жумшак өчүрүп-күйгүзөсүз жана атактуу "дем алган" LED эффектин жасайсыз.
Эмнени үйрөнөсүз
- Жөнөкөй санарип пин эмне үчүн өз алдынча "жарым" чыңалуу бере албайт.
- PWM'дин негизги идеясы: тез күйгүзүп-өчүрүү жана толтуруу коэффициенти.
- MicroPython'дун
PWMклассын кантип колдонуу керек:freq()жанаduty_u16(). - "16-биттик толтуруу" эмнени билдирет, чыныгы эсептелген сандар менен (эмне үчүн 50% = 32768).
- LED'ди циклдер менен жумшак өчүрүп-күйгүзүү жана дем алуу эффектин куруу.
- Жарыктык эмне үчүн сызыктуу эмес көрүнөт (гамма / кабылдоо идеясы).
- PWM жыштыгын кантип тандоо жана көзгө көрүнгөн жылтылдоодон качуу.
- Дал ушул PWM ыкмасы сервоприводдорду, моторлорду жана зуммерлерди да иштетет.
1. Санарип пин эмне үчүн "жарым" чыңалуу жасай албайт
Pico'догу ар бир жалпы багыттагы пин (GPIO) — бул санарип пин. "Санарип" дегени анын так эки чыгуу абалы бар дегенди билдирет:
- HIGH — пин болжол менен 3.3 вольтко туташкан (бул логикалык "1").