Программное отключение микроконтроллера на транзисторе 2N4401
Я пытаюсь понять, зачем подключать, скажем, цифровой контакт 4 Arduino к контакту 2 2N4401
, а также блок питания 5V
к 2N4401
контакт 1 и Arduino от VCC
до 2N4401
контакта 3, питание не сохраняется.
При замыкании контактов 1 и 3 на 2N4401
MCU включается, а для контакта 4 в программном обеспечении устанавливается значение pinMode
OUTPUT
и HIGH
, что должно позволить 2N4401
пропускать питание к MCU до тех пор, пока питание доступно, даже при коротком замыкании между выводом 2N4401
1 и 3 вырезаны.
Вместо того, что происходит, когда замыкание между контактами 1 и 3 размыкается, MCU мгновенно выключается.
Как будто транзистор вообще не реагирует на сигнал вывода 4 MCU.
Может ли кто-нибудь объяснить, почему это происходит?
Я уверен, что мне здесь не хватает знаний, и я хочу знать, как можно использовать 2N4401
для создания системы отключения ПО .
Почему 2N4401
? Почему не МОП-транзистор?
Схемы МОП-транзисторов, обеспечивающие отключение ПО, доступны, но схем отключения ПО на базе транзистора нигде не найти, и 2N4401
— это все, что у меня есть на данный момент.
Обновить
void setup(){
pinMode(4, OUTPUT);
}
void loop(){
digitalWrite(4, HIGH);
delay(3000);
digitalWrite(4, LOW);
}
@, 👍0
Обсуждение0
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Когда следует использовать транзистор, МОП-транзистор, а когда следует использовать реле?
- Управление светодиодом с помощью транзистора (TL188)
- Транзисторный усилитель для управления динамиком с использованием ШИМ Arduino
- Уменьшить яркость светодиода с помощью NPN-транзистора
- Как использовать 3-ножный фототранзистор?
- Использование транзистора NPN в качестве переключателя для включения/выключения двигателя постоянного тока
- Светодиод не мигает при использовании транзистора
Можете ли вы нарисовать схему и показать код?, @Roger Rowland
Хорошо, но эта штука Фрицинга — не настоящая схема! Однако в вашем коде есть проблема с функцией
loop
- вам, вероятно, понадобится еще однаdelay
послеdigitalWrite(4, LOW)
, иначе она немедленно снова запишетHIGH
в следующем цикле - так что вы на самом деле вы не увидите эффекта от «LOW», поскольку оно будет слишком коротким. Правильная схема необходима, чтобы увидеть, каким образом у вас подключен транзистор., @Roger RowlandПотому что
loop
выполняется непрерывно, поэтому он снова включится в начале следующего цикла. Он будет выключен всего на несколько микросекунд. Мне это кажется немного странным: вы пытаетесь использовать Arduino, чтобы выключить *само* себя*?, @Roger RowlandСколько времени потребуется, чтобы мощность спала до точки, в которой код перестает выполняться? В источнике питания имеется емкость, которая будет поддерживать его, возможно, даже в течение нескольких сотен миллисекунд. Вместо того, чтобы спорить об этом, просто добавьте еще 3-секундную задержку и посмотрите, изменится ли что-нибудь., @Roger Rowland