Saya bertanya-tanya apakah mungkin untuk menghubungkan 8 individu RGB dipimpin seperti strip Adafruit . Saya melihat proyek Pumpkin Pi dan ingin membangunnya. Saya tidak memiliki LED kuning atau merah, tetapi memiliki persediaan RGB yang kecil.
Aku tahu Arduino saya akan menggunakan 270ohm resistor untuk katoda RGB dan mengontrol setiap kecerahan oleh skala 0
untuk 255
.
Apakah ada cara untuk melakukan ini pada Raspberry Pi?
Memperbarui
Jadi saya sudah melihat lebih dalam lagi. Saya mengambil ide teman-teman Anda menggunakan TLC5940
Driver LED.
Jadi sekarang saya meminta bantuan lagi. Saya pikir 1 pertanyaan panjang yang akhirnya memecahkan ini lebih baik daripada banyak yang tersebar di seluruh stackexchange. Sekarang sampai pada bagian pengkabelan. Saya menggunakan tutorial pengkabelan Arduino sebagai permulaan karena saya jauh di atas kepala saya. Saya juga merujuk pada lembar data . Menurut diagram pin 27 or VPRG
membingungkan saya. Diagram Arduino telah di-ground-kan, jadi saya grounding. . . Bagaimana cara menghubungkan ini dengan benar ke pi? Saya juga menduga saya perlu resistor juga ...
Maaf jika ini terdengar sangat bodoh, tapi saya benar-benar pemula dalam hal ini. Anda harus belajar merangkak sebelum bisa berjalan.
Apa yang harus saya lakukan untuk memperbaiki diagram pengkabelan ini ( fritzing )?
File fzz kabel dapat diunduh dari google di sini .
Perbarui 2 - setelah komentar
Dengan mempertimbangkan beberapa jawaban dan komentar ini akan menjadi diagram pengkabelan lalu? 330ohm ke anoda. 2k ohm untuk disematkan 20
. Bagaimana input masuk dari pi ke chip?
Jawaban:
Saya melihat dua hal yang harus diatasi dalam pertanyaan ini:
Bagaimana menghubungkan dan berkomunikasi dengan TLC5940
Cara menghubungkan LED hingga TLC5940 .
Untuk bagian pertama, Anda harus menghubungkannya ke pin i2c pada header P1 Raspberry Pi (yang merupakan pin 3 (data) dan 5 (jam)). Anda kemudian dapat menggunakan pin 1 (3.3 V) untuk VCC dari TLC5940 . Ini merekomendasikan dari 3 V hingga 5.5 V untuk input menurut datasheet. Anda juga ingin menghubungkan pin ground dari P1 (misalnya pin 5) ke GND dari TLC5940 . Dan Anda akan membutuhkan GPIO tambahan (mis. Pin 7) untuk terhubung ke sinyal XLAT TLC5940 untuk mengunci nilai register geser.
Maka Anda perlu mengatur Pi untuk komunikasi i2c: dengan asumsi raspbian, hapus
i2c-bcm2708
dari/etc/modprobe.d/raspi-blacklist.conf
, muat dani2c-dev
dan Anda harus mendapatkan/dev/i2c-0
dan/dev/i2c-1
(i2c-1
itulah yang akan Anda gunakan untuk Model B Rev. 2 Pis).Terakhir, Anda harus menggunakan transaksi i2c untuk mengatur nilai register geser internal, dan kemudian memberi sinyal XLAT (jika menggunakan pin 7, itu GPIO 4).
Saya juga mengabaikan pin GSCLK. Anda harus memberikan input jam sehingga penghitung internal benar-benar bertambah, yang dapat dilakukan dari jalur GPIO lain jika dikonfigurasi dengan benar. Saya juga tidak berpikir 3,3 V rail akan memberikan arus yang cukup untuk aplikasi ini ( 50 mA max ). Jika Anda pindah ke rel 5 V, Anda dapat menggambar hingga ~ 300 mA , tetapi harus menggunakan logika 5 V untuk i2c lalu (dan GSCLK), yang membutuhkan lebih banyak komponen.
Untuk bagian kedua, kedengarannya seperti Anda yang menangani proyek Arduino sebelumnya, kecuali saya salah baca?
sumber
Iya. Anda akan menggunakan pin GPIO dalam mode PWM untuk mengontrol setiap skala kecerahan. Contoh pengkabelan dari wiring.org.co . Utilitas & panduan GPIO dari Gordons Project adalah tempat lain untuk memulai
Edit
Seperti yang ditunjukkan oleh Alex Chamberlain , hanya satu pin GPIO yang mendukung PWM. Anda dapat menggunakan perangkat lunak untuk mencapai PWM pada pin GPIO lainnya. Info & contoh untuk C & Python .
Ini mungkin berlebihan, karena proyek Pumpkin Pi hanya membutuhkan cahaya oranye. Jika Anda memiliki persediaan RGB, dan waktu untuk bereksperimen, Anda dapat menerangi satu warna LED pada RGB & mencampurnya dengan yang lain untuk menghasilkan warna tersier. Rasio 2 bagian merah untuk 1 bagian hijau akan muncul sebagai oranye. Beralih setengah dari LED merah akan membuat ilusi oranye berkedip menjadi kuning. Tapi itu teori warna ; yang belum saya coba.
sumber
Sesuatu seperti TLC5940 adalah cara yang baik untuk menggerakkan beberapa LED PWM
Lihat juga TCA6507 di appnote "Programming fun lights" , meskipun tidak tersedia di DIP
Sunting: Tidak apa-apa untuk menjaga pin VPRG pada TLC5940 terhubung ke ground. Ini berarti bahwa Anda tidak dapat menggunakan "koreksi titik" untuk mengkompensasi variasi dalam LED Anda. Jika Anda memiliki banyak LED dan Anda ingin menuju tingkat kerumitan berikutnya, Anda dapat menggunakan koreksi titik untuk membuatnya menyala secara merata.
2k resistor pada pin 20 diperlukan untuk mengatur arus keluaran.
LED biasa biasanya 20mA, sehingga rumus memberikan 2k untuk resistorsumber
Ini adalah limpahan yang sangat membantu yang dilakukan seseorang tentang cara menggunakan TLC5940 dengan AVR: https://sites.google.com/site/artcfox/demystifying-the-tlc5940
Ini cukup membantu untuk belajar tentang proses belajar cara menulis kode yang bekerja dengan TLC5940.
Versi pertama dari kode contoh cukup umum. Saya sedang berusaha mengubah semua pernyataan #define dan fungsi tingkat rendah menjadi sesuatu yang akan bekerja pada Raspberry Pi.
sumber