Цхарлиеплекинг је техника управљања многим ЛЕД диодама помоћу неколико И / О пинова. Цхарлиеплекинг је исто што и мултиплексирање, али користи логику три стања (висок, низак улаз) да би драматично смањио број пинова и постигао ефикасност током мултиплексирања. Техника Цхарлиеплекинг је добила име по свом проналазачу Цхарлие Аллену, који је технику изумео 1995. године. Раније смо користили технику мултиплексирања у Ардуину за повезивање 4-цифреног 7-сегментног екрана и управљања 8к8 ЛЕД матрицом.
Цхарлиеплекинг вам омогућава да контролишете Н * (Н - 1) ЛЕД диоде, где је Н број пинова. На пример, можете да контролишете 12 ЛЕД диода помоћу 4 Ардуино пинова 4 * (4-1) = 12. ЛЕД диоде су диоде, а код диода струја тече само у једном смеру. Дакле, у Цхарлиеплекингу повезујемо две ЛЕД паралелно једна са другом, али са супротним поларитетом, тако да се истовремено укључује само једна ЛЕД. Када је реч о Ардуину или другим плочама микроконтролера, никад немате довољно улазно / излазних пинова. Ако радите на пројекту у којем треба да повежете ЛЦД екран, гомилу ЛЕД-а и неке сензоре, онда сте већ остали без игла. У тој ситуацији можете цхарлиеплек ЛЕД диоде да смањите број пинова.
У овом упутству ћемо користити технику Цхарлиеплекинг за контролу 12 ЛЕД помоћу 4 Ардуино пинова.
Компоненте потребне
- Ардуино УНО
- ЛЕД (12)
- 4 отпорника (330 ома)
- Јумпер Вирес
- Бреадбоард
Кружни дијаграм
У основи, у овом дијаграму кола, 12 ЛЕД диода је преко отпорника повезано са 4 Ардуино пинова. Сваки пин Ардуина повезан је са три ЛЕД диоде. Постоји шест група ЛЕД диода, а у свакој групи су повезане по 2 ЛЕД диоде, а обе ЛЕД диоде су паралелне једна са другом, али са супротним поларитетом, тако да се истовремено укључује само једна ЛЕД диода. Дакле, према дијаграму кола да би се укључио лед 1, на пину А мора постојати ХИГХ сигнал, а на пину Б ЛОВ сигнал, а пин Ц и Д треба одспојити. Исти поступак ће се следити и за остале ЛЕД диоде. Комплетна табела подешавања пина за сваку ЛЕД диоду дата је у наставку:
ЛЕД | Пин 8 | Пин 9 | Пин 10 | Пин 11 |
1 | ВИСОКО | ЛОВ | УЛАЗНИ | УЛАЗНИ |
2 | ЛОВ | ВИСОКО | УЛАЗНИ | УЛАЗНИ |
3 | УЛАЗНИ | ВИСОКО | ЛОВ | УЛАЗНИ |
4 | УЛАЗНИ | ЛОВ | ВИСОКО | УЛАЗНИ |
5 | УЛАЗНИ | УЛАЗНИ | ВИСОКО | ЛОВ |
6 | УЛАЗНИ | УЛАЗНИ | ЛОВ | ВИСОКО |
7 | ВИСОКО | УЛАЗНИ | ЛОВ | УЛАЗНИ |
8 | ЛОВ | УЛАЗНИ | ВИСОКО | УЛАЗНИ |
9 | УЛАЗНИ | ВИСОКО | УЛАЗНИ | ЛОВ |
10 | УЛАЗНИ | ЛОВ | УЛАЗНИ | ВИСОКО |
11 | ВИСОКО | УЛАЗНИ | УЛАЗНИ | ЛОВ |
12 | ЛОВ | УЛАЗНИ | УЛАЗНИ | ВИСОКО |
Након повезивања мој хардвер изгледа као на слици испод. Као што видите са слике, постоји шест група ЛЕД диода, а у свакој групи су 2 ЛЕД диоде повезане насупрот једна другој. Модул Ардуино УНО напаја се преко УСБ порта.
Објашњење кода
Комплетни код са радним видео записом дат је на крају овог водича, овде објашњавамо комплетан програм за разумевање рада пројекта.
На почетку Ардуино кода дефинишите све пинове на које су повезане ЛЕД диоде. Након тога дефинишите укупан број ЛЕД диода и лед стање.
#дефине А 8 #дефине Б 9 #дефине Ц 10 #дефине Д 11 #дефине ПИН_ЦОНФИГ 0 #дефине ПИН_СТАТЕ 1 #дефине ЛЕД_Нум 12
Сада створите матрицу за укључивање и искључивање ЛЕД диода у низу, секвенцу можете променити променом стања пина и конфигурације пина. Према овој матрици, прво ће се укључити ЛЕД1, а затим ЛЕД2 и тако даље.
инт матрица = { // ПИН_ЦОНФИГ ПИН_СТАТЕ // АБЦДАБЦД {{ИЗЛАЗ, ИЗЛАЗ, УЛАЗ, УЛАЗ}, {ХИГХ, ЛОВ, ЛОВ, ЛОВ}}, {{ОУТПУТ, ОУТПУТ, ИНПУТ, ИНПУТ}, {ЛОВ, ХИГХ, ЛОВ, ЛОВ}}, {{ИНПУТ, ОУТПУТ, ОУТПУТ, ИНПУТ}, {ЛОВ, ХИГХ, ЛОВ, ЛОВ}}, ……………………………. ……………………………..
Сада унутар петље празнине , програм ће извршити ЛЕД_ЦОУНТ матрицу за укључивање и искључивање ЛЕД диода у датом низу.
воид лооп () { фор (инт л = 0; л <ЛЕД_Нум; л ++) { лигхтОн (л); кашњење (1000 / ЛЕД_Нум); }
Сада повежите Ардуино са преносним рачунаром и правилно одаберите плочу и порт, а затим кликните на дугме Отпреми. Након отпремања кода, ваше ЛЕД диоде треба да почну трептати.
Дакле, овако се Цхарлиеплекинг техника може користити за контролу многих ЛЕД диода користећи мање Ардуино пинова. Овом методом можете контролисати већи број ЛЕД диода. На пример, ако желите да контролишете 20 ЛЕД диода, само уредите матрицу и додајте услове за преостале ЛЕД диоде.
Комплетни код и радни видео пронађите у наставку.