Mengapa GPIO Zero Lebih Baik Daripada RPi.GPIO untuk Proyek Raspberry Pi

Mengapa GPIO Zero Lebih Baik Daripada RPi.GPIO untuk Proyek Raspberry Pi

Raspberry Pi adalah komputer yang sempurna untuk belajar. Raspbian OS berbasis Linux memiliki Python bawaan, yang menjadikannya sistem pertama yang bagus untuk pembuat kode pemula. Pin General Purpose Input/Output (GPIO) memudahkan pembuat pemula untuk bereksperimen dengan proyek elektronik DIY.





Ini sangat mudah ketika Anda menggunakan pustaka kode yang mengontrol pin ini, dan pustaka Python RPi.GPIO yang populer adalah contoh yang sangat baik dari pustaka semacam itu. Tapi apakah ini jalan terbaik untuk pemula? Bergabunglah dengan kami saat kami menyelidiki.





Apa itu GPIO Nol?

Pustaka GPIO Zero adalah pustaka Python untuk bekerja dengan pin GPIO. Itu ditulis oleh Manajer komunitas Raspberry Pi Ben Nuttall . Ditujukan untuk menjadi intuitif dan 'ramah', ini merampingkan kode Python untuk sebagian besar kasus penggunaan Raspberry Pi biasa.





Menggabungkan praktik penamaan sederhana dan fungsi deskriptif, GPIO Zero lebih mudah dipahami oleh pemula. Bahkan pengguna perpustakaan RPi.GPIO yang berpengalaman mungkin lebih menyukainya --- dan untuk memahami alasannya, mari kita lihat bagaimana RPi.GPIO dibandingkan dengan GPIO Zero.

Ada Apa Dengan RPi.GPIO?

Tidak. Tidak ada sama sekali. RPi.GPIO dirilis pada awal 2012 oleh pengembang Ben Croston. Ini adalah perpustakaan yang kuat yang memungkinkan pengguna untuk mengontrol pin GPIO dari kode. Ini fitur di hampir setiap proyek pemula kami telah membahas.



cara mengetahui sejarah rumah Anda

Meskipun penggunaannya ekstensif, RPi.GPIO tidak pernah dirancang untuk pengguna akhir. Ini adalah bukti desain RPi.GPIO yang bagus sehingga banyak pemula yang menggunakannya.

Apa Kelebihan GPIO Zero?

Ketika kamu belajar kode Python , Anda belajar bahwa itu harus mudah dibaca dan sesingkat mungkin. GPIO Zero bertujuan untuk mencakup kedua poin tersebut. Dibangun di atas RPi.GPIO sebagai pembungkus bahasa front-end, ini menyederhanakan pengaturan dan penggunaan GPIO.





Perhatikan contoh berikut, menyiapkan dan menyalakan LED:

Kode di atas seharusnya cukup familiar bagi siapa saja yang memiliki menggunakan Pi mereka untuk mengontrol LED .





Pustaka RPi.GPIO diimpor, dan pin untuk LED dideklarasikan. Jenis tata letak pin diatur (mode BCM dan BOARD adalah dijelaskan dalam panduan GPIO kami ), dan pin diatur sebagai output. Kemudian, pin dihidupkan.

Pendekatan ini masuk akal, tetapi cara GPIO Zero melakukannya jauh lebih sederhana:

GPIO Zero memiliki modul untuk LED, yang diimpor di awal. Ini berarti Anda dapat mendeklarasikan nomor pin, dan memanggil memimpin() metode.

perbedaan antara desktop dan server ubuntu

Mengapa Pendekatan GPIO Zero Lebih Baik?

Ada beberapa alasan mengapa metode kerja ini merupakan peningkatan pada RPi.GPIO.

Pertama, memenuhi persyaratan 'mudah dibaca, sesingkat mungkin'. Meskipun pernyataan penyiapan RPi.GPIO cukup mudah untuk dipahami, itu tidak perlu. LED akan selalu menjadi output, jadi GPIO Zero menyiapkan pin di belakang layar. Hasilnya hanya tiga baris kode yang harus disiapkan, lalu nyalakan LED.

Anda mungkin memperhatikan bahwa tidak ada pengaturan mode papan dalam contoh GPIO Zero. Perpustakaan hanya menggunakan penomoran Broadcom (BCM) untuk pin. Perancang perpustakaan Ben Nuttall menjelaskan alasannya di tahun 2015 Wawancara RasPi.tv :

'Penomoran PAPAN mungkin tampak lebih sederhana tetapi saya akan mengatakan itu membuat pengguna baru berpikir semua pin adalah tujuan umum --- dan sebenarnya tidak. Hubungkan LED ke pin 11, mengapa tidak menghubungkan lagi ke pin 1, 2, 3 dan 4? Nah 1 adalah 3V3. 2 dan 4 adalah 5V. Kurangnya kesadaran tentang apa tujuan dari pin itu bisa berbahaya.'

Dengan cara ini, sangat masuk akal untuk menggunakan nomor BCM. Mengingat bahwa GPIO Zero akan menjadi standar dalam dokumentasi Raspberry Pi di masa mendatang, ini layak untuk dipelajari!

Apakah GPIO Zero Sebenarnya Lebih Baik?

Meskipun tampaknya lebih mudah di permukaan, apakah perpustakaan baru memiliki masalah? Seperti halnya perpustakaan pengkodean baru, ini adalah masalah pendapat. Di satu sisi, menghapus kode penyiapan sangat baik untuk pemula dan pembuat kode berpengalaman. Menulis kode lebih mudah dan lebih cepat.

Di sisi lain, mengetahui persis apa yang sedang terjadi adalah penting untuk belajar. Ambil contoh pengaturan tombol dari Dokumentasi GPIO Nol :

NS tombol modul menyederhanakan pengaturan untuk tombol tekan. Ia tahu tombol adalah input, jadi gunakan nomor pin yang dideklarasikan untuk pengaturan. Memeriksa penekanan tombol juga lebih mudah, dengan .is_pressed untuk mendeteksi penekanan tombol.

Kami menggunakan fungsi yang tepat ini di Tutorial tombol Raspberry Pi , yang merupakan cara yang bagus untuk membiasakan diri Anda dengan perbedaan di perpustakaan.

Pengguna perpustakaan RPi.GPIO akan melihat bahwa resistor pull-up/pull-down internal dari Pi tidak diatur dalam kode. Hal ini menimbulkan pertanyaan yang menarik. Apakah penting bagi pemula untuk mengetahui tentang resistor pull-up/down? Sekali lagi, Ben Nuttall memiliki jawaban untuk pertanyaan ini:

'Anda mungkin berpendapat bahwa mengetahui tentang pull up dan pull down itu baik, dan Anda akan benar---tetapi mengapa saya harus mengajarkan itu pada hari pertama?[...] Jika Anda ingin mengajarkan elektronika di lebih mendalam ada banyak ruang untuk itu --- tetapi seharusnya tidak wajib jika Anda baru memulai.'

Secara keseluruhan, pendekatan sederhana dari GPIO Zero kemungkinan merupakan hal yang baik untuk pemula dan veteran. Selain itu, RPi.GPIO tidak akan kemana-mana. Itu akan selalu ada untuk beralih kembali jika diperlukan.

Apakah Python Satu-satunya Pilihan?

Python adalah bahasa Pi dikenal, tapi itu bukan satu-satunya pilihan. Jika Anda sudah terbiasa dengan pemrograman dalam bahasa C, maka Kabel Pi telah Anda tutupi.

Atau, jika Anda sudah memprogram dalam JavaScript, Node.js dapat dengan mudah diinstal pada Pi. Akses GPIO tersedia melalui perpustakaan rpi-gpio npm . Ruby on Rails juga dapat diinstal pada Raspberry Pi, meskipun Pi mungkin bukan cara terbaik untuk mempelajari Rails!

Semua alternatif ini, bersama dengan perpustakaan multi-bahasa seperti yang luar biasa murah dapat membuat memilih perpustakaan membingungkan. Di sinilah keunggulan GPIO Zero: untuk pemula yang bertanya-tanya bagaimana dan dari mana harus memulai.

Jika Anda berada pada titik di mana Anda membutuhkan sesuatu yang tidak disediakannya, Anda akan lebih dari siap untuk menyelami perpustakaan lain ini dengan kecepatan Anda sendiri.

Memulai Dengan GPIO Zero Sendiri

GPIO Zero adalah perpustakaan terbaru untuk membuat percikan untuk Pi dan dengan alasan yang bagus. Bagi sebagian besar pengguna, ini membuat pengkodean untuk pin GPIO lebih mudah dibaca dan lebih cepat untuk ditulis.

paket amazon terkirim tetapi tidak ada

Mengingat penggunaan Raspberry Pi dalam pendidikan, apa pun yang membuat belajar lebih alami adalah hal yang baik. Sementara RPi.GPIO telah sempurna sampai sekarang, GPIO Zero mengambil ide yang baik dan membuatnya lebih baik.

Cara yang bagus untuk memulai dengan GPIO Zero adalah dengan mengambil proyek pemula seperti Sensor Pintu Musik dan memindahkannya ke perpustakaan baru.

Membagikan Membagikan Menciak Surel 5 Tips untuk Meningkatkan Mesin VirtualBox Linux Anda

Bosan dengan kinerja buruk yang ditawarkan oleh mesin virtual? Inilah yang harus Anda lakukan untuk meningkatkan kinerja VirtualBox Anda.

Baca Selanjutnya
Topik-topik yang berkaitan
  • buatan sendiri
  • Pemrograman
  • Raspberry Pi
  • Python
  • GPIO
Tentang Penulis Ian Buckley(216 Artikel Diterbitkan)

Ian Buckley adalah jurnalis lepas, musisi, pemain, dan produser video yang tinggal di Berlin, Jerman. Ketika dia tidak menulis atau di atas panggung, dia bermain-main dengan elektronik atau kode DIY dengan harapan menjadi ilmuwan gila.

More From Ian Buckley

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan