Pada sebagian besar contoh, saya telah melihat tombol pengkabelan untuk input GPIO, tombol tersebut dikabel sehingga ketika ditutup, rangkaian diselesaikan antara pin dan ground, menghasilkan input rendah pada pin. Sebuah resistor pull-up digunakan untuk mengatur nilai input menjadi tinggi. Kode pada Pi kemudian dapat mendeteksi rendah sebagai tombol.
Saya telah menghubungkan tombol ke + 3.3v sehingga sinyalnya tinggi karena ini tampaknya lebih masuk akal dan membuat kode lebih logis tetapi pasti ada alasan mengapa kebanyakan orang lebih suka menghubungkan ke ground. Apa kelebihannya?
gpio
electronics
howard10
sumber
sumber
Jawaban:
Salah satu alasan utama mengapa tombol kabel dan logika untuk GND lebih disukai (dan kemudian disalin di internet) adalah karena pengoptimalan daya.
Pada sirkuit kompleks atau sirkuit yang mengandalkan baterai, daya ini sangat berharga.
Alasan lain termasuk generasi EMF rendah. Pada Perangkat nirkabel yang menarik logika tinggi akan menyebabkan cross talk yang tidak perlu pada penerima RF yang sangat sensitif. Pada transceiver semacam itu ada pesawat GND yang digunakan untuk memfilter noise dan disinilah semua logika diturunkan. Prosesor kemudian menggunakan pesawat GND untuk menyaring suara yang berpindah.
sumber
0v = 0watts
penggunaan, tetapi menarik pin ke atas>0watts
- apa pun, mikro, mili, nano, tidak masalah. Seperti disebutkan, pada daya baterai setiap nano watt membantu. Tapi seperti yang sudah dijawab di sini ... pada USB itu tidak ada artinya. Apakah saya salah?Ada alasan historis yang rumit mengapa insinyur kelistrikan biasanya menarik input tinggi dengan resistor, dan menggunakan sakelar untuk mengardekannya.
Namun alasan ini tidak terlalu relevan dengan hobi penggunaan Raspberry Pi. Gunakan apa pun yang masuk akal bagi Anda.
Jika Anda membuat produk komersial, atau ingin desain Anda menjadi sedikit lebih baik, Anda akan memilih pull-up dengan grounding switch untuk alasan praktis berikut:
sumber
Secara ketat tidak perlu untuk resistor pull-up, GPIO BMC memiliki resistor pull-up internal yang diaktifkan ketika diprogram sebagai input, meskipun tidak ada salahnya.
Ini adalah praktik yang buruk untuk menghubungkan pin GPIO langsung ke 3V3 atau GND. GPIO bersifat dua arah, dan jika diprogram sebagai input, ini tidak akan menimbulkan masalah. Di sisi lain jika diprogram sebagai output akan menyebabkan arus berlebih ditarik.
Desain yang baik (aman) akan menggunakan resistor seri (1 kΩ) secara seri dengan tombol untuk membatasi arus. Untuk alasan yang dibuat oleh Adam Davis, lebih disukai untuk menghubungkan tombol ke ground, dan menemukan resistor pelindung dekat dengan pin GPIO.
sumber
Saya tidak berpikir ada alasan untuk memilih satu daripada yang lain di RPi. Kebanyakan orang mungkin hanya menyalin atau porting sirkuit yang mereka lihat di tempat lain.
Saat menghubungkan rangkaian (dengan kabel atau PCB) tidak apa-apa untuk memilih yang mana yang lebih nyaman dan menerjemahkannya ke makna yang tepat dalam perangkat lunak Anda.
sumber
Di masa lalu TTL butuh lebih banyak saat ini untuk menarik pin rendah daripada menariknya tinggi. Jadi resistor pullup bisa menjadi resistansi yang lebih tinggi (dan karenanya lebih sedikit pemborosan daya) dibandingkan resistor pull-down. Itu tidak masalah dengan CMOS modern tetapi kebiasaan lama sulit.
sumber
Menghubungkan pin ke ground dengan resistor pullup internal berarti Anda menggunakan lebih sedikit bagian. Yang Anda butuhkan hanyalah sebuah tombol; tidak perlu resistor eksternal untuk membatasi arus.
sumber