Iklan
Raspberry Pi adalah komputer yang sempurna untuk belajar. OS Raspbian yang berbasis Linux memiliki Python bawaan, yang membuatnya menjadi sistem pertama yang hebat untuk coders pemula. Pin General Input Input / Output (GPIO) membuatnya mudah bagi pembuat pemula untuk bereksperimen dengan proyek elektronik DIY.
Terutama mudah ketika Anda menggunakan pustaka kode yang mengontrol pin ini, dan RPi yang populer. Perpustakaan GPIO Python adalah contoh yang sangat baik dari perpustakaan semacam itu. Tetapi apakah ini jalan terbaik untuk pemula? Bergabunglah dengan kami saat kami menyelidiki.
Apa itu GPIO Zero?
Perpustakaan GPIO Zero adalah perpustakaan Python untuk bekerja dengan pin GPIO. Itu ditulis oleh Manajer komunitas Raspberry Pi Ben Nuttall. Ditujukan untuk menjadi intuitif dan "ramah," itu merampingkan kode Python untuk sebagian besar kasus penggunaan Raspberry Pi biasa.
Menggabungkan praktik penamaan yang sederhana dan fungsi deskriptif, GPIO Zero lebih mudah dipahami oleh pemula. Bahkan pengguna berpengalaman dari RPi. Pustaka GPIO mungkin lebih suka — dan untuk memahami alasannya, mari kita lihat bagaimana RPi. GPIO dibandingkan dengan GPIO Zero.
Apa yang Salah Dengan RPi? GPIO?
Tidak ada. 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 dalam hampir setiap proyek pemula 11 Proyek Raspberry Pi Terbaik untuk PemulaProyek Raspberry Pi ini untuk pemula sangat bagus untuk memulai dengan kemampuan dari setiap model Raspberry Pi. Baca lebih banyak kami sudah membahas.
Meskipun penggunaannya luas, RPi. GPIO tidak pernah dirancang untuk pengguna akhir. Ini adalah bukti RPi. Meskipun demikian, desain GPIO yang bagus sehingga masih banyak pemula yang menggunakannya.
Apa yang Baik dari GPIO Zero?
Ketika kamu belajar kode Python, Anda belajar bahwa itu harus mudah dibaca dan sesingkat mungkin. GPIO Zero bertujuan untuk mencakup kedua poin. Dibangun di atas RPi. GPIO sebagai pembungkus bahasa front-end, ini menyederhanakan pengaturan dan penggunaan GPIO.
Pertimbangkan contoh berikut, mengatur dan menyalakan LED:
Kode di atas harus cukup akrab bagi siapa saja yang memilikinya menggunakan Pi mereka untuk mengontrol LED.
RPi. Perpustakaan GPIO diimpor, dan pin untuk LED dinyatakan. Jenis tata letak pin diatur (mode BCM dan BOARD adalah dijelaskan dalam panduan GPIO kami Semua yang Perlu Anda Ketahui Tentang Raspberry Pi GPIO PinsRaspberry Pi adalah komputer kecil yang fantastis, tetapi apa yang tepatnya dilakukan oleh pin GPIO (General Purpose Input / Output)? Singkatnya, mereka membuka seluruh dunia mengutak-atik elektronik dan penemuan DIY. Baca lebih banyak ), dan pin diatur sebagai output. Kemudian, pin dihidupkan.
Pendekatan ini masuk akal, tetapi cara GPIO Zero melakukannya lebih sederhana:
GPIO Zero memiliki modul untuk LED, diimpor sejak awal. Ini berarti Anda dapat mendeklarasikan nomor pin, dan memanggil memimpin() metode.
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". Sedangkan RPi. Pernyataan penyiapan GPIO cukup mudah dimengerti, tidak perlu. LED akan selalu menjadi output, jadi GPIO Zero mengatur pin di belakang layar. Hasilnya hanya tiga baris kode untuk diatur, kemudian menyalakan 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 katakan itu membuat pengguna baru berpikir bahwa semua pin adalah tujuan umum — dan 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 tujuan pin bisa berbahaya. ”
Begini, masuk akal untuk menggunakan nomor BCM. Mengingat bahwa itu GPIO Zero akan menjadi standar dalam dokumentasi Raspberry Pi ke depan, itu layak untuk dipelajari!
Apakah GPIO Nol 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 pengaturan sangat baik untuk pemula dan coders berpengalaman sama. Menulis kode lebih mudah dan cepat.
Di sisi lain, mengetahui dengan tepat apa yang sedang terjadi adalah penting untuk pembelajaran. Ambil contoh pengaturan tombol dari menu Dokumentasi GPIO Zero:
Itu tombol modul menyederhanakan pengaturan untuk tombol push. Ia tahu tombol adalah input, jadi gunakan nomor pin yang dinyatakan untuk pengaturan. Memeriksa tombol tekan juga lebih mudah, dengan .ditampilkan untuk mendeteksi penekanan tombol.
Kami menggunakan fungsionalitas tepat ini di Tutorial tombol Raspberry Pi 2 Cara Menambahkan Tombol ke Proyek Raspberry Pi AndaBagaimana Anda menghubungkan tombol ke Raspberry Pi Anda? Berikut adalah dua cara untuk memulai, ditunjukkan dengan menggunakan Python dan LED. Baca lebih banyak , yang merupakan cara terbaik untuk membiasakan diri dengan perbedaan di perpustakaan.
Pengguna RPi. Pustaka GPIO akan melihat bahwa resistor pull-up / pull-down internal Pi tidak diatur dalam kode. Ini menimbulkan pertanyaan 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 tahu tentang pull up dan pull down itu baik, dan Anda benar — tetapi mengapa saya harus mengajarkan itu pada hari pertama? [...] Jika Anda ingin mengajarkan barang elektronik secara lebih mendalam ada banyak ruang untuk itu — tetapi itu tidak wajib jika Anda baru saja mendapatkan mulai. "
Secara keseluruhan, pendekatan sederhana GPIO Zero kemungkinan merupakan hal yang baik untuk pemula dan veteran. Selain itu, RPi. GPIO tidak ke mana-mana. Itu akan selalu ada untuk beralih kembali jika diperlukan.
Apakah Python Satu-Satunya Opsi?
Python adalah bahasa yang dikenal untuk Pi, tetapi itu bukan satu-satunya pilihan. Jika Anda sudah terbiasa dengan pemrograman dalam bahasa C, maka Wiring Pi sudahkah kamu membahasnya?
Atau, jika Anda sudah memprogram dalam JavaScript, Node.js dapat dengan mudah diinstal pada Pi. Akses GPIO tersedia melalui pustaka rpi-gpio npm. Ruby on Rails juga dapat diinstal pada Raspberry Pi, meskipun Pi mungkin bukan Cara terbaik untuk belajar Rails!
Semua alternatif ini, bersama dengan perpustakaan multi-bahasa seperti yang terbaik pigpio dapat membuat memilih perpustakaan membingungkan. Di sinilah GPIO Zero unggul: untuk pemula yang bertanya-tanya bagaimana dan di mana untuk memulai.
Jika Anda berada pada titik di mana Anda membutuhkan sesuatu yang tidak disediakannya, Anda akan lebih dari siap untuk menyelam ke perpustakaan lain ini sesuai keinginan Anda.
Memulai Dengan GPIO Nol Sendiri
GPIO Zero adalah perpustakaan terbaru untuk membuat percikan untuk Pi dan dengan alasan yang bagus. Bagi sebagian besar pengguna, ini membuat pengodean untuk pin GPIO lebih mudah dibaca dan lebih cepat untuk ditulis.
Mengingat penggunaan Raspberry Pi dalam pendidikan, apa pun yang membuat belajar lebih alami adalah hal yang baik. Sementara rpi. GPIO telah sempurna hingga sekarang, GPIO Zero mengambil ide yang bagus dan membuatnya lebih baik.
Cara yang bagus untuk memulai dengan GPIO Zero adalah dengan mengambil proyek pemula seperti Sensor Pintu Musik Mainkan Tune Theme Anda Sendiri Saat Memasuki Kamar Dengan Raspberry PiPernahkah Anda ingin tiba di rumah untuk menyambut pribadi? Dalam proyek Raspberry Pi yang sederhana ini kita akan menggunakan reed switch untuk memicu nada ketika sebuah pintu dibuka. Baca lebih banyak dan port ke perpustakaan baru.
Ian Buckley adalah jurnalis lepas, musisi, pemain dan produser video yang tinggal di Berlin, Jerman. Ketika dia tidak menulis atau di atas panggung, dia mengutak-atik elektronik atau kode DIY dengan harapan menjadi ilmuwan gila.