Простий перемикач гірлянд
Тему навіяно різким збільшенням інтересу до моєї старої публікації щодо відмінностей між «А-» і «не-А»-версіями мікроконтролерів AVR. Переходи з логу на сторінки-джерела посилань показують, що цікавить переважно відмінність ATtiny13A від ATtiny13. З урахуванням календаря у мене склалося таке враження, що десь є старі (на tiny13) схеми-прошивки простої світлодіодної блималки, яку всім чухається повторити до новорічних свят, а дотягнутися можна лише до ATtiny13A.
І я згадав той перемикач гірлянд на мікросхемах К561ТВ1 і К561ЛН2, що його напаяв на макетці років 25 тому, теж за кілька днів до Нового року. Пропрацював він років п’ятнадцять. «Гірлянд», може, й гучно сказано, але для невеличкої ялинки пару десятків вогників вистачало.
Зараз повторив схему на безпаєчній макетці на мікросхемах HEF4013 (два D-тригери) і HEF4093 (чотири елементи 2I-НЕ з тригерами Шмітта на входах).
Гірлянди паяти поки не став, світлодіоди теж запхав у макетку. CMOS-мікросхеми серії 4000 працюють до 15 вольт, але, як і минулого разу, для живлення я вибрав 9-вольтову батарейку.
Схема і короткий опис
Основою перемикача служить генератор чотирьох зсунутих по фазі меандрів на D-тригерах, показаний на рисунку ліворуч (по кліку на ньому або тут можна подивитися повну схему). Тактовий генератор зібраний на одному елементі з тригером Шмітта, інші три елементи просто заглушено. Варіюючи підключення між різними виходами можна отримати вмикання світлодіодів у різний час і на різний час.
Зробив дві доріжки світлодіодів з різним режимом пробігання вогників. Кожна доріжка складається з чотирьох ланцюжків по три світлодіоди у ланцюжку. Всі світлодідоди кожної доріжки одного кольору, бо я хотів зробити саме вогники, що біжать. Якщо ж кольори перемішати і світлодіоди розмістити по гілочках, вийде традиційна новорічна ілюмінація ялинки.
Зелені ланцюжки увімкнені між одним з виходів і землею, тому ці світлодіоди світяться половину часу, а по ланцюжку біжать два вогники. Червоні — між одним з виходів A/A і одним з виводів B/B. Також отримуємо чотири зсунутих по фазі вогники, але світяться вони вже 1/4 часу і по доріжці біжить один вогник.
На фото-відео показано з резисторами 10 кілоом, як написано на схемі. То робилося, щоб не сліпило очі над’яскравими світлодіодами поки це все на столі. Якщо ж робити реальні гірлянди, опори можна позменшувати, з резисторами 2,2 кОм світить набагато яскравіше. Втім, виводи тригерів HEF4013 ще не перевантажені, падіння напруги на вихідних транзисторах в стані лог. «1» (при навантаженні на два стовпчики) близько 0,3 В.
Результат
Тут яскравість світлодіодів відносно невелика, я спеціально поставив аж десятикілоомні резистори, щоб очі не сліпило, поки бавлюся.
Швидкість можна змінити номіналом резиcтора R1, зі вказаними на схемі номіналами R1,C2 виглядає це так:
Трошки теорії
Оті два тригери утворюють двобітовий лічильник Джонсона. Оскільки всі чотири можливих стани двох тригерів є припустимими станами двобітового «Джонсона», ні початкове скидання, ні схеми відновлення коректного стану лічильника непотрібні. Стан по увімкненні живлення буде випадковим, але наступна послідовність буде правильною.
Особливістю лічильника Джонсона є те, що будь-який один його стан або послідовність суміжних станів можна «чисто» (без голок) виділити одним двовходовим логічним елементом (у припущенні, що інверсія отримується задарма, але з D-тригерами так і є).
Логіку «і» для дешифрування одиночних станів ми теж отримали безкоштовно, використавши те, що світлодіод світиться лише коли на одному його виводі «плюс» і на іншому «мінус». Два плюси, два мінуси або переполюсована напруга — і він не світиться.
Щоб отримати пригасання світлодіодів на 1/4 часу, для дешифрування станів знадобиться вже не логіка «І», а логіка «або» (ну або ж інвертована логіка «і», коли світлодіод не світиться в одному конкретному стані). Можна було б поставити ще один корпус з чотирма логічними елементами і протягнути третю доріжку, але то вже було ліньки.