Что такое транзистор: как он работает, NPN и PNP, применение с Arduino
Что такое транзистор и как он работает? NPN и PNP, расчёт базового резистора, сравнение BC547, 2N2222A и TIP120, схемы с мотором и реле на Arduino.
Транзистор — это полупроводниковый компонент с тремя ножками, который с помощью небольшого тока управляет гораздо большим. У него две основные задачи: включать и выключать нагрузку, как электронный ключ, и работать усилителем, который делает слабый сигнал сильнее. Пин Arduino безопасно отдаёт только около 20 mA: этого хватает для светодиода, но не для мотора, реле или светодиодной ленты на 12 V. Здесь и нужен транзистор: получая от пина несколько миллиампер, он управляет сотнями миллиампер и даже несколькими амперами.
Транзистор изобрели в 1947 году в Bell Labs Джон Бардин, Уолтер Браттейн и Уильям Шокли; он заменил электронные лампы и уместил компьютеры в наших карманах. Сегодня процессор в твоём телефоне содержит миллиарды крошечных транзисторов, и ATmega328P, сердце Arduino, тоже состоит из огромного их числа. В этой статье ты узнаешь, чем отличаются NPN и PNP, что делают база, коллектор и эмиттер, как рассчитать базовый резистор, чем отличаются BC547, 2N2222A и TIP120, как управлять моторами, реле и светодиодными лентами с Arduino, ESP32 и Raspberry Pi Pico и как определить выводы мультиметром.

Что такое транзистор и как он работает?
Транзистор можно представить как водопроводный кран: чтобы повернуть ручку, нужно совсем немного усилия, но по трубе течёт много воды. В транзисторе ручка — это ток базы, а вода в трубе — основной ток, текущий от коллектора к эмиттеру. Отношение между ними — это коэффициент усиления по току, в даташитах он обозначается hFE или β (бета): IC = hFE × IB. Например, если подать 0,1 mA в базу BC547 с hFE 200, через коллектор может течь до 20 mA. Чтобы кремниевый транзистор начал проводить, между базой и эмиттером должно появиться около 0,6–0,7 V: это пороговое напряжение его перехода, похожего на диод. Ток, выходящий из эмиттера, равен сумме обоих: IE = IC + IB.
| Вывод | Обозначение | Назначение | Куда подключается в NPN-ключе |
|---|---|---|---|
| База | B | Управляющий вывод; сюда входит малый ток | К пину Arduino через резистор |
| Коллектор | C | Сюда входит ток нагрузки | К минусу нагрузки |
| Эмиттер | E | Отсюда выходит суммарный ток (IE = IC + IB) | К GND |
Транзисторы NPN и PNP
Биполярные транзисторы (BJT) состоят из трёх полупроводниковых слоёв. В NPN-транзисторе тонкий P-слой посередине — это база; когда база примерно на 0,7 V положительнее эмиттера, ток течёт от коллектора к эмиттеру. В PNP-транзисторе всё наоборот: эмиттер подключается к плюсу питания, а когда базу опускают примерно на 0,7 V ниже эмиттера, ток течёт от эмиттера к коллектору. Обозначение проще всего запомнить по стрелке на эмиттере: у NPN она направлена наружу, у PNP — внутрь. В проектах на Arduino NPN встречается гораздо чаще, потому что эмиттер идёт прямо на GND, а транзистор открывается, когда на пине HIGH; нагрузка стоит между плюсом питания и коллектором. Это называется ключом в нижнем плече (low-side).
| Параметр | NPN | PNP |
|---|---|---|
| Стрелка на обозначении | Направлена из эмиттера | Направлена в эмиттер |
| Эмиттер подключается к | GND (минус) | Плюсу питания (+) |
| Чтобы открыть, база должна быть | ≈0,7 V выше эмиттера (пин HIGH) | ≈0,7 V ниже эмиттера (пин LOW) |
| Направление основного тока | От коллектора к эмиттеру | От эмиттера к коллектору |
| Положение нагрузки | Между + и коллектором (нижнее плечо) | Между коллектором и GND (верхнее плечо) |
| Распространённые модели | BC547, S8050, 2N2222A, BC337, TIP120 | BC557, S8550, 2N2907A, BC327, TIP125 |
Режимы работы: отсечка, активный режим и насыщение
| Режим | Условие | Ток коллектора | VCE | Применение |
|---|---|---|---|---|
| Отсечка | VBE < ≈0,6 V, тока базы нет | Почти ноль | Близко к напряжению питания | Ключ ВЫКЛ |
| Активный режим | VBE ≈ 0,65–0,7 V, умеренный ток базы | IC = hFE × IB | Где-то посередине | Усилитель |
| Насыщение | IB намного больше, чем IC / hFE | Ограничен нагрузкой и питанием | 0,1–0,3 V (0,8–2 V у Дарлингтона) | Ключ ВКЛ |
Когда транзистор работает ключом, его держат только в двух крайних состояниях: полностью закрытым (отсечка) или полностью открытым (насыщение). Активный режим посередине нужен усилителям, а в ключе он нежелателен, ведь мощность, которую рассеивает транзистор, равна P = VCE × IC. Насыщенный 2N2222A при 150 mA падает не более 0,3 V и выделяет всего 45 mW тепла; если же при том же токе он остаётся полуоткрытым и на нём падает 3 V, он рассеивает 450 mW. Это очень близко к пределу 625 mW для корпуса TO-92, и транзистор раскаляется так, что к нему не прикоснуться. Поэтому в ключевых схемах на базу всегда подают достаточный ток, чтобы уверенно загнать транзистор в насыщение.
Транзистор как усилитель
Если держать транзистор в активном режиме, он превращает небольшие изменения на базе в бо́льшие изменения на коллекторе. Например, у транзистора с hFE 200 рост тока базы на 10 µA увеличивает ток коллектора на 2 mA; на коллекторном резисторе 2,2 kΩ это изменение напряжения на 4,4 V. На этом принципе работают микрофонные предусилители, радиоприёмники и усилители звука. Самая распространённая схема — усилитель с общим эмиттером: делитель напряжения ставит базу в середину активного режима, резистор в эмиттере (RE) стабилизирует схему по температуре, а коэффициент усиления по напряжению примерно равен RC / RE, то есть около 10 раз при 4,7 kΩ и 470 Ω. Даже в электретных микрофонах есть крошечный транзистор (JFET), усиливающий сигнал. В проектах на Arduino сигналы датчиков обычно усиливают готовыми микросхемами; об этом читай в статье Что такое операционный усилитель? Дальше речь пойдёт о ключевом режиме, который с Arduino нужен чаще всего.
Подключение транзисторного ключа к Arduino
Чаще всего используется ключ в нижнем плече на NPN-транзисторе. Плюс нагрузки (мотора, катушки реле, светодиодной ленты) идёт на плюс внешнего источника питания, а минус — на коллектор транзистора. Эмиттер подключается к GND. Пин Arduino соединяется с базой всегда через резистор: он ограничивает и ток, потребляемый от пина, и ток базы. Резистор 10 kΩ между базой и GND не даёт транзистору открыться самому, пока пин «висит» в воздухе при включении питания или сбросе. В такой схеме транзистор лишь открывает и закрывает путь нагрузки к GND, поэтому нагрузка может работать от 12 V, а Arduino — от 5 V.
| Подключение | Arduino Uno | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| Управляющий пин (вход базового резистора) | D9 (PWM) или D7 | GPIO 18 | GP15 |
| Стягивающий резистор от базы к GND | 10 kΩ | 10 kΩ | 10 kΩ |
| Эмиттер | GND | GND | GND |
| Коллектор | Минус нагрузки (−) | Минус нагрузки (−) | Минус нагрузки (−) |
| Плюс нагрузки (+) | + внешнего источника (например, 12 V) | + внешнего источника (например, 12 V) | VBUS (5 V) или + внешнего источника |
| Минус внешнего источника (−) | GND Arduino (общая земля) | GND ESP32 (общая земля) | GND Pico (общая земля) |
Расчёт базового резистора: hFE и насыщение
Чтобы выбрать базовый резистор, нужны две вещи: ток, который потребляет нагрузка (IC), и минимальный hFE из даташита транзистора. Даже у одной модели hFE сильно различается от экземпляра к экземпляру и меняется с температурой и током; у BC547 он лежит в пределах от 110 до 800. Поэтому считают по минимальному значению, а не по типичному, и умножают результат на коэффициент запаса от 2 до 10. Формулы такие: IB = (IC / hFE) × коэффициент запаса и RB = (Vpin − VBE) / IB. Vpin равно 5 V на Arduino Uno и 3,3 V на ESP32 и Pico; VBE около 0,7 V у обычного транзистора и около 1,4 V у транзистора Дарлингтона, например TIP120. Распространённое упрощение — считать hFE для насыщения равным 10 (принудительная бета, forced beta); именно при этом условии в даташитах указывают напряжение насыщения.
- Найди ток нагрузки: реле на 5 V с катушкой 70 Ω по закону Ома потребляет 5 / 70 ≈ 71 mA. Для расчёта можно воспользоваться утилитой «Закон Ома».
- Выбери транзистор: 71 mA очень близко к пределу 100 mA у BC547; 2N2222A, рассчитанный на 600 mA, — более надёжный выбор.
- Рассчитай ток базы: при принудительной бете 10 IB = 71 / 10 ≈ 7 mA.
- Рассчитай резистор: на Uno RB = (5 − 0,7) / 0,007 ≈ 614 Ω; бери ближайший больший стандартный номинал 680 Ω, он даёт ток базы около 6,3 mA.
- Повтори для плат на 3,3 V: на ESP32 или Pico RB = (3,3 − 0,7) / 0,007 ≈ 371 Ω. Подойдёт ближайший стандартный номинал 390 Ω или более распространённый 470 Ω (около 5,5 mA); это всё ещё принудительная бета около 13.
- Перепроверь: ток пина должен быть меньше 20 mA, допустимый ток транзистора — минимум в 1,5 раза больше тока нагрузки, а рассеиваемая мощность (VCE(sat) × IC ≈ 0,2 V × 71 mA ≈ 14 mW) — намного ниже предела корпуса.
| Нагрузка (ток) | Рекомендуемый транзистор | Arduino Uno (5 V) | ESP32 / Pico (3,3 V) |
|---|---|---|---|
| Группа светодиодов, зуммер (20–50 mA) | BC547, S8050 | 2,2 kΩ (≈2 mA) | 1,2 kΩ (≈2,2 mA) |
| Катушка реле на 5 V (70–90 mA) | 2N2222A, BC337, S8050 | 680 Ω (≈6,3 mA) | 470 Ω (≈5,5 mA) |
| Небольшой DC-мотор, короткая светодиодная лента (0,3–1 A) | TIP120 | 1 kΩ (≈3,6 mA) | 470 Ω (≈4 mA) |
| Больше 1,5 A (крупный мотор, длинная светодиодная лента) | MOSFET с логическим уровнем управления | IRLZ44N; 220 Ω к затвору, 10 kΩ от затвора к GND | IRLB8721; 220 Ω к затвору, 10 kΩ от затвора к GND |
BC547, 2N2222A и TIP120: сравнение популярных транзисторов
| Модель | Тип / корпус | VCEO | Постоянный IC | hFE | Порядок выводов | Типичное применение |
|---|---|---|---|---|---|---|
| BC547 | NPN / TO-92 | 45 V | 100 mA | 110–800 (группы A, B, C) | C-B-E | Светодиоды, зуммеры, коммутация сигналов |
| BC557 | PNP / TO-92 | 45 V | 100 mA | 125–800 | C-B-E | PNP-пара к BC547, ключ в верхнем плече |
| S8050 | NPN / TO-92 | 25 V | 500 mA | 85–300 (по группе) | E-B-C | Стартовые наборы, модули реле |
| 2N2222A | NPN / TO-92 | 40 V | 600 mA | 100–300 (при 150 mA) | E-B-C | Реле, небольшие моторы, вентиляторы |
| BC337 | NPN / TO-92 | 45 V | 800 mA | 100–630 | C-B-E | Реле, группы светодиодов, вибромоторы |
| TIP120 | NPN Дарлингтон / TO-220 | 60 V | 5 A | Не менее 1000 | B-C-E | DC-моторы, светодиодные ленты, соленоиды |
Порядок выводов читается слева направо, если повернуть транзистор плоской стороной с маркировкой к себе, ножками вниз. Внимание: у BC547 и 2N2222A порядок противоположный (C-B-E и E-B-C), поэтому при замене одного на другой нужно поменять местами коллектор и эмиттер. У 2N2222 в металлическом корпусе (TO-18) и у копий разных производителей порядок может отличаться; если сомневаешься, проверь мультиметром. TIP120 — это транзистор Дарлингтона: внутри два транзистора, включённых каскадом, поэтому его усиление не меньше 1000, и им можно управлять прямо с пина Arduino через резистор 1 kΩ. Плата за это — падение 1–2 V на нём и связанный с этим нагрев: при 1 A он рассеивает около 1 W, а корпус TO-220 без радиатора нагревается примерно на 60 °C выше комнатной температуры. Готовые платы драйверов тоже собраны на транзисторах: в плате ULN2003 для шагового двигателя 28BYJ-48 семь транзисторов Дарлингтона, а в модуле L298N — два H-моста из транзисторов.
Управление DC-мотором с Arduino: TIP120 и обратный диод
Теперь зададим скорость небольшого DC-мотора на 6–12 V потенциометром. PWM-пин 9 Arduino подключается к базе TIP120 через резистор 1 kΩ, мотор ставится между плюсом внешнего источника и коллектором TIP120, эмиттер идёт на GND. Крайние выводы потенциометра подключаются к 5V и GND, а средний (движок) — к A0. Параллельно мотору в обратном направлении ставится обратный (защитный) диод (1N4007 или более быстрый 1N5819): катод, отмеченный полоской, смотрит на плюс питания, другой конец — на коллектор. Сигнал PWM открывает и закрывает транзистор сотни раз в секунду, и мотор крутится медленнее или быстрее в зависимости от среднего напряжения.
1// TIP120 ile DC motor hız kontrolü / DC motor speed control with a TIP120
2const int MOTOR_PIN = 9; // PWM pini, 1 kΩ ile TIP120 beyzine / PWM pin, to the TIP120 base via 1 kΩ
3const int POT_PIN = A0; // potansiyometre orta ucu / potentiometer wiper
4
5void setup() {
6 pinMode(MOTOR_PIN, OUTPUT);
7 Serial.begin(9600);
8}
9
10void loop() {
11 int pot = analogRead(POT_PIN); // 0–1023
12 int speed = map(pot, 0, 1023, 0, 255); // PWM değerine çevir / convert to a PWM value
13 if (speed < 40) speed = 0; // çok düşükte motor yalnızca vızıldar / too low, the motor only hums
14 analogWrite(MOTOR_PIN, speed);
15 Serial.println(speed);
16 delay(50);
17}
Управление реле: реле на 5 V с 2N2222A
В готовых модулях реле эта схема уже есть: небольшой транзистор, базовый резистор и обратный диод. Если используется голое реле на 5 V, ту же схему собираешь своими руками: катушка реле ставится между 5V и коллектором 2N2222A, диод 1N4007 — параллельно катушке в обратном направлении, а пин D7 подключается к базе через 680 Ω. Код ниже включает реле, когда в мониторе порта вводишь 1, и отпускает его, когда вводишь 0. Прежде чем коммутировать контактами реле сетевое напряжение, обязательно прочитай правила безопасности в статье Что такое модуль реле?
1// 2N2222A ile 5 V röle sürme / Driving a 5 V relay with a 2N2222A
2const int RELAY_PIN = 7; // 680 Ω ile transistör beyzine / to the transistor base via 680 Ω
3
4void setup() {
5 pinMode(RELAY_PIN, OUTPUT);
6 digitalWrite(RELAY_PIN, LOW); // açılışta kapalı / off at startup
7 Serial.begin(9600);
8 Serial.println("1: röle açık / relay on, 0: röle kapalı / relay off");
9}
10
11void loop() {
12 if (Serial.available() > 0) {
13 char c = Serial.read();
14 if (c == '1') {
15 digitalWrite(RELAY_PIN, HIGH); // transistör doyumda, röle çeker / transistor saturated, relay pulls in
16 Serial.println("Röle açık / relay on");
17 } else if (c == '0') {
18 digitalWrite(RELAY_PIN, LOW); // transistör kesimde, röle bırakır / transistor cut off, relay releases
19 Serial.println("Röle kapalı / relay off");
20 }
21 }
22}Транзисторы с ESP32 и Raspberry Pi Pico
Пины ESP32 и Pico выдают 3,3 V, поэтому базовый резистор нужно рассчитывать для 3,3 V: резистор 1 kΩ, подобранный для 5 V, при 3,3 V даёт TIP120 всего 1,9 mA. Пример для ESP32 ниже плавно зажигает и гасит светодиодную ленту на 12 V с помощью PWM на GPIO 18. Лента 5050 с 60 светодиодами на метр потребляет около 1,2 A на метр; для отрезка длиной 1 м хватит TIP120 с базовым резистором 470 Ω, но не забудь небольшой радиатор. У светодиодной ленты нет катушки, поэтому обратный диод не нужен. В коде используются функции ledcAttach и ledcWrite из ядра ESP32 Arduino версии 3.x; в старой версии 2.x вместо них были ledcSetup и ledcAttachPin.
1// ESP32 ile 12 V LED şerit parlaklığı (TIP120) / 12 V LED strip brightness with ESP32 (TIP120)
2const int STRIP_PIN = 18; // 470 Ω ile TIP120 beyzine / to the TIP120 base via 470 Ω
3
4void setup() {
5 ledcAttach(STRIP_PIN, 1000, 8); // 1 kHz, 8 bit (0–255); çekirdek 3.x / core 3.x
6}
7
8void loop() {
9 for (int d = 0; d <= 255; d++) { // yavaşça aydınlan / fade in
10 ledcWrite(STRIP_PIN, d);
11 delay(10);
12 }
13 delay(1000);
14 for (int d = 255; d >= 0; d--) { // yavaşça karar / fade out
15 ledcWrite(STRIP_PIN, d);
16 delay(10);
17 }
18 delay(1000);
19}Управление транзистором с Raspberry Pi Pico на MicroPython работает точно так же. Код ниже читает встроенный датчик температуры Pico; когда температура достигает 32 °C, он запускает небольшой вентилятор на 5 V через транзистор на GP15 и останавливает его, когда она падает до 29 °C. Два отдельных порога (гистерезис) не дают вентилятору часто включаться и выключаться около границы. Вентилятор питается от пина VBUS (5 V от USB); для вентилятора на 100 mA хватит BC337 или 2N2222A с резистором 1 kΩ, и параллельно вентилятору снова ставится диод. Температура чипа на несколько градусов выше окружающей; в реальном проекте точнее будет датчик вроде DS18B20.
1# Pico yonga sıcaklığına göre fan / Fan controlled by the Pico's chip temperature
2from machine import Pin, ADC
3import time
4
5fan = Pin(15, Pin.OUT, value=0) # 1 kΩ ile transistör beyzine / to the transistor base via 1 kΩ
6sensor = ADC(4) # yonga içi sıcaklık sensörü / on-chip temperature sensor
7ON_C, OFF_C = 32, 29 # açma ve kapama eşikleri / switch-on and switch-off thresholds
8
9while True:
10 v = sensor.read_u16() * 3.3 / 65535
11 temp = 27 - (v - 0.706) / 0.001721 # RP2040 veri sayfası formülü / RP2040 datasheet formula
12 if temp >= ON_C:
13 fan.value(1) # transistör iletimde, fan döner / transistor on, fan spins
14 elif temp <= OFF_C:
15 fan.value(0) # transistör kesimde, fan durur / transistor off, fan stops
16 print("{:.1f} C, fan: {}".format(temp, fan.value()))
17 time.sleep(1)Как определить выводы транзистора мультиметром
- Выпаяй транзистор из схемы и переведи мультиметр в режим проверки диодов (значок диода).
- Держи красный щуп на одном выводе и по очереди касайся чёрным щупом двух других. Если оба показания между 0,5 и 0,8 V, под красным щупом база, а транзистор NPN.
- Если такой вывод не находится, поменяй щупы местами: если при чёрном щупе на одном выводе два других показывают 0,5–0,8 V, этот вывод — база, а транзистор PNP.
- Сравни показания между базой и двумя другими выводами: чуть большее (например, 0,65 V против 0,62 V) — это эмиттер, меньшее — коллектор. Если разница совсем мала, доверься даташиту.
- Между коллектором и эмиттером в обоих направлениях должно быть OL (обрыв); в обратном направлении от базы тоже должно быть OL.
- Если у мультиметра есть гнездо hFE, вставь транзистор в слот NPN или PNP по найденному порядку выводов; на дисплее появится коэффициент усиления по току.
В транзисторах Дарлингтона, таких как TIP120, между базой и эмиттером два перехода и внутренние резисторы (около 8 kΩ и 120 Ω), поэтому показания этому правилу не подчиняются; порядок выводов уточняй по даташиту. Если между коллектором и эмиттером в обе стороны почти ноль, транзистор пробит; если база ни в одном направлении ничего не показывает до других выводов, внутри оборвался переход. Подробно о пределах измерения мультиметра — в статье Как пользоваться мультиметром.
Идеи проектов с транзисторами
- Автоматический ночник: когда фоторезистор (LDR) замечает темноту, включай светодиодную ленту на 12 V через TIP120.
- Умный вентилятор: по мере роста температуры, измеренной DHT11, повышай скорость вентилятора с помощью PWM и транзистора.
- Автополив: когда датчик влажности почвы определяет сухую почву, запускай небольшой водяной насос через транзистор.
- Кодовый замок: когда на матричной клавиатуре введён верный код, открывай соленоидный замок на 12 V через TIP120 с диодом.
- Тихое оповещение: управляй вибромотором через BC337 и собери носимое устройство уведомлений.
- Громкая сигнализация: когда PIR-датчик замечает движение, включай через транзистор сирену на 12 V, которую пин Arduino сам бы не потянул.
Частые ошибки и как их исправить
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Нагрузка совсем не работает | Нет общей земли или перепутаны выводы | Соедини минусы источников и проверь порядок выводов |
| Транзистор сильно греется | Он не входит в насыщение (мал ток базы) или превышен допустимый ток | Уменьши базовый резистор, выбери транзистор мощнее или MOSFET |
| Arduino перезагружается или транзистор выходит из строя при остановке мотора | Нет обратного диода | Поставь 1N4007 или 1N5819 параллельно нагрузке в обратном направлении, полоской к плюсу |
| Нагрузка работает даже при LOW на пине | Пробитый транзистор (замыкание C-E) или висящая база | Проверь транзистор мультиметром и добавь 10 kΩ от базы к GND |
| PNP-транзистор никогда не закрывается | На эмиттере 12 V, а пин поднимается только до 5 V | Управляй базой PNP через NPN или коммутируй нагрузку в нижнем плече NPN-транзистором |
| Пин Arduino повреждён | Пин подключён прямо к базе без резистора | Всегда используй базовый резистор и держи ток пина ниже 20 mA |
| С ESP32 или Pico нагрузка работает слабо | Резистор подобран для 5 V, или MOSFET не открывается полностью при 3,3 V | Рассчитай базовый резистор для 3,3 V и выбери MOSFET, совместимый с 3,3 V |
Транзистор — ключ к управлению большими нагрузками с помощью слабого сигнала, то есть к связи твоего Arduino с реальным миром. Когда расчёт базового резистора, общая земля и обратный диод встают на свои места, моторы, насосы и светодиодные ленты перестают пугать. В приложении BlueGrays можно шаг за шагом, со схемами и кодом, разобрать такие проекты, как ночник на фоторезисторе, зуммер, плавное зажигание светодиода через PWM, шаговый двигатель и управление сетевой лампой.
Частые вопросы
Для чего нужен транзистор?
Транзистор выполняет две основные задачи: работает электронным ключом, который малым током включает и выключает большой, и усилителем, который делает слабый сигнал сильнее. В проектах на Arduino им чаще всего управляют нагрузками, которые пин не может потянуть сам: моторами, реле, вентиляторами и светодиодными лентами.
Чем отличаются транзисторы NPN и PNP?
У NPN-транзистора эмиттер подключается к GND, и он проводит, когда база примерно на 0,7 V выше эмиттера; ток течёт от коллектора к эмиттеру. У PNP эмиттер подключается к плюсу питания, а открывается он, когда базу опускают на 0,7 V ниже эмиттера. Для коммутации нагрузки со стороны GND с Arduino проще NPN.
Как определить выводы транзистора?
Самый надёжный способ — даташит: если повернуть транзистор маркировкой к себе, слева направо порядок такой: C-B-E у BC547, E-B-C у 2N2222A и B-C-E у TIP120. Без даташита базу и тип можно найти в режиме проверки диодов мультиметра, а эмиттер отличить по тому, что показание база-эмиттер чуть больше, чем база-коллектор.
Какой транзистор использовать с Arduino?
Для нагрузок до 50 mA, таких как светодиоды и зуммеры, хватит BC547. Для катушек реле на 5 V (70–90 mA) и небольших моторов до 500 mA бери 2N2222A или BC337, а для моторов и светодиодных лент около 1 A — TIP120. При больших токах холоднее работает MOSFET с логическим уровнем управления.
Какой базовый резистор ставить к транзистору?
Базовый резистор рассчитывается по формуле RB = (Vpin − VBE) / IB; для обычных транзисторов хорошая отправная точка для IB — десятая часть тока нагрузки. С Arduino Uno типичные значения: 680 Ω для реле на 5 V, 2,2 kΩ для нагрузок 20–50 mA, таких как светодиоды и зуммеры, и 1 kΩ для TIP120.
Почему греется транзистор?
Тепло, которое выделяет транзистор, равно P = VCE × IC. Если ток базы слишком мал, транзистор не входит в насыщение, на нём остаются вольты, и он греется; то же происходит, если ток нагрузки превышает допустимый. Уменьши базовый резистор, выбери транзистор мощнее или MOSFET, а выше 1 A ставь радиатор.
Что собрать после прочтения
Все проекты
Ночник на LDR
Маленький ночник, который сам включается, когда темнеет, и гаснет, когда наступает утро. Датчик освещённости измеряет, насколько светло в комнате, и Arduino включает светодиод, когда достаточно темно,

Работа с зуммером
Интересно, как дверной звонок или сигнализация издают звук? Arduino заставляет маленький зуммер пищать через короткие промежутки: пик, пауза, пик, пауза. Ты видишь, как электричество превращается в зв

Плавное затухание светодиода с PWM на ESP32
Плавное изменение яркости светодиода от 0 до максимума и от максимума до 0. PWM управляется через analogWrite(), как в Arduino, — тот же синтаксис без проблем работает в ESP32 Arduino Core 3.0+. Достаточно определения пина, pinMode и analogWrite.

Плавное затухание светодиода с PWM на Pico (эффект дыхания)
Светодиод больше не просто мигает — он дышит! С помощью PWM (широтно-импульсной модуляции) Raspberry Pi Pico яркость светодиода медленно растёт и медленно падает, как огонёк спящего MacBook. Изучи класс machine.PWM, duty_u16() (16-битная яркость 0–65535), частоту PWM (freq(1000) — 1000 циклов вкл/выкл в секунду, мерцания не видно), циклы range() с шагом (вверх и вниз) и почти аналоговый выход с цифрового пина.

Работа с шаговым мотором
Мотор, который поворачивается шаг за шагом ровно настолько, насколько нужно, как стрелка часов. Через плату драйвера Arduino поворачивает маленький шаговый мотор на полный оборот в одну сторону, ждёт

Включение лампы 220V кнопкой (удержание)
Пока ты держишь кнопку, горит настоящая лампа на 220 вольт, а как только отпустишь — гаснет. Слабый сигнал Arduino не может зажечь лампу напрямую, поэтому между ними стоит реле — выключатель с электри

Умная станция полива
Садовник, который сам поливает растения, чтобы они не засохли, пока ты в отпуске. Датчик влажности почвы измеряет, насколько влажная земля; когда она сохнет, Arduino на несколько секунд включает водян

Умное освещение на ESP32 (PIR + LDR + реле + OLED)
Сделай умное освещение для коридора, ванной или кладовки на ESP32! С PIR-датчиком движения, датчиком освещённости LDR и модулем реле собирается классический сценарий «свет включается при движении в темноте»: если вокруг уже светло, движение свет НЕ включает, и днём энергия экономится. Свет горит 30 секунд; если движение продолжается, таймер сбрасывается, и свет горит дольше. OLED SSD1306 крупно показывает состояние (ON / DAYTIME / WAITING) и обратный отсчёт.
Другие статьи
Приложение BlueGrays
Собери эту схему шаг за шагом в телефоне
Схема подключения, код и список деталей на одном экране. 200+ проектов на Arduino, ESP32 и Pico готовы к сборке.
Наведи камеру телефона
Наведи камеру на код — откроется магазин приложений на телефоне.
или открыть магазин

