Урок 6. Счётчик посетителей
В картинкахПосле этого урока устройство готово: два табло — «внутри» (вошёл +1, вышел −1) и «всего зашло» (только +1), кнопка «Сброс». Четыре CD4029, четыре CD4511, два луча и две CD4011.
6.1. Идея: два табло на одних лучах
- «Внутри»: такт —
BOTH, направление —IN. Вошёл — +1, вышел — −1; - «Всего зашло»: такт тот же, направление всегда вверх, а счёт разрешён (
CI= 0) только при входе —CI=OUT.
Новых вентилей для второго табло не нужно — всё уже есть на схеме урока 5.
6.2. Идея: две цифры — два счётчика
Единицы и десятки — два CD4029 с общим тактом. Десятки считают, только когда единицы переходят через край: CO единиц → CI десятков. Каждой цифре — свой CD4511 и свой индикатор.
6.3. Идея: «Сброс» держит
«Сброс» — на PE всех счётчиков. Пока на PE единица, CD4029 записывает 0000 и такт у него закрыт: счётчик ничего не считает. Поэтому «Сброс» — это кнопка: нажал и отпустил. Тумблер, оставленный в 1, — табло стоит на 00, что бы ни происходило с лучами.
Вся схема одним рисунком — для сборки проводами:
6.4. Сборка
Проект урока 5 — схема направления на месте. В библиотеке нужны CD4029 и CD4511.
Шаг 1. Кнопка «Сброс»
«Сброс» — на PE всех четырёх счётчиков: пока нажата, они записывают 0000.
| Деталь | Нога | Метка |
|---|---|---|
| Button «Сброс» | выход | RESET |
Шаг 2. Табло «внутри»: два CD4029
Первый — единицы (U0–U3), второй — десятки (T0–T3). CLOCK у обоих — BOTH, направление UD — IN: вошёл — +1, вышел — −1. Десятичный счёт (BD = 0). Перенос: CO единиц → CI десятков — десятки считают, только когда единицы переходят 9 → 0 (или 0 → 9 вниз).
| Деталь | Нога | Метка |
|---|---|---|
| CD4029 | PE Q4 J4 J1 CI Q1 CO BD UD Q2 J2 J3 Q3 CLOCK | RESET U3 GND GND GND U0 COU GND IN U1 GND GND U2 BOTH |
| CD4029 | PE Q4 J4 J1 CI Q1 CO BD UD Q2 J2 J3 Q3 CLOCK | RESET T3 GND GND COU T0 COT GND IN T1 GND GND T2 BOTH |
Шаг 3. Табло «всего зашло»: ещё два CD4029
Первый — единицы (V0–V3), второй — десятки (W0–W3). Только вверх: UD = VCC. CI единиц — OUT: CI = 0 разрешает счёт, поэтому при входе (OUT = 0) считает, при выходе (OUT = 1) стоит. Новых вентилей не нужно.
| Деталь | Нога | Метка |
|---|---|---|
| CD4029 | PE Q4 J4 J1 CI Q1 CO BD UD Q2 J2 J3 Q3 CLOCK | RESET V3 GND GND OUT V0 COV GND VCC V1 GND GND V2 BOTH |
| CD4029 | PE Q4 J4 J1 CI Q1 CO BD UD Q2 J2 J3 Q3 CLOCK | RESET W3 GND GND COV W0 COW GND VCC W1 GND GND W2 BOTH |
Шаг 4. Четыре дешифратора CD4511
| Деталь | Нога | Метка |
|---|---|---|
| CD4511 | B C LT BL LE D A e d c b a g f | U1 U2 VCC VCC GND U3 U0 Ue Ud Uc Ub Ua Ug Uf |
| CD4511 | B C LT BL LE D A e d c b a g f | T1 T2 VCC VCC GND T3 T0 Te Td Tc Tb Ta Tg Tf |
| CD4511 | B C LT BL LE D A e d c b a g f | V1 V2 VCC VCC GND V3 V0 Ve Vd Vc Vb Va Vg Vf |
| CD4511 | B C LT BL LE D A e d c b a g f | W1 W2 VCC VCC GND W3 W0 We Wd Wc Wb Wa Wg Wf |
Шаг 5. Четыре индикатора
Индикатор из урока 4 (ноги a–g уже названы) скопируй ещё три раза (Cmd+C, Cmd+V) — нет его — собери, как в уроке 4. Ставь парами: десятки слева, единицы справа; сверху — «внутри», снизу — «всего зашло». Метки на ноги:
| Деталь | Нога | Метка |
|---|---|---|
| Segment LCD «внутри» — десятки | a b c d e f g | Ta Tb Tc Td Te Tf Tg |
| Segment LCD «внутри» — единицы | a b c d e f g | Ua Ub Uc Ud Ue Uf Ug |
| Segment LCD «всего» — десятки | a b c d e f g | Wa Wb Wc Wd We Wf Wg |
| Segment LCD «всего» — единицы | a b c d e f g | Va Vb Vc Vd Ve Vf Vg |
6.5. Проверка
Табло «внутри» — сколько людей сейчас в магазине; «всего зашло» — сколько вошло с последнего сброса.
- Нажми Сброс — оба табло 00. «Сброс» — кнопка: пока она нажата (или тумблер в 1), счётчики держат 00 и не считают.
- Проведи человека внутрь (как в уроке 5):
Alt/⌘+ клик по A, по B — оба табло 01; сними A, сними B. - Ещё раз — 02 / 02.
- Выведи человека: B, A, снять B, снять A — «внутри» 01, «всего» 02.
- Постой на одном луче и уйди — ничего не меняется.
| Что было | Внутри | Всего |
|---|---|---|
| Сброс | 00 | 00 |
| вошёл | 01 | 01 |
| вошёл | 02 | 02 |
| вышел | 01 | 02 |
| постоял на луче A | 01 | 02 |
Ниже нуля «внутри» не останавливается: 00 − 1 = 99 — так считает CD4029. Утром магазин открывается со «Сброса».
Вставка урока 6 (Cmd+I)
Поверх урока 5. Нужны CD4029 и CD4511. Индикаторы вставка не ставит — четыре копии индикатора урока 4 (шаг «Четыре индикатора»).
# Урок 6 — счётчик посетителей: табло «внутри» (+1 / −1) и «всего зашло» (только +1) на схеме урока 5.# Вставка: Cmd+I поверх урока 5 (нужны CD4029 и CD4511). Индикаторы ставятся руками. # ---------- сброс ----------button{label="Сброс"}(RESET)# ---------- табло «внутри»: CLOCK = BOTH, UD = IN; единицы → CO → CI десятков ----------CD4029(PE=RESET, Q4=U3, J4=GND, J1=GND, CI=GND, Q1=U0, CO=COU, BD=GND, UD=IN, Q2=U1, J2=GND, J3=GND, Q3=U2, CLOCK=BOTH)CD4029(PE=RESET, Q4=T3, J4=GND, J1=GND, CI=COU, Q1=T0, CO=COT, BD=GND, UD=IN, Q2=T1, J2=GND, J3=GND, Q3=T2, CLOCK=BOTH)# ---------- табло «всего зашло»: только вверх (UD = VCC), CI единиц = OUT — на выходе счёт стоит ----------CD4029(PE=RESET, Q4=V3, J4=GND, J1=GND, CI=OUT, Q1=V0, CO=COV, BD=GND, UD=VCC, Q2=V1, J2=GND, J3=GND, Q3=V2, CLOCK=BOTH)CD4029(PE=RESET, Q4=W3, J4=GND, J1=GND, CI=COV, Q1=W0, CO=COW, BD=GND, UD=VCC, Q2=W1, J2=GND, J3=GND, Q3=W2, CLOCK=BOTH)# ---------- дешифраторы: LT, BL = 1, LE = 0 ----------CD4511(B=U1, C=U2, LT=VCC, BL=VCC, LE=GND, D=U3, A=U0, e=Ue, d=Ud, c=Uc, b=Ub, a=Ua, g=Ug, f=Uf)CD4511(B=T1, C=T2, LT=VCC, BL=VCC, LE=GND, D=T3, A=T0, e=Te, d=Td, c=Tc, b=Tb, a=Ta, g=Tg, f=Tf)CD4511(B=V1, C=V2, LT=VCC, BL=VCC, LE=GND, D=V3, A=V0, e=Ve, d=Vd, c=Vc, b=Vb, a=Va, g=Vg, f=Vf)CD4511(B=W1, C=W2, LT=VCC, BL=VCC, LE=GND, D=W3, A=W0, e=We, d=Wd, c=Wc, b=Wb, a=Wa, g=Wg, f=Wf)Не получается? Что-то не работает →