Урок 5. Направление прохода
В картинкахПосле этого урока схема знает, куда идёт человек: два луча и две CD4011 зажигают «входит» или «выходит» и дают такт в тот момент, когда перекрыты оба луча.
5.1. Идея: два луча друг за другом
Луч A — со стороны улицы, луч B — со стороны зала, между ними — шаг. Входящий человек заслоняет сначала A, потом оба, потом только B. Выходящий — наоборот. Значит, направление — это какой луч перекрыт первым.
5.2. Идея: запомнить первого
SIN= 0, когда перекрыт только A;SOUT= 0 — только B;- защёлка на двух И-НЕ:
SIN= 0 ставитIN= 1 («входит»),SOUT= 0 ставитOUT= 1 («выходит»); - пока перекрыты оба луча, защёлка помнит, кто был первым.
5.3. Идея: такт — когда перекрыты оба
BOTH = 1, когда перекрыты оба луча. Это и есть такт для счётчиков: к этому моменту направление уже запомнено и не меняется. Постоял на одном луче и ушёл — оба не перекрывались, счёта нет.
TI в даташите CD4029 предлагает ещё одну схему на четырёх И-НЕ (Fig. 11) — для случая, когда есть готовые такты «вверх» и «вниз», например от двух кнопок. У нас тактов нет — есть лучи, и защёлка направления уже делает её работу.
5.4. Сборка
Тот же проект. В библиотеке нужна CD4011 (урок 1).
Шаг 1. Питание и два луча
Две ИК-пары: первая — канал 1 (луч A, со стороны улицы), вторая — канал 2 (луч B, со стороны зала). Ставь пары одну под другой: человек идёт поперёк обоих лучей.
| Деталь | Нога | Метка |
|---|---|---|
| Power | выход | VCC |
| Ground | выход | GND |
| ИК-пара: излучатель E1 | In | VCC |
| ИК-пара: приёмник R1 | Out | BA |
| ИК-пара: излучатель E2 | In | VCC |
| ИК-пара: приёмник R2 | Out | BB |
Шаг 2. CD4011 №1: какой луч перекрыт
XA, XB = 1 — луч перекрыт (И-НЕ с одинаковыми входами = НЕ). SIN = 0 — перекрыт только A (SIN = НЕ(XA И BB)); SOUT = 0 — перекрыт только B.
| Деталь | Нога | Метка |
|---|---|---|
| CD4011 | A B J K C D E F L M G H | BA BA XA XB BB BB XA BB SIN SOUT XB BA |
Шаг 3. CD4011 №2: кто был первым и «оба»
Два И-НЕ крест-накрест — защёлка: SIN = 0 ставит IN = 1 («входит»), SOUT = 0 ставит OUT = 1 («выходит»); пока перекрыты оба или ни одного — защёлка помнит. NBOTH = НЕ(XA И XB), BOTH = НЕ NBOTH = 1 — перекрыты оба луча: это и будет такт для счётчиков.
| Деталь | Нога | Метка |
|---|---|---|
| CD4011 | A B J K C D E F L M G H | SIN OUT IN OUT SOUT IN XA XB NBOTH BOTH NBOTH NBOTH |
Шаг 4. Лампы
| Деталь | Нога | Метка |
|---|---|---|
| LED | вход | XA |
| LED | вход | XB |
| LED | вход | IN |
| LED | вход | OUT |
| LED | вход | BOTH |
5.5. Проверка
Человек проходит так: сначала перекрывает первый луч, потом оба, потом только второй, потом уходит. Мышью один луч можно только держать, а нужны два сразу, поэтому лучи фиксируй: Alt/⌘ + клик по лучу — перекрыт, тот же щелчок — снят.
Вход:
Alt/⌘+ клик по лучу A — горятXAиIN: защёлка запомнила «входит».Alt/⌘+ клик по лучу B — горитBOTH: перекрыты оба. Здесь в уроке 6 сработает счёт.- Сними луч A —
BOTHгаснет, загораетсяOUT: человек на втором луче. Счёт уже прошёл. - Сними луч B — горит только
OUT.
Выход — то же в обратном порядке: B, A, снять B, снять A. На шаге «оба» горят BOTH и OUT.
| Лучи | XA | XB | IN | OUT | BOTH |
|---|---|---|---|---|---|
| перекрыт только A | ● | ○ | ● | ○ | ○ |
| перекрыты оба | ● | ● | ● | ○ | ● |
| перекрыт только B | ○ | ● | ○ | ● | ○ |
| никого | ○ | ○ | ○ | ● | ○ |
Схему не удаляй — урок 6 достраивает её.
Вставка урока 5 (Cmd+I)
Нужна CD4011 (урок 1). Эта схема остаётся на холсте — урок 6 достраивает её.
# Урок 5 — направление прохода: два ИК-луча и две CD4011. IN — «входит», OUT — «выходит», BOTH — перекрыты оба (такт).# Вставка: Cmd+I в тот же проект (нужна CD4011 из урока 1). Эта схема остаётся — урок 6 достраивает её. # ---------- лучи ----------power(VCC)ground(GND)# луч A — со стороны улицы (канал 1), луч B — со стороны зала (канал 2); приёмник даёт 1, пока луч целirtx{channel=1}(VCC)irrx{channel=1}(BA)irtx{channel=2}(VCC)irrx{channel=2}(BB)# CD4011 №1: XA, XB — луч перекрыт; SIN — перекрыт только A; SOUT — перекрыт только BCD4011(A=BA, B=BA, J=XA, K=XB, C=BB, D=BB, E=XA, F=BB, L=SIN, M=SOUT, G=XB, H=BA)# CD4011 №2: защёлка IN/OUT (кто был первым) и BOTH — перекрыты обаCD4011(A=SIN, B=OUT, J=IN, K=OUT, C=SOUT, D=IN, E=XA, F=XB, L=NBOTH, M=BOTH, G=NBOTH, H=NBOTH)# ---------- лампы ----------led(XA)led(XB)led(IN)led(OUT)led(BOTH)Не получается? Что-то не работает →