Урок 1. Луч и CD4011
В картинкахПосле этого урока в библиотеке первая микросхема серии CMOS 4000 — CD4011, четыре И-НЕ в корпусе, с теми же именами ног, что в даташите Texas Instruments, — а на холсте работает ИК-луч: перекрыл — лампа «кто-то прошёл» загорается и держится, пока не нажмут «Сброс».
1.1. Идея: как магазин считает людей
У входа в магазин на уровне пояса стоят два невидимых луча: излучатель на одной стороне двери, приёмник — на другой. Пока проход свободен, луч доходит, и приёмник выдаёт 1. Человек заслонил луч — приёмник выдаёт 0. Весь набор — о том, как из этих нулей и единиц получить два числа на табло: сколько людей сейчас внутри и сколько зашло за день.
1.2. Идея: серия CMOS 4000
В 1968 году RCA выпустила серию CMOS 4000 — микросхемы на парах транзисторов P и N, ровно как наши вентили. Они работали от батарейки и почти не грелись, поэтому попали в часы, калькуляторы и счётчики. Номера ног и имена — из даташита Texas Instruments, который выпускает эти микросхемы до сих пор.
- CD4011 — четыре И-НЕ. Входы
A–H, выходыJ–M; - нога 7 — VSS (земля), нога 14 — VDD (питание). У нас питание общее, этих ног нет.
1.3. Идея: И-НЕ на все руки
Из одних И-НЕ собирается что угодно, поэтому в этом наборе вся логика направления — на CD4011:
- И-НЕ с соединёнными входами — это НЕ:
XA= НЕBA; - два И-НЕ крест-накрест — защёлка: ноль на одном входе ставит её в 1, ноль на другом — в 0, единицы на обоих — помнит.
1.4. Сборка
Новый проект. Нужен вентиль NAND — из урока 0 или любого набора серии.
Шаг 1. Чип CD4011 — 4 × И-НЕ (NAND)
Ноги корпуса по даташиту TI: 1 A, 2 B, 3 J, 4 K, 5 C, 6 D, 8 E, 9 F, 10 L, 11 M, 12 G, 13 H; 7 — VSS (земля), 14 — VDD (питание) — у нас питание общее для всех чипов, этих ног нет. Имя порта = имя ноги: двойной клик по порту → A и т. д. Вентили внутри: A·B → J, C·D → K, E·F → L, G·H → M.
| Деталь | Нога | Метка |
|---|---|---|
| Порт входа | выход | A |
| Порт входа | выход | B |
| Порт входа | выход | C |
| Порт входа | выход | D |
| Порт входа | выход | E |
| Порт входа | выход | F |
| Порт входа | выход | G |
| Порт входа | выход | H |
| Порт выхода | вход | J |
| Порт выхода | вход | K |
| Порт выхода | вход | L |
| Порт выхода | вход | M |
| NAND | I0 I1 O0 | A B J |
| NAND | I0 I1 O0 | C D K |
| NAND | I0 I1 O0 | E F L |
| NAND | I0 I1 O0 | G H M |
Ctrl+G → имя CD4011. Ноги: входы A, B, C, D, E, F, G, H; выходы J, K, L, M.
Шаг 2. Питание, ИК-пара и кнопка
ИК-пара — палитра Датчики: ставятся сразу излучатель E1 и приёмник R1 на канале 1, между ними — луч. Излучатель светит, пока на его входе 1, — сажаем на VCC. Приёмник даёт 1, пока луч доходит, и 0, когда луч перекрыт.
| Деталь | Нога | Метка |
|---|---|---|
| Power | выход | VCC |
| Ground | выход | GND |
| ИК-пара: излучатель E1 | In | VCC |
| ИК-пара: приёмник R1 | Out | BA |
| Button «Сброс» | выход | RST |
Шаг 3. Одна CD4011 — три дела
Вентиль A B → J: оба входа на луче — И-НЕ с одинаковыми входами работает как НЕ: XA = 1, когда луч перекрыт. Вентиль C D → K так же переворачивает кнопку: nRST. Вентили E F → L и G H → M крест-накрест — защёлка: луч перекрыли (BA = 0) — SEEN = 1 и держится, даже когда луч снова цел, пока не нажмут «Сброс» (nRST = 0).
| Деталь | Нога | Метка |
|---|---|---|
| CD4011 | A B J K C D E F L M G H | BA BA XA nRST RST RST BA SEENN SEEN SEENN nRST SEEN |
Шаг 4. Лампы
XA — луч перекрыт сейчас, SEEN — кто-то прошёл (запомнено).
| Деталь | Нога | Метка |
|---|---|---|
| LED | вход | XA |
| LED | вход | SEEN |
1.5. Проверка
- Нажми Сброс: обе лампы не горят.
- Нажми на луч между
E1иR1и держи — луч перекрыт: горятXAиSEEN. - Отпусти — луч снова цел:
XAгаснет, аSEENгорит — защёлка помнит, что кто-то прошёл. - Сброс —
SEENгаснет. Alt/⌘+ клик по лучу — луч перекрыт и зафиксирован (на луче — поперечная черта); тот же щелчок снимает. Так перекрывают несколько лучей сразу — понадобится в уроке 5.
| Что сделал | XA | SEEN | Что это |
|---|---|---|---|
| Сброс | ○ | ○ | никого не было |
| перекрыл луч | ● | ● | человек в луче |
| отпустил луч | ○ | ● | человек прошёл — защёлка помнит |
| Сброс | ○ | ○ | забыли |
Вставка урока 1 (Cmd+I)
Нужен вентиль NAND (урок 0). Вставка — микросхема CD4011 и луч с защёлкой.
# Урок 1 — луч и CD4011: ИК-пара, микросхема 4 × И-НЕ и защёлка «кто-то прошёл».# Вставка: Cmd+I в проект, где есть вентиль NAND (урок 0). # CD4011 — 4 × И-НЕ (NAND). Ноги: 1 A, 2 B, 3 J, 4 K, 5 C, 6 D, 8 E, 9 F, 10 L, 11 M, 12 G, 13 Hchip CD4011 { portIn(A) portIn(B) portIn(C) portIn(D) portIn(E) portIn(F) portIn(G) portIn(H) portOut(J) portOut(K) portOut(L) portOut(M) NAND(A, B, J) NAND(C, D, K) NAND(E, F, L) NAND(G, H, M)} # ---------- луч ----------power(VCC)ground(GND)# ИК-пара: излучатель горит всегда, приёмник даёт 1, пока луч целirtx{channel=1}(VCC)irrx{channel=1}(BA)button{label="Сброс"}(RST)# одна CD4011: XA — луч перекрыт (И-НЕ с обоими входами на луче = НЕ); nRST — перевёрнутая кнопка;# SEEN/SEENN — защёлка из двух И-НЕ крест-накрест: луч перекрыли — SEEN = 1 и держится до «Сброса»CD4011(A=BA, B=BA, J=XA, K=nRST, C=RST, D=RST, E=BA, F=SEENN, L=SEEN, M=SEENN, G=nRST, H=SEEN)# ---------- лампы ----------led(XA)led(SEEN)Не получается? Что-то не работает →