Урок 5. Направление прохода

В картинках

После этого урока схема знает, куда идёт человек: два луча и две CD4011 зажигают «входит» или «выходит» и дают такт в тот момент, когда перекрыты оба луча.


5.1. Идея: два луча друг за другом

Луч A — со стороны улицы, луч B — со стороны зала, между ними — шаг. Входящий человек заслоняет сначала A, потом оба, потом только B. Выходящий — наоборот. Значит, направление — это какой луч перекрыт первым.

1. только AABXAXBINOUTBOTH2. обаABXAXBINOUTBOTH3. только BABXAXBINOUTBOTH4. никогоABXAXBINOUTBOTH
Человек входит: шаг за шагом, что горит. Луч перекрыт — серый. На шаге 1 защёлка запоминает «входит» (IN), на шаге 2 перекрыты оба — BOTH = 1: здесь счётчики делают +1. На шаге 3 защёлка уже переключилась на OUT, но счёт прошёл.

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
ИК-пара: излучатель E1InVCC
ИК-пара: приёмник R1OutBA
ИК-пара: излучатель E2InVCC
ИК-пара: приёмник R2OutBB

Шаг 2. CD4011 №1: какой луч перекрыт

XA, XB = 1 — луч перекрыт (И-НЕ с одинаковыми входами = НЕ). SIN = 0 — перекрыт только A (SIN = НЕ(XA И BB)); SOUT = 0 — перекрыт только B.

ДетальНогаМетка
CD4011A
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 — перекрыты оба луча: это и будет такт для счётчиков.

ДетальНогаМетка
CD4011A
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/⌘ + клик по лучу — перекрыт, тот же щелчок — снят.

Вход:

  1. Alt/⌘ + клик по лучу A — горят XA и IN: защёлка запомнила «входит».
  2. Alt/⌘ + клик по лучу B — горит BOTH: перекрыты оба. Здесь в уроке 6 сработает счёт.
  3. Сними луч A — BOTH гаснет, загорается OUT: человек на втором луче. Счёт уже прошёл.
  4. Сними луч B — горит только OUT.

Выход — то же в обратном порядке: B, A, снять B, снять A. На шаге «оба» горят BOTH и OUT.

ЛучиXAXBINOUTBOTH
перекрыт только 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)

Не получается? Что-то не работает →