W obwodzie BJT tranzystor przełączający powinien być tranzystorem PNP z drugim tranzystorem NPN, aby dostarczyć do niego prąd.
Mój obwód poniżej jest niezwykle podobny do tego, który opublikował Russel i został przetestowany z Arduino UNO. Włącza 12-woltowy regulator wstępny zasilania.
Przycisk wprowadza prąd do tranzystora NPN, który z kolei wprowadza prąd do tranzystora PNP, który zasila Arduino. W przypadku UNO kondensator jest wymagany, ponieważ uruchomienie UNO i ustawienie wysokiego ON_PIN zajmuje dużo czasu. Kondensator rozładowujący się przez rezystor 5k6 utrzymuje podstawę NPN zasilaną prądem, dopóki ON_PIN nie przejmie.
Obwód po lewej stronie z diodami umożliwia wykrywanie kolejnych naciśnięć przycisków, dzięki czemu można zasygnalizować kodowi inne funkcje lub, tak jak ja, użyć go jako przerwania.
Korzystałem z wariantów tego układu z bateriami do zasilania pilotów IR i WiFi za pomocą innych MCU, np. Adafruit ItsyBitsy. Gdy obwód jest wyłączony, prąd upływowy jest poniżej 1 mikroampera, co oznacza, że baterie trwają kilka miesięcy między ładowaniami. Wartości obwodu należy dostosować do innych napięć zasilania.
Powyższe jest rozwiązaniem początkowego problemu, ale aby odpowiedzieć na niektóre pytania:
W przypadku obwodu BJT włącza się po naciśnięciu przycisku, ponieważ prąd może płynąć do podstawy tranzystora z zasilacza o wyższym napięciu niż emiter tranzystora. Jednak nie działa, gdy wyjście procesora D2 powinno przejąć, ponieważ aby obrócić tranzystor na podstawie, musi być o około 0,6 V wyższy niż emiter. Pin wyjściowy nigdy nie może dostarczyć więcej niż Vin procesora, ale Vin jest dostarczane przez emiter tranzystora. To błędne koło i prąd nigdy nie może wpłynąć do podstawy tranzystora, ponieważ napięcie bazy nigdy nie jest wystarczająco wysokie. Dodaj spadek o 0,6 V napięcia przewodzenia diody i sytuacja się pogorszy. Dlatego do przełączania używam PNP. Jeśli emiter jest podłączony do zasilania, wystarczy podłączyć podstawę do ziemi przez rezystor, aby go włączyć.
W przypadku tranzystora FET odpowiedź jest podobna, ale, jak powiedzieli inni, prąd potrzebny bramce tranzystora FET jest niewielki, a ładunek na bramce tranzystora FET będzie go utrzymywać, dopóki nie wycieknie. W obwodzie nie ma mechanizmu, który aktywnie rozładowywałby bramkę, gdy wyjście D2 jest obniżone i dlatego nie wyłącza się pod kontrolą D2.
Mówisz: „Prawdopodobnie jest to spowodowane kondensatorem 100 uF”. Kondensator ładuje się niemal natychmiast po naciśnięciu przycisku i rozładowuje z prędkością kontrolowaną przez rezystor 5k6. Z innymi płytkami (ItsyBitsy i Feather) nie potrzebowałem kondensatora, ale z UNO tak. Czas uruchamiania, który widziałem, wynosił około 1,5 sekundy.
Inną cechą mojego obwodu, która mi się podoba, jest to, że chociaż jest uruchamiany tutaj przyciskiem, w rzeczywistości może być wyzwalany przez dowolny czujnik, który może zapewnić wystarczający prąd, aby włączyć podstawę BC547, np. wyłącznik drzwiowy, czujnik temperatury lub światła przekraczający próg itp.