Daftar Isi:

Matriks LED Tombol Tekan: 4 Langkah
Matriks LED Tombol Tekan: 4 Langkah

Video: Matriks LED Tombol Tekan: 4 Langkah

Video: Matriks LED Tombol Tekan: 4 Langkah
Video: stb setopbok salah pencet gambar hilang tampil hanya 001 ews, tekan tombol radio diremot STB 2024, November
Anonim
Matriks LED Tombol Tekan
Matriks LED Tombol Tekan

Proyek ini dapat dianggap sebagai proyek pengantar Arduino lain yang sedikit lebih maju daripada proyek 'berkedip LED' khas Anda. Proyek ini menggabungkan matriks LED, tombol tekan, register geser (yang dapat menyimpan pin pada papan Arduino Anda), dan konsep kunci yang disebut multiplexing. Saya harap Anda menemukan tutorial yang mencerahkan dan menantang diri Anda untuk memperbaikinya!

Perlengkapan

(1x) Arduino Uno

(5x) Tombol Tekan Taktil

(2x) 0,1 uF Kapasitor

(2x) 1 uF Kapasitor

(8x) Resistor 1k

(5x) Resistor 10k

(2x) register geser 74HC595

Kabel Jumper

Kawat Hitam

Kabel Merah

Langkah 1: Langkah 1: Membuat Matriks LED

Langkah 1: Membuat Matriks LED
Langkah 1: Membuat Matriks LED
Langkah 1: Membuat Matriks LED
Langkah 1: Membuat Matriks LED
Langkah 1: Membuat Matriks LED
Langkah 1: Membuat Matriks LED

Tutorial yang saya gunakan untuk membuat matriks LED 8x8 dalam proyek ini dapat ditemukan di sini. Ada konfigurasi umum untuk matriks LED:

a) Anoda Baris Umum

b) Katoda Baris Umum

Karena saya menggunakan susunan matriks Common Row Cathode, saya akan membahasnya di sini dan Anda dapat memperluas logika yang sama ke susunan Common Row Anode. Dalam susunan Common Row Cathode, katoda LED (atau terminal negatif yang merupakan kaki yang lebih pendek pada LED) dihubungkan bersama dalam baris sedangkan anoda (atau terminal positif yang merupakan kaki yang lebih panjang pada LED) dihubungkan bersama dalam kolom.. Untuk mengatasi LED tertentu, tarik baris katoda bahwa katoda LED rendah dan tarik kolom anoda yang anoda LEDnya tinggi.

Catatan: Saat membuat matriks LED yang ditunjukkan pada tautan di atas, pastikan untuk menghubungkan kolom anoda dengan resistor 1k ohm sebelum menerapkan sejumlah tegangan ke LED.

Langkah 2: Langkah 2: Menghubungkan Tombol Tekan dan Shift Register

Langkah 2: Menghubungkan Tombol Tekan dan Shift Register
Langkah 2: Menghubungkan Tombol Tekan dan Shift Register
Langkah 2: Menghubungkan Tombol Tekan dan Shift Register
Langkah 2: Menghubungkan Tombol Tekan dan Shift Register
Langkah 2: Menghubungkan Tombol Tekan dan Shift Register
Langkah 2: Menghubungkan Tombol Tekan dan Shift Register
Langkah 2: Menghubungkan Tombol Tekan dan Shift Register
Langkah 2: Menghubungkan Tombol Tekan dan Shift Register

Pengkabelan untuk tombol tekan dan register geser ditunjukkan di atas. Saya ingin mencatat bahwa register geser dalam diagram rangkaian tidak menunjukkan pin ground (pin 8 IC) dan Vcc atau catu daya (pin 16 IC) untuk chip; pin ground terhubung ke pin GND board Arduino dan Vcc terhubung ke pin 5V board Arduino. Pin Vcc dari setiap register geser juga terhubung ke kapasitor 0,1uF yang terhubung ke ground.

Catatan: Keluaran dari setiap register geser terdaftar sebagai QA hingga QH (abaikan QH*). Mereka terdaftar dalam hal bit paling signifikan (LSB) (untuk QA) ke bit paling signifikan (MSB) (untuk QH) yaitu QA akan mengontrol baris atau kolom ke-0, dll.

Langkah 3: Langkah 3: Mengunggah Kode

Kode untuk mengontrol matriks LED dilampirkan pada tutorial ini. Saya mencoba mengomentari kode sebanyak yang saya bisa sehingga akan sangat jelas bagaimana program bekerja. Dasar utama dari program ini adalah adanya matriks yang melacak LED mana yang harus menyala atau mati. Agar berbagai LED ditampilkan dengan benar tanpa sengaja menyalakan dioda yang tidak diinginkan adalah dengan menggunakan konsep yang disebut multiplexing. Multiplexing pada dasarnya menerangi LED individu di baris tertentu sementara semua LED lain di baris lain, kemudian melakukan hal yang sama untuk baris yang tersisa. Triknya adalah jika LED berputar melalui baris dengan cukup cepat, mata Anda dapat mengetahui bahwa masing-masing baris sedang menyala satu per satu. Jika Anda ingin menjelajahi lebih banyak cara untuk menipu mata Anda dengan LED, Anda mungkin ingin melihat konsep kegigihan penglihatan (dapat dicari dengan mudah di Google atau Instructables).

Cara kolom anoda dan baris katoda diperbarui adalah melalui fungsi yang ditentukan pengguna yang disebut 'UpdateShiftRegisters'. Fungsi ini pertama-tama memutar pin latch, yang mengontrol jika byte baru (8 bit) dikirim ke output, rendah sehingga tidak ada perubahan pada output yang mungkin saat bit baru sedang ditulis ke chip. Kemudian menggunakan fungsi Arduino built-in yang disebut 'ShiftOut', yang secara khusus menangani pengiriman data ke register geser, program menulis baris (katoda) mana yang rendah dan kolom (anoda) mana yang harus tinggi. Akhirnya, pin kait ditarik tinggi sehingga untuk memperbarui output (LED).

Langkah 4: Informasi/Sumber Tambahan

Berikut adalah beberapa tautan ke situs web atau buku yang dapat memberikan informasi tambahan mengenai proyek ini:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Memulai dengan Arduino, Edisi ke-2 oleh Massimo Banzi

Direkomendasikan: