Saya berhasil menyelesaikan "hello world" perangkat keras menggunakan panduan ini:
http://www.raspberrypi-spy.co.uk/2012/06/control-led-using-gpio-output-pin/
Sekarang saya ingin beralih ke hal-hal yang lebih besar dan lebih terang, yaitu LED yang dikendalikan secara individual! Jelas, langkah selanjutnya adalah memindahkan sumber tegangan dari Raspberry Pi dan menambahkan lebih banyak LED, tetapi pada akhirnya saya akan kehabisan pin GPIO, jadi saya kira apa yang saya butuhkan sekarang adalah untuk mengontrol sirkuit yang entah bagaimana akan tahu , berdasarkan "sinyal kode" GPIO, apa LED untuk menghidupkan dan mematikan. Contoh rangkaian seperti apa yang harus saya cari? Dan yang lebih penting berhadapan langsung dengan Raspberry Pi, bisakah atau rpi.gpio menyebabkan masalah, mungkin mengenai waktu sinyal?
Jawaban:
Apa yang Anda cari dalam hal ini adalah matriks LED . Anda dapat mengontrol matriks ini dari pin GPIO, tetapi itu masih membatasi jumlah LED yang dapat Anda hubungkan (ukuran matriks) dan mungkin juga mulai menarik arus terlalu banyak jika Anda tidak hati-hati.
Pilihan yang lebih baik adalah menghubungkan matriks LED ke bus I2C, menggunakan satu atau beberapa I / O I extender. Dengan begitu Anda dapat membuat matriks ukuran besar (64 LED misalnya dapat dilakukan dengan ONE 16 bit I / O extender). Alasan lain untuk menggunakan extender I / O ini adalah bahwa mereka sedikit lebih kuat, dapat memberikan arus lebih sedikit, dan menjaga CPU utama Anda dari bahaya.
Di situs ini, ekstensi I / O ini dibahas berkali-kali, jadi Anda harus dapat menemukan info tentang ini dengan cukup mudah. Tautan ini memberikan beberapa info tentang extender dan matriks ini (meskipun digunakan untuk input, tetapi pada dasarnya itu adalah ide yang sama tetapi Anda tidak menggunakan matriks untuk memindai tetapi untuk mengarahkan LED)
Hanya persyaratan tambahan untuk membuat matriks yang berfungsi dengan baik adalah Anda harus membuat matriks tidak lebih besar dari itu maka RPi dapat memperbarui setiap LED individu setidaknya 20 kali setiap detik, jika tidak, Anda akan mulai melihat kedipan, tetapi ini juga dijelaskan di tautan pertama (paragraf "Multiplexing dan Persistence of Vision").
sumber
Saya telah menggunakan MCP23017 I²C port expander untuk melakukan hal semacam ini. Ikuti tautan ini untuk menemukan beberapa kode sampel untuk raspberry pi. Anda dapat mengemudikan 16 LED per chip dan 8 chip tanpa perlu melakukan multiplexing apa pun.
sumber