Tur dari Raspberry Pi GPIO

01 09

Pengantar Pin Raspberry Pi

Raspberry Pi GPIO. Richard Saville

Istilah 'GPIO' (General Purpose Input Output) tidak eksklusif untuk Raspberry Pi. Pin input dan output dapat ditemukan pada sebagian besar mikrokontroler seperti Arduino, Beaglebone, dan banyak lagi.

Ketika kita berbicara tentang GPIO dengan Raspberry Pi, kita mengacu pada blok panjang pin di sudut kiri atas papan. Model lama memiliki 26 pin, namun sebagian besar dari kita akan menggunakan model saat ini dengan 40.

Anda dapat menghubungkan komponen dan perangkat perangkat keras lainnya ke pin ini, dan menggunakan kode untuk mengontrol apa yang mereka lakukan. Ini adalah bagian penting dari Raspberry Pi dan cara terbaik untuk belajar tentang elektronik.

Setelah beberapa proyek perangkat lunak, Anda mungkin akan menemukan diri Anda bereksperimen dengan pin ini, bersemangat untuk mencampur kode Anda dengan perangkat keras untuk membuat sesuatu terjadi dalam 'kehidupan nyata'.

Proses ini dapat mengintimidasi jika Anda baru ke TKP, dan mengingat bahwa satu gerakan yang salah dapat merusak Raspberry Pi Anda, dapat dimengerti bahwa itu adalah area yang sulit bagi para pemula untuk dijelajahi.

Artikel ini akan menjelaskan apa yang setiap jenis pin GPIO lakukan dan keterbatasan mereka.

02 09

GPIO

Pin GPIO diberi nomor 1 hingga 40, dan dapat dikelompokkan dalam berbagai fungsi. Richard Saville

Pertama, mari kita lihat GPIO secara keseluruhan. Pin mungkin terlihat sama tetapi mereka semua memiliki fungsi yang berbeda. Gambar di atas menunjukkan fungsi-fungsi ini dalam warna berbeda yang akan kami jelaskan dalam langkah-langkah berikut.

Setiap pin diberi nomor mulai dari 1 hingga 40 mulai dari kiri bawah. Ini adalah nomor pin fisik, namun ada juga konvensi penomoran / pelabelan seperti 'BCM' yang digunakan saat menulis kode.

03 09

Power & Ground

Raspberry Pi menawarkan banyak daya dan pin ground. Richard Saville

Merah yang disorot, adalah pin daya berlabel '3' atau '5' untuk 3.3V atau 5V.

Pin ini memungkinkan Anda mengirim daya secara langsung ke perangkat tanpa perlu kode apa pun. Tidak ada cara untuk mematikan ini juga.

Ada 2 rel listrik - 3,3 volt dan 5 volt. Menurut artikel ini, rel 3.3V dibatasi hingga 50mA saat ini, sedangkan rel 5V dapat menyediakan kapasitas arus apa pun yang tersisa dari catu daya Anda setelah Pi mengambil apa yang dibutuhkannya.

Coklat yang disorot adalah ground pin (GND). Pin ini persis seperti yang mereka katakan - pin ground - yang merupakan bagian penting dari setiap proyek elektronik.

(Pin 5V GPIO adalah nomor fisik 2 dan 4. 3.3V pin GPIO adalah nomor fisik 1 dan 17. Pin GPIO tanah adalah angka fisik 6, 9, 14, 20, 25, 30, 34 dan 39)

04 09

Pin Input / Output

Input dan Output pin memungkinkan Anda untuk menghubungkan perangkat keras seperti sensor dan switch. Richard Saville

Pin hijau adalah apa yang saya sebut pin input / output 'generik'. Ini dapat dengan mudah digunakan sebagai input atau output tanpa khawatir tentang bentrokan dengan fungsi lain seperti I2C, SPI atau UART.

Ini adalah pin yang dapat mengirim daya ke LED, buzzer, atau komponen lainnya, atau digunakan sebagai input untuk membaca sensor, switch atau perangkat input lainnya.

Daya keluaran pin ini adalah 3.3V. Setiap pin tidak boleh melebihi 16mA arus, baik tenggelam atau sumber, dan seluruh set pin GPIO tidak boleh melebihi lebih dari 50mA pada satu waktu. Ini dapat bersifat restriktif, jadi Anda mungkin harus kreatif dalam proyek-proyek tertentu.

(Pin GPIO Generik adalah bilangan fisik 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38, dan 40)

05 09

I2C Pins

I2C memungkinkan Anda untuk menghubungkan perangkat lain ke Pi Anda hanya dengan beberapa pin. Richard Saville

Dalam warna kuning, kita memiliki pin I2C. I2C adalah protokol komunikasi yang secara sederhana memungkinkan perangkat untuk berkomunikasi dengan Raspberry Pi. Pin ini juga dapat digunakan sebagai pin GPIO 'generik'.

Contoh penggunaan I2C adalah chip expander MCP23017 port yang sangat populer, yang dapat memberi Anda lebih banyak pin input / output melalui protokol I2C ini.

(I2C GPIO pin adalah nomor pin fisik 3 dan 5)

06 09

Pin UART (Serial)

Hubungkan ke Pi Anda melalui koneksi serial dengan pin UART. Richard Saville

Berwarna abu-abu, adalah pin UART. Pin ini adalah protokol komunikasi lain yang menawarkan koneksi serial, dan juga dapat digunakan sebagai input / output GPIO generik.

Penggunaan favorit saya untuk UART adalah untuk mengaktifkan koneksi serial dari Pi saya ke laptop saya melalui USB. Ini dapat dicapai dengan menggunakan papan add-on atau kabel sederhana dan menghilangkan kebutuhan untuk layar atau koneksi internet untuk mengakses Pi Anda.

(Pin GPIO UART adalah pin fisik angka 8 dan 10)

07 09

SPI Pins

The SPI Pins - protokol komunikasi lain yang bermanfaat. Richard Saville

Dalam warna pink , kami memiliki pin SPI. SPI adalah bus antarmuka yang mengirim data antara Pi dan perangkat keras / periferal lainnya. Ini biasanya digunakan untuk chaining perangkat seperti matriks atau tampilan LED.

Seperti yang lain, pin ini juga dapat digunakan sebagai input / output GPIO generik.

(SPI GPIO pin adalah nomor pin fisik 19, 21, 23, 24 dan 26)

08 09

Pin DNC

Tidak ada yang bisa dilihat di sini - pin DNC tidak berfungsi. Richard Saville

Terakhir adalah dua pin berwarna biru yang, saat ini, diberi label sebagai DNC yang merupakan singkatan dari 'Do Not Connect'. Ini dapat berubah di masa depan jika Raspberry Pi Foundation mengubah papan / perangkat lunak.

(Pin DNC GPIO adalah nomor pin fisik 27 dan 28)

09 09

Konvensi Penomoran GPIO

Portsplus adalah alat yang berguna untuk memeriksa nomor pin GPIO. Richard Saville

Saat mengkodekan dengan GPIO, Anda memiliki pilihan untuk mengimpor perpustakaan GPIO dengan salah satu dari dua cara - BCM atau BOARD.

Pilihan yang saya sukai adalah GPIO BCM. Ini adalah konvensi penomoran Broadcom dan saya menemukan bahwa itu digunakan lebih umum di seluruh proyek dan hardware add-ons.

Pilihan kedua adalah GPIO BOARD. Metode ini menggunakan nomor pin fisik sebagai gantinya, yang berguna ketika menghitung pin, tetapi Anda akan menemukan itu digunakan lebih sedikit dalam contoh proyek.

Mode GPIO diatur saat mengimpor perpustakaan GPIO:

Untuk mengimpor sebagai BCM:

impor RPi.GPIO sebagai GPIO GPIO.setmode (GPIO.BCM)

Untuk mengimpor sebagai BOARD:

impor RPi.GPIO sebagai GPIO GPIO.setmode (GPIO.BOARD)

Kedua metode ini melakukan pekerjaan yang persis sama, hanya masalah pemilihan nomor.

Saya secara teratur menggunakan papan label GPIO yang praktis seperti RasPiO Portsplus (foto) untuk memeriksa pin yang saya hubungkan dengan kabel juga. Satu sisi menunjukkan konvensi penomoran BCM, yang lainnya menunjukkan BOARD - jadi Anda tertutup untuk setiap proyek yang Anda temukan.