Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Halo semua, Saya suka bekerja dengan tampilan LED dengan 7 segmen atau dengan dot matrix dan saya sudah melakukan banyak proyek berbeda dengan mereka.
Setiap kali mereka menarik karena ada semacam keajaiban dalam bagaimana mereka dapat bekerja karena apa yang Anda lihat itu adalah ilusi optik!
Layar memiliki banyak pin untuk koneksi dengan Arduino (atau mikrokontroler lain) dan solusi terbaik adalah menerapkan teknik multiplexing data untuk meminimalkan penggunaan port mereka.
Ketika Anda melakukan ini, setiap segmen atau setiap LED akan menyala selama beberapa saat (milidetik atau kurang), tetapi pengulangannya dalam beberapa kali per detik menciptakan ilusi gambar yang ingin Anda tampilkan.
Bagi saya hal yang paling menarik adalah mengembangkan logika, program untuk mengetahui bagaimana mereka dapat menampilkan informasi yang benar sesuai dengan proyek Anda.
Dalam satu proyek, penggunaan display menuntut banyak waktu untuk merakit semua komponen pada papan tempat memotong roti dengan banyak kabel untuk koneksi.
Saya tahu ada banyak tampilan berbeda di pasar yang berjalan dengan I2C, dengan cara yang disederhanakan (atau tidak), untuk memprogramnya dan saya juga telah menggunakannya, tetapi saya lebih suka bekerja dengan komponen standar seperti 74HC595 (IC multiplekser) dan ULN2803 (driver) karena mereka memberi Anda lebih banyak kontrol dalam program Anda dan juga lebih banyak ketangguhan dan keandalan dalam penggunaan Anda.
Untuk menyederhanakan proses perakitan, saya telah mengembangkan Modul Dipslay LED untuk berbagai tujuan menggunakan komponen sederhana dan umum di dunia Arduino.
Dengan modul ini Anda dapat bekerja dengan dot matrix dengan LED warna ganda dalam dua ukuran standar (lebih besar dan lebih kecil) dan Anda juga dapat mengontrol tampilan 7 Seg x 4 Digit yang sangat umum dan mudah ditemukan di pasaran.
Dan Anda juga dapat bekerja dengan modul-modul ini secara kaskade secara serial (data yang berbeda menjadi tampilan) atau secara paralel (data yang sama menjadi tampilan).
Jadi mari kita lihat bagaimana modul ini dapat bekerja dan membantu Anda dalam perkembangan Anda!
Video (Modul Tampilan LED)
Video (Tes Dot Matrix)
Salam, LAGSILVA
Langkah 1: Komponen
PCB (Papan Sirkuit Cetak)
- 74HC595 (03x)
- ULN2803 (02x)
- Transistor PNP - BC327 (08x)
- Resistor 150 Ohm (16 x)
- Resistor 470 Ohm (08x)
- Kapasitor 100 nF (03x)
- IC Socket 16 pin (03x)
- IC Socket 18 pin (02x)
- Pin konektor perempuan - 6 pin (8 x)
- Pin header 90º (01 x)
- Pin header 180º (01 x)
- Conector Borne KRE 02 pin (02x)
- PCB (01 x) - Diproduksi
Yang lain
- Arduino Uno R3 / Nano / serupa
- Tampilan LED 04 Digit x 7 Segmen - (Common Anode)
- LED Dot Matrix Dual Color (Hijau & Merah) - (Common Anode)
Catatan Penting:
- Saya meletakkan lembar data semua komponen terpenting hanya sebagai referensi tetapi Anda harus memeriksa lembar data komponen Anda sendiri sebelum menggunakannya.
- Papan ini dirancang untuk hanya menggunakan tampilan COMMON ANODE.
Langkah 2: Prototipe Pertama
Prototipe pertama saya dilakukan pada papan tempat memotong roti untuk menguji sirkuit.
Setelah itu saya membuat prototipe lain menggunakan papan universal seperti yang Anda lihat pada gambar.
Papan semacam ini menarik untuk menghasilkan prototipe cepat tetapi Anda menyadari bahwa masih menyimpan banyak kabel.
Ini adalah solusi fungsional tetapi tidak begitu elegan dibandingkan dengan PCB yang diproduksi akhir (yang biru).
Saya tidak pandai menyolder karena saya tidak memiliki pengalaman yang cukup dengan proses ini tetapi bahkan ini saya mendapatkan hasil yang baik dengan kedua pengalaman dan yang lebih penting: Saya tidak membakar komponen apa pun dan tangan saya juga!
Mungkin hasil di papan saya berikutnya akan lebih baik karena latihan.
Karena ini saya mendorong Anda untuk mencoba pengalaman semacam ini karena itu akan sangat baik untuk Anda.
Ingatlah untuk berhati-hati dengan setrika panas dan cobalah untuk tidak menghabiskan lebih dari beberapa detik pada komponen untuk menghindari terbakar !!
Dan terakhir, di Youtube kamu bisa menemukan banyak video tentang menyolder yang bisa kamu pelajari sebelum terjun ke dunia nyata.
Langkah 3: Desain PCB
Saya merancang PCB ini menggunakan perangkat lunak khusus untuk menghasilkan papan lapisan ganda dan dikembangkan beberapa versi berbeda sebelum yang terakhir ini.
Pada awalnya saya memiliki satu versi untuk setiap jenis tampilan dan bagaimanapun saya memutuskan untuk menggabungkan semuanya hanya dalam satu versi.
Target Desain:
- Sederhana dan berguna untuk prototipe.
- Pengaturan yang mudah dan dapat diperluas.
- Mampu menggunakan 3 jenis tampilan yang berbeda.
- Lebar maksimum dot matrix besar LED.
- Panjang maksimum 100 mm untuk meminimalkan biaya produksi papan.
- Terapkan komponen tradisional alih-alih SMD untuk menghindari lebih banyak kesulitan selama proses penyolderan manual.
- Papan harus modular untuk dihubungkan dengan papan lain secara kaskade.
- Output serial atau paralel untuk papan lain.
- Beberapa papan harus dikendalikan oleh Arduino saja.
- Hanya 3 kabel data untuk koneksi Arduino.
- Koneksi daya 5V eksternal.
- Tingkatkan ketahanan listrik dengan menerapkan transistor dan driver (ULN2803) untuk mengontrol LED.
Komentar:
Terkait dengan item terakhir ini, saya sarankan Anda membaca Instructables saya yang lain tentang komponen ini:
Menggunakan Shift Register 74HC595 dengan ULN2803, UDN2981 dan BC327
pembuatan PCB:
Setelah desain selesai, saya mengirimkannya ke produsen PCB di China setelah banyak pencarian dengan pemasok lokal yang berbeda dan di berbagai negara.
Masalah utamanya adalah terkait jumlah papan versus biaya karena saya hanya membutuhkan beberapa papan saja.
Akhirnya saya memutuskan untuk melakukan pemesanan biasa (bukan pesanan kilat karena biaya lebih tinggi) hanya 10 papan dengan sebuah perusahaan di China.
Setelah hanya 3 hari, papan dibuat dan dikirim kepada saya melintasi dunia dalam 4 hari lagi.
Hasilnya luar biasa!!
Dalam satu minggu setelah pesanan pembelian, papan itu ada di tangan saya dan saya sangat terkesan dengan kualitasnya yang tinggi dan kecepatannya yang cepat!
Langkah 4: Pemrograman
Untuk pemrograman, Anda harus mengingat beberapa konsep penting tentang desain perangkat keras dan tentang register geser 74HC595.
Fungsi utama 74HC595 adalah mengubah 8-Bit Serial-In menjadi 8 Parallel-Out Shift.
Semua data serial masuk ke Pin #14 dan pada setiap sinyal clock bit pergi ke pin paralel-out yang sesuai (Qa ke Qh).
Jika Anda terus mengirim lebih banyak data, bit akan dipindahkan satu per satu ke Pin #9 (Qh') sebagai output serial lagi dan karena fungsi ini Anda dapat menempatkan chip lain yang terhubung secara kaskade.
Penting:
Dalam proyek ini kami memiliki tiga IC 74HC595. Dua yang pertama berfungsi untuk mengontrol kolom (dengan logika POSITIF) dan yang terakhir untuk mengontrol saluran (dengan logika NEGATIF karena transistor PNP berfungsi).
Logika positif berarti Anda harus mengirim sinyal level TINGGI (+5V) dari Arduino dan logika Negatif berarti Anda harus mengirim sinyal level RENDAH (0V).
Dot matrix dari LED
- Yang pertama adalah untuk keluaran katoda LED Merah (8 x) >> KOLOM MERAH (1 sampai 8).
- Yang kedua adalah untuk keluaran L katoda LED Hijau (8 x) >> HIJAU KOLOM (1 sampai 8).
- Yang terakhir adalah untuk output anoda dari semua LED (08 x Merah & Hijau) >> GARIS (1 sampai 8).
Misalnya, jika Anda hanya ingin menyalakan LED Hijau kolom 1 dan baris 1, Anda harus mengirimkan urutan data serial berikut:
1º) GARIS
~10000000 (hanya baris pertama yang diaktifkan) - Simbol ~ adalah untuk membalikkan semua bit dari 1 ke 0 dan sebaliknya.
2º) KOLOM Hijau
10000000 (hanya kolom pertama LED Hijau yang menyala)
3º) KOLOM MERAH
00000000 (semua kolom LED Merah mati)
Pernyataan Arduino:
shiftOut(dataPin, clockPin, LSFIRST, ~B10000000); //Logika negatif untuk garis
shiftOut(dataPin, clockPin, LSFIRST, B10000000); //Logika positif untuk kolom Hijau
shiftOut(dataPin, clockPin, LSFIRST, B00000000); //Logika positif untuk kolom Merah
Komentar:
Anda juga dapat menggabungkan kedua LED (Hijau & Merah) untuk menghasilkan warna KUNING sebagai berikut:
shiftOut(dataPin, clockPin, LSFIRST, ~B10000000);
shiftOut(dataPin, clockPin, LSFIRST, B10000000);
shiftOut(dataPin, clockPin, LSFIRST, B10000000);
Tampilan 7 Segmen
Untuk jenis tampilan ini urutannya sama. Satu-satunya perbedaan adalah Anda tidak perlu menggunakan LED Hijau.
1º) DIGIT (1 hingga 4 dari kiri ke kanan) ~10000000 (atur digit #1)
~01000000 (atur angka #2)
~00100000 (atur angka #3)
~00010000 (atur angka #4)
2º) TIDAK DIGUNAKAN
00000000 (semua bit disetel ke nol)
3º) SEGMEN (A hingga F dan DP - periksa lembar data tampilan Anda)
10000000 (setel segmen A)
01000000 (setel segmen B)
00100000 (setel segmen C)
00000000 (set segmen D)
00001000 (setel segmen E)
00000100 (setel segmen F)
00000010 (setel segmen G)
0000001 (set DP)
Contoh Arduino untuk mengatur Tampilan #2 dengan nomor 3:
shiftOut(dataPin, clockPin, LSFIRST, ~B01000000); //Set DISPLAY 2 (Logika negatif)
shiftOut(dataPin, clockPin, LSFIRST, 0); //Mengatur data ke nol (tidak digunakan)
shiftOut(dataPin, clockPin, LSFIRST, B11110010); //Menetapkan segmen A, B, C, D, G)
Akhirnya, dengan menerapkan proses ini, Anda dapat mengontrol LED apa pun pada layar Anda dan juga Anda dapat membuat karakter khusus apa pun yang Anda butuhkan.
Langkah 5: Pengujian
Berikut adalah dua program sebagai contoh fungsionalitas Modul Tampilan.
1) Tampilan hitung mundur (dari 999,9 detik ke nol)
2) Dot Matrix (Digit 0 sampai 9 & Alfabet A sampai Z)
3) Jam Digital RTC dalam Tampilan LED 4 Digit dan 7 Segmen
Yang terakhir ini adalah pembaruan dari Jam Digital versi pertama saya.
Langkah 6: Kesimpulan & Langkah Selanjutnya
Modul ini akan berguna dalam semua proyek masa depan yang menuntut beberapa tampilan LED.
Sebagai langkah selanjutnya saya akan merakit lebih banyak papan untuk bekerja dengan mereka dalam mode kaskade dan saya akan mengembangkan juga perpustakaan untuk lebih menyederhanakan pemrograman.
Saya harap Anda menikmati proyek ini.
Tolong, kirimkan saya komentar Anda karena ini penting untuk meningkatkan proyek dan informasi dari Instructable ini.
Salam, LAGSILVA
26. Mei.2016