Pytanie:
Przycisk i rezystor 2700 omów?
Mark Hähnel
2012-09-18 21:01:17 UTC
view on stackexchange narkive permalink

Mam przełącznik i rezystor 2700 omów i chcę odczytać stan za pomocą Pythona. Część kodu nie stanowi dla mnie problemu, ale czy można użyć tych komponentów do połączenia go z GPIO, aby czytać stan? A jak ma wyglądać okablowanie?

Czytałem coś o niektórych Pinach mają wbudowany rezystor podciągający czy coś takiego Czy to znaczy, że nie potrzebuję rezystora do używania przycisku / przełączyć?

Dziękuję! :)

Pozdrowienia, Mark

Dwa odpowiedzi:
#1
+6
John La Rooy
2012-09-18 21:23:21 UTC
view on stackexchange narkive permalink

Oto podstawowa konfiguracja, której potrzebujesz. Jeśli chcesz, możesz używać GPIO z wbudowanymi rezystorami

 3V3 --- o | | >> Rezystor> | | GPIO --- o | | \ Przełącznik \ | | GND --- o 

Możesz także użyć słabych rezystorów pullup / pulldown wewnątrz SoC np..

  // włącz pull-up na GPIO24&25 GPIO_PULL = 2; short_wait (); // zegar na GPIO 24 & 25 (ustawiony bit 24 & 25) GPIO_PULLCLK0 = 0x03000000; short_wait (); GPIO_PULL = 0; GPIO_PULLCLK0 = 0;  

Jeśli używasz wewnętrznego pullup, potrzebujesz tylko tej części

 GPIO --- o | | \ Przełącznik \ | | GND --- o 
@ppumkin, Jeśli nie ma rezystora, wejście będzie pływać i będzie się przełączać losowo, gdy poruszają się wokół niego pola elektryczne. Wartość rezystora nie jest krytyczna.
Ok, dzięki. Ale rezystor 2700ohm jest do tego w porządku?
Co? Jeśli jest zasilany napięciem 3,3 V, to nie płynie .. Użycie rezystora zmniejsza tylko napięcie ... więc jak to eliminuje napięcia pływające? Rozumiem, że schemat pull up lub pull down robi to ... ale myślę, że rezystor inline jest zbędny ...
@Mark, 2700ohm powinno wystarczyć.
@ppumkin, to _jest_ rezystorem podciągającym. Bez tego przełącznik zwarłby 3V3 do GND. Jego zadaniem nie jest zmniejszanie napięcia. Napięcie na GPIO będzie wynosić 3 V3, jeśli przełącznik jest otwarty i 0 V, jeśli przełącznik jest zamknięty
No dobra, rozumiem, że rezystor ma zmniejszać prąd. żeby nie było zwarcia, prawda?
Twoja dyskusja mnie dezorientuje: D więc mogę to zrobić z rezystorem i bez, prawda?
@Mark, _potrzebujesz_ rezystora. Rezystor może być jednym z wbudowanych, jeśli chcesz użyć tych konkretnych pinów.
Więc jeśli używam GPIO 0 (aka Pin 4), mogę podłączyć to w ten sposób: [link] (http://imgur.com/gVr7M) prawda?
@Mark, no, który pokazuje zwarcie od 3V3 do GND, gdy przełącznik jest zamknięty
fajna sztuka ascii: P.
Czy ma znaczenie, czy jest używany jako rezystor pull-up, czy pull-down, czyli czy ma znaczenie dla pinów GPIO w stanie wyjściowym, czy jeżdżą pod napięciem 0 czy + 3,3V?
@andig, naprawdę nie. Często GPIO mogą obniżać prąd nieco lepiej niż mogą go zasilać, ale należy unikać zbliżania się do limitu RPi, aby nie ryzykować ich uszkodzenia.
#2
+1
Krzysztof Adamski
2012-09-18 22:42:05 UTC
view on stackexchange narkive permalink

Zwykle pin GPIO nie jest do niczego podłączony, więc jego wartość nie jest możliwa do niezawodnego wykrycia jego stanu. Mówi się, że ten stan jest zmienny, ponieważ w tym stanie wartość pinu GPIO może się zmieniać w zależności od nieprzewidywalnych zdarzeń zewnętrznych.

Teraz możesz podłączyć przełącznik (lub przycisk Bush) jedną stroną do GPIO pin i jeden do ziemi (GND). W ten sposób, jeśli wciśniesz przycisk, GND zostanie podłączone do GPIO i jego stan będzie niski. Jeśli zwolnisz przycisk, GPIO nie będzie ponownie podłączane do niczego (więc będzie miało stan pływający).

Więc musisz w jakiś sposób sprawić, by GPIO było podłączone do wysokiego napięcia po zwolnieniu przycisku. Nazywa się to podciąganiem, ponieważ gdy to zrobisz, podniesie to napięcie.

Ale jak to zrobić? Musisz podłączyć GPIO do 3,3V. W ten sposób, gdy zwolnisz przycisk, GPIO będzie miało stan wysoki (3,3 V). Jeśli naciśniesz przycisk, zostanie on podłączony zarówno do 3,3 V, jak i do GND. Prąd będzie płynął od 3,3 V do GND pozostawiając GPIO na 0 V (stan niski).

Jest jednak jeden problem. W obwodzie prawie nie ma oporu, więc prąd, który będzie płynął, będzie bardzo istotny (tzw. Zwarcie). To źle. I dlatego potrzebujesz rezystora, rezystora podciągającego. Ograniczy prąd płynący z 3,3 V do pinu GND lub GPIO.

Jak duży powinien być rezystor? Wystarczająco duży, aby ograniczyć prąd do wartości, która nie uszkodzi pinu GPIO, nie spowoduje zamieszania na wejściu na RPi ani nie spowoduje spadku napięcia wejściowego do wartości, która spowoduje ponowne uruchomienie RPi. Jeśli RPi byłby zasilany z baterii, nie chciałbyś również pobierać zbyt dużego prądu, aby bateria działała dłużej. Nie może być jednak za wysoka, ponieważ RPi może mieć problemy z wykryciem wysokiego napięcia na wejściu. Dla pewności załóżmy więc, że jego rezystancję należy mierzyć w kilo omach :)

Teraz powinieneś sobie wyobrazić, czym jest wewnętrzny rezystor podciągający. Jest to mały rezystor wewnątrz chipa, który łączy pin GPIO z wysokim napięciem, którego możesz użyć zamiast podłączać zewnętrzny.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...