在大多數示例中,我都看到了將按鈕連接到GPIO輸入的過程,該按鈕已佈線,因此當閉合時,該引腳和地之間會形成電路,從而在該引腳上產生低電平輸入。上拉電阻用於將輸入值默認設置為高。然後,按下按鈕時,Pi上的代碼可以檢測到低電平。
我一直在將按鈕連接到+ 3.3v,因此信號很高,因為這似乎更有意義,並且可以使代碼保持邏輯性,但是大多數人肯定有理由偏愛接地。有什麼優勢?
在大多數示例中,我都看到了將按鈕連接到GPIO輸入的過程,該按鈕已佈線,因此當閉合時,該引腳和地之間會形成電路,從而在該引腳上產生低電平輸入。上拉電阻用於將輸入值默認設置為高。然後,按下按鈕時,Pi上的代碼可以檢測到低電平。
我一直在將按鈕連接到+ 3.3v,因此信號很高,因為這似乎更有意義,並且可以使代碼保持邏輯性,但是大多數人肯定有理由偏愛接地。有什麼優勢?
之所以偏愛將按鈕和邏輯連接到GND(然後在互聯網上進行複制)的主要原因之一是由於功率優化。
在復雜的電路或依賴電池的電路上,此功率非常寶貴。
其他原因包括EMF生成較低。在無線設備上,將邏輯電平拉高會在極其敏感的RF接收器上引起不必要的串擾。在此類收發器上,有一個用於過濾噪聲的GND平面,這是所有邏輯都下拉到的地方。然後,處理器使用GND平面來過濾開關噪聲。
電氣工程師通常使用電阻將輸入拉高並使用開關將其接地,這有很多複雜的歷史原因。
但是這些原因與Raspberry Pi的業餘愛好並不特別相關。
如果要生產商用產品,或者希望您的設計稍好一些,出於以下實際原因,您將選擇帶接地開關的上拉電阻:
p>嚴格不需要上拉電阻,BMC GPIO具有內部上拉電阻,儘管沒有害處,但當將其編程為輸入時會激活這些上拉電阻。
將GPIO引腳直接連接到3V3或GND。 GPIO是雙向的,如果將其編程為輸入,則不會造成任何問題。另一方面,如果將其編程為輸出會導致消耗過多的電流。
好的(安全)設計將使用與按鈕串聯的串聯電阻(1kΩ)來限制電流。出於亞當·戴維斯(Adam Davis)的原因,最好將按鈕接地,並在GPIO引腳附近放置保護電阻。
我認為在RPi上沒有理由比另一種偏愛。大多數人可能只是在復製或移植他們在其他地方看到的電路。
在連接電路(使用電線或PCB)時,最好選擇較方便的那個並將其翻譯成您所希望的正確含義。軟件。
在TTL的舊時代,拉低引腳的電流要比拉高引腳的電流大得多。因此,上拉電阻器可能比下拉電阻器具有更高的電阻(從而減少了功耗)。現代CMOS無關緊要,但是舊習慣會死掉。
使用內部上拉電阻將引腳接地,意味著您使用的部件更少。您只需要一個按鈕;不需要外部電阻來限制電流。