W większości przykładów, w których widziałem okablowanie przycisków do wejść GPIO, przycisk jest podłączony tak, że po zamknięciu obwód między pinem a masą jest zakończony, wytwarzając niski poziom wejścia na pin. Rezystor podciągający służy do ustawienia domyślnej wartości wejściowej na wysoką. Kod na Pi może następnie wykryć niski poziom po naciśnięciu przycisku.
Podłączyłem przyciski do + 3.3v, więc sygnał jest wysoki, ponieważ wydaje się to mieć większy sens i sprawia, że kod jest bardziej logiczny, ale musi być powód, dla którego większość ludzi woli podłączyć się do uziemienia. Jakie są zalety?
gpio
electronics
howard10
źródło
źródło
Odpowiedzi:
Jednym z głównych powodów, dla których faworyzowane jest podłączanie przycisków i logiki do GND (a następnie kopiowanie ich w Internecie), wynika z optymalizacji zasilania.
W skomplikowanych obwodach lub obwodach opartych na bateriach ta moc jest bardzo cenna.
Inne powody to niskie generowanie pól elektromagnetycznych. W urządzeniach bezprzewodowych wysoki poziom logiki spowoduje niepotrzebne przesłuchy w bardzo wrażliwych odbiornikach RF. Na takich transiwerach znajduje się płaszczyzna GND używana do filtrowania szumów i do tego służy cała logika. Procesor używa następnie płaszczyzny GND do filtrowania dźwięków przełączania.
źródło
0v = 0watts
użyteczne, ale ciągnięcie szpilki w górę>0watts
- każdy rodzaj, micro, milli, nano, nie ma znaczenia. Jak wspomniano, na mocy baterii pomaga każdy nano wat. Ale jak już tutaj odpowiedziano ... na USB to nic nie znaczy. Czy się mylę?Istnieją złożone historyczne powody, dla których inżynierowie elektryczni zazwyczaj podnosili wejścia za pomocą rezystorów i używali przełączników do ich uziemienia.
Jednak te powody nie są szczególnie istotne dla hobby korzystania z Raspberry Pi. Używaj tego, co ma dla ciebie sens.
Jeśli tworzysz produkt komercyjny lub chcesz, aby Twój projekt był nieco lepszy, wybierz podciągnięcia z przełącznikiem uziemienia z następujących praktycznych powodów:
źródło
Bezwzględnie nie ma potrzeby stosowania rezystora podciągającego, BMC GPIO ma wewnętrzne rezystory podciągające, które są aktywowane po zaprogramowaniu jako wejście, chociaż nie szkodzi.
Złą praktyką jest podłączanie pinu GPIO bezpośrednio do 3V3 lub GND. GPIO jest dwukierunkowy, a zaprogramowanie go jako wejścia nie spowoduje żadnych problemów. Z drugiej strony, jeśli zaprogramowane jako wyjście, spowoduje pobór nadmiernego prądu.
Dobra (bezpieczna) konstrukcja wykorzystałaby szeregowy rezystor (1 kΩ) szeregowo z przyciskiem do ograniczenia prądu. Z powodów podanych przez Adama Davisa lepiej jest podłączyć przycisk do uziemienia i zlokalizować rezystor ochronny blisko styku GPIO.
źródło
Nie sądzę, żeby istniał powód, by preferować jedno na drugim na RPi. Większość ludzi prawdopodobnie kopiuje lub przenosi obwody, które widziały gdzie indziej.
Podczas podłączania obwodu (za pomocą przewodów lub płytki drukowanej) dobrze jest wybrać, który z nich jest wygodniejszy i przetłumaczyć go na właściwe znaczenie w oprogramowaniu.
źródło
W dawnych czasach TTL ciągnięcie szpilki na niskim poziomie wymagało znacznie więcej prądu niż jej wysokiego. Tak więc rezystor podciągający może mieć wyższy opór (a zatem mniej marnowania energii) niż rezystor rozwijany. To nie ma znaczenia w przypadku współczesnej pamięci CMOS, ale stare nawyki umierają.
źródło
Podłączenie szpilki do ziemi za pomocą wewnętrznego rezystora podciągającego oznacza, że zużywasz mniej części. Wszystko czego potrzebujesz to przycisk; nie potrzebuję zewnętrznego rezystora, aby ograniczyć prąd.
źródło