ПредишенСледващото

Има двуцветни светодиоди на пазара. Те са подредени по следния начин: два светодиода с различни цветове, свързани в паралел, но обратна полярност, монтирани вътре в корпуса. Така, ако напрежението на една полярност - един свети LED чип и излъчва, например червена светлина. Ако промените полярността - светне друга кристал, и ще бъде осветен в зелено. Ясно е, че обратната светодиод не възбужда тяхната полярност, и не изгаря.

Това позволява на един LED дисплей, например, две състояния на всяка система: зелен за нормална и червено, за да покаже грешка. Доста често, тези светодиоди са поставени вътре в бутона, и пресоване дублирани намигна LED, или преминаването към друг цвят (разбира се, това се прави извън MC).

Но не всеки знае, че този индикатор може да покаже повече, а на третия цвят! Не е ракетна наука, просто трябва бързо да превключвате на LED светлината от един цвят към друг. Аз ще ви покажа как да го направя по STM32 - първа грешна, а след това правилно.

Всъщност ние сме от значение само за потенциалната разлика от LED изход? Затова е най-добре да направите това: свързване на LED два крака на IO, за включване на един и същи цвят ще осигури "1" на първият ръкав и "0" за втори. В светодиод, така че ще бъде напрежението + 3.3V и свети в зелено. Ако се обръща поляритета, нанесете "0" за първия мач и "1" на второто - индикаторът ще се превърне -3,3V напрежение, и свети в червено. Разбира се, ние не трябва да забравяме за ограничаване на текущата резистор, който не поражда над текущото 10-20mA.

Грешен, но прост метод

Това е много проста: свържете чрез резистор LED 330Om някои краката на вход-изход, както и в редица и изключва. Аз използвам PB0 и PB2 на STM32VLDiscovery борда.

Код е много проста:

Малко по-сложен, но правилният метод

Използване на таймерите в чипа STM32! Те могат да се вземат за изпълнението на всички тези забавяния и цикли ги облекчат от ядрото. Това отнема само един път, за да настроите таймера, включете го - и можете да се грижи за бизнес, от време на време се разсейват от прекъсването.

Регулиране на яркостта на двуцветен светодиод

С двуцветни светодиоди винаги е проблем - яркостта на кристалите е различна, и ако те съдържат същото съотношение дълг (например, 50% от времето на червено, зелено 50% от времето) - цветове, смесени неточни, и се оказва, не това, което искахме. Червени светодиоди винаги изглеждат по-ярки от зеленото - и се оказва, не жълт или дори оранжев на цвят и е почти напълно червени.

Най-лесния начин да регулирате яркостта на програмата - да се сложи различна продължителност на забавяне: В първия пример, това е достатъчно, за да се промени defayny del1 и del2, във втория пример, за да бъде изтеглен в регистър ARR различни стойности на различни стъпки. Ясно е обаче, и възникват въпроси.

Хардуер метод за коригиране на някой, който не може да бъде толкова очевидно. Ясно е, че можете да промените на съпротивлението на текущата ограничаване на резистор, но тя се променя яркостта на двете кристали. Затова се малко по-особено - нека тока в една посока на съпротивление, и в другата посока - от друга. Това, разбира се, много лесно да се направи два диода.

Светодиодите двуцветни

Свързани статии

Подкрепете проекта - споделете линка, благодаря!