Dua skema adalah dua versi layar, katoda umum di bagian atas, anoda umum di bagian bawah. Saya akan menganggap Anda memiliki versi katoda umum.
Anda menghubungkan segmen A..G, DP melalui 8 seri resistor ke 8 I / O pin mikrokontroler. Mengemudi pin tinggi akan menyalakan LED pada digit yang dipilih. Untuk memilih salah satu dari 4 digit Anda membuat katoda umum yang sesuai rendah melalui transistor NPN, yang Anda lagi berkendara dari pin I / O melalui resistor.
Jika tegangan suplai Anda 5 V dan Anda menggunakan LED merah maka Anda dapat menggunakan resistor 150 instead alih-alih 330. Juga kurangi nilai resistor basis transistor menjadi 2,2 kΩ, dan gunakan misalnya BC337 untuk transistor.
Untuk menggerakkan layar penuh, pertama-tama Anda membuat pin 12 rendah dengan menggerakkan transistor-nya dengan level tinggi, dan mengatur I / O untuk segmen-segmen dari digit itu. Beberapa waktu kemudian Anda mengaktifkan pin 12 dan segmen mati, dan mengaktifkan 9, dan lagi segmen untuk digit kedua. Dan seterusnya. Jika Anda beralih dari 1 digit ke yang lain dalam waktu kurang dari 2,5 ms, maka seluruh siklus tampilan pada 10 ms, atau 100 Hz, yang cukup untuk menghindari kedipan yang terlihat.
Anda dapat menggunakan driver Maxim, seperti MAX7219 , tetapi Damn Expensive ™: 12,80 dolar dalam 1 detik di Digikey. Hal yang baik tentang itu adalah bahwa Anda harus menangani multiplexing untuk Anda, jadi Anda hanya perlu memuatnya dengan data segmen untuk 4 digit. Ini juga memiliki kontrol kecerahan perangkat lunak.
Saya memeriksa datasheet PIC16F690 , dan tidak seperti mikrokontroler lainnya, I / Os-nya tampaknya tidak dapat sumber 20 mA (yang mengecewakan). Jadi Anda akan memerlukan transistor pada port 2 juga:
R1 adalah salah satu resistor pada port 2. Jadi Anda memasukkan Q1 dan R2 di antara mereka, dan ulangi untuk masing-masing dari 8 segmen. Perhatian, Q2 adalah PNP! Transistor PNP tujuan umum apa pun akan dilakukan.