- Modul Tampilan 7-Segmen dan 4-Digit 7-Segmen:
- Menghubungkan modul 4-digit 7-segmen dengan Raspberry Pi:
- Memprogram Raspberry Pi Anda:
- Menampilkan waktu pada 4-Digit 7-segmen menggunakan Raspberry Pi:
Kita semua tahu bahwa Raspberry Pi adalah platform Pengembangan yang luar biasa berdasarkan mikroprosesor ARM. Dengan daya komputasi yang tinggi, perangkat ini dapat menghasilkan keajaiban di tangan penggemar atau pelajar elektronik. Semua ini hanya mungkin jika kita tahu bagaimana membuatnya berinteraksi dengan dunia nyata dan menganalisis data melalui beberapa perangkat keluaran. Ada banyak sensor yang dapat mendeteksi parameter tertentu dari dunia real time dan mentransfernya ke dunia digital dan kami menganalisisnya untuk melihatnya baik di layar LCD atau tampilan lainnya. Namun, akan selalu tidak ekonomis menggunakan layar LCD dengan PI untuk menampilkan data dalam jumlah kecil. Di sinilah kami lebih suka menggunakan tampilan LCD Alfanumerik 16x2 atau tampilan 7-Segmen. Kami telah mempelajari cara menggunakan LCD Alfanumerik dan tampilan segmen 7 segmen tunggal dengan Raspberry pi. Hari ini kita akan melakukannyaAntarmuka Modul Tampilan Tujuh Segmen 4-digit dengan Raspberry Pi dan menampilkan Waktu di atasnya.
Meskipun LCD Alfanumerik 16x2 jauh lebih nyaman daripada layar 7-segmen, ada beberapa skenario di mana tampilan 7-segmen akan lebih praktis daripada layar LCD. LCD mengalami kekurangan karena memiliki ukuran karakter yang rendah dan akan berlebihan untuk proyek Anda jika Anda hanya berencana untuk menampilkan beberapa nilai numerik. 7-segmen juga memiliki keunggulan terhadap kondisi pencahayaan yang buruk dan dapat dilihat dari sudut lager dibandingkan layar LCD biasa. Jadi, mari kita mulai mengetahuinya.
Modul Tampilan 7-Segmen dan 4-Digit 7-Segmen:
7 Tampilan Segmen memiliki tujuh segmen di dalamnya dan setiap segmen memiliki satu LED di dalamnya untuk menampilkan angka dengan menerangi segmen yang sesuai. Seperti jika Anda ingin 7-segmen menampilkan angka "5" maka Anda perlu memancarkan segmen a, f, g, c, dan d dengan membuat tinggi pin yang sesuai. Ada dua jenis tampilan 7 segmen: Common Cathode dan Common Anode, di sini kami menggunakan tampilan tujuh segmen Common Cathode. Pelajari lebih lanjut tentang tampilan 7 segmen di sini.
Sekarang kita tahu bagaimana menampilkan karakter numerik yang kita inginkan pada satu tampilan 7-segmen. Namun, sangat jelas bahwa kita membutuhkan lebih dari satu tampilan 7-segmen untuk menyampaikan informasi yang lebih dari satu digit. Jadi, dalam tutorial ini kita akan menggunakan 4-digit 7-Segment Display Module seperti yang ditunjukkan di bawah ini.
Seperti yang bisa kita lihat, ada Four Seven Segment Display yang terhubung bersama. Kita tahu bahwa setiap modul 7-segmen akan memiliki 10 pin dan untuk 4 tampilan tujuh segmen akan ada total 40 pin dan akan sangat sibuk bagi siapa pun untuk menyoldernya di papan titik, jadi saya akan sangat menyarankan siapa pun untuk membeli modul. atau buat PCB Anda sendiri untuk menggunakan tampilan 4-digit 7-segmen. Skema koneksi untuk hal yang sama ditunjukkan di bawah ini:
Untuk memahami cara kerja modul tujuh segmen 4-digit, kita harus melihat skema di atas, seperti yang ditunjukkan, pin A dari keempat layar dihubungkan untuk berkumpul sebagai satu A dan sama untuk B, C…. hingga DP. Jadi, pada dasarnya jika trigger A aktif, maka keempat A harus naik kan?
Tapi, itu tidak terjadi. Kami memiliki empat pin tambahan dari D0 ke D3 (D0, D1, D2 dan D3) yang dapat digunakan untuk mengontrol tampilan mana dari empat yang harus menjadi tinggi. Sebagai contoh: Jika saya ingin keluaran saya hanya ada di tampilan kedua maka hanya D1 yang harus dibuat tinggi sambil menjaga pin lain (D0, D2, dan D3) tetap rendah. Secara sederhana kita dapat memilih tampilan mana yang harus aktif menggunakan pin dari D0 hingga D3 dan karakter apa yang akan ditampilkan menggunakan pin dari A ke DP.
Menghubungkan modul 4-digit 7-segmen dengan Raspberry Pi:
Mari kita lihat caranya, bagaimana kita dapat menghubungkan modul 4-digit 7-segmen ini dengan Raspberry Pi kita. Modul 7-segmen memiliki 16 pin seperti yang ditunjukkan di bawah ini. Modul Anda mungkin memiliki lebih sedikit, tetapi jangan khawatir itu akan tetap memiliki yang berikut ini
- 7 atau 8 segmen pin (disini pin mulai dari 1 sampai 8)
- Pin ground (di sini pin 11)
- 4 digit pin (disini pin 13 sampai 16)
Di bawah ini diberikan skema untuk jam digital raspberry pi dengan menghubungkan modul tampilan Seven segment 4 digit dengan Raspberry Pi:
Tabel berikut juga akan membantu Anda dalam membuat koneksi dan memverifikasinya sesuai dengan skema yang ditunjukkan di atas.
S.No |
Nomor Rsp Pi GPIO |
Nomor PIN Rsp Pi |
Nama 7-Segmen |
Nomor pin 7-Seg (di sini, di modul ini) |
1 |
GPIO 26 |
PIN 37 |
Segmen a |
1 |
2 |
GPIO 19 |
PIN 35 |
Segmen b |
2 |
3 |
GPIO 13 |
PIN 33 |
Segmen c |
3 |
4 |
GPIO 6 |
PIN 31 |
Segmen d |
4 |
5 |
GPIO 5 |
PIN 29 |
Segmen e |
5 |
6 |
GPIO 11 |
PIN 23 |
Segmen f |
6 |
7 |
GPIO 9 |
PIN 21 |
Segmen g |
7 |
8 |
GPIO 10 |
PIN 19 |
Segmen DP |
8 |
9 |
GPIO 7 |
PIN 26 |
Angka 1 |
13 |
10 |
GPIO 8 |
PIN 24 |
Angka 2 |
14 |
11 |
GPIO 25 |
PIN 22 |
Angka 3 |
15 |
12 |
GPIO 24 |
PIN 18 |
Angka 4 |
16 |
13 |
Tanah |
Tanah |
Tanah |
11 |
Identifikasi pin pada modul Anda dan Anda semua baik-baik saja untuk melanjutkan koneksi. Melihat pin GPIO di Raspberry pi mungkin merupakan tugas yang sedikit menantang jadi saya telah memberikan gambar ini untuk GPIO Pin.
Memprogram Raspberry Pi Anda:
Di sini kami menggunakan bahasa Pemrograman Python untuk pemrograman RPi. Ada banyak cara untuk memprogram Raspberry Pi Anda. Dalam tutorial ini kami menggunakan Python 3 IDE, karena itu yang paling banyak digunakan. Program Python lengkap diberikan di akhir tutorial ini. Pelajari lebih lanjut tentang Program dan jalankan kode di Raspberry Pi di sini.
Kami akan berbicara tentang beberapa perintah yang akan kami gunakan dalam program PYHTON untuk proyek ini, Pertama kita akan mengimpor file GPIO dari perpustakaan, fungsi di bawah ini memungkinkan kita untuk memprogram pin GPIO PI. Kami juga mengganti nama "GPIO" menjadi "IO", jadi dalam program kapan pun kami ingin merujuk ke pin GPIO, kami akan menggunakan kata 'IO'. Kami juga telah mengimpor waktu dan waktu untuk membaca nilai waktu dari Rsp Pi.
impor RPi.GPIO sebagai waktu impor GPIO, datetime
Terkadang, ketika pin GPIO, yang kami coba gunakan, mungkin melakukan beberapa fungsi lain. Dalam hal ini, kami akan menerima peringatan saat menjalankan program. Perintah di bawah ini memberi tahu PI untuk mengabaikan peringatan dan melanjutkan program.
IO.setwarnings (Salah)
Kita dapat merujuk pin GPIO PI, baik dengan nomor pin di papan atau dengan nomor fungsinya. Seperti 'PIN 29' di papan tulis adalah 'GPIO5'. Jadi kami beri tahu di sini apakah kami akan mewakili pin di sini dengan '29' atau '5'. GPIO.BCM artinya kita akan merepresentasikan menggunakan 5 untuk GPIO5 pin 29.
IO.setmode (GPIO.BCM)
Seperti biasa, kita harus memulai dengan menginisialisasi pin, di sini pin segmen dan pin digit adalah pin keluaran. Untuk tujuan pemrograman, kami membentuk array untuk pin segmen dan menginisialisasinya menjadi '0' setelah mendeklarasikannya sebagai GPIO.
segment8 = (26,19,13,6,5,11,9,10) untuk segmen di segmen8: GPIO.setup (segmen, GPIO.OUT) GPIO.output (segmen, 0)
Demikian pula untuk pin digit kami mendeklarasikannya sebagai pin keluaran dan menjadikannya '0' secara default
#Digit 1 GPIO.setup (7, GPIO.OUT) GPIO.output (7, 0) #Off awalnya #Digit 2 GPIO.setup (8, GPIO.OUT) GPIO.output (8, 0) #Off awalnya #Digit 3 GPIO.setup (25, GPIO.OUT) GPIO.output (25, 0) #Off awalnya #Digit 4 GPIO.setup (24, GPIO.OUT) GPIO.output (24, 0) #Off awalnya
Kita harus membentuk array untuk menampilkan setiap angka pada tampilan tujuh segmen. Untuk menampilkan satu nomor kita harus mengontrol semua 7 segmen pin (tidak termasuk pin titik), baik itu harus dimatikan atau dihidupkan. Misal untuk menampilkan angka 5 kita harus membuat susunan sebagai berikut
S.No |
Nomor Rsp Pi GPIO |
Nama 7-Segmen |
Status untuk menampilkan '5'. (0-> OFF, 1-> ON) |
1 |
GPIO 26 |
Segmen a |
1 |
2 |
GPIO 19 |
Segmen b |
1 |
3 |
GPIO 13 |
Segmen c |
0 |
4 |
GPIO 6 |
Segmen d |
1 |
5 |
GPIO 5 |
Segmen e |
1 |
6 |
GPIO 11 |
Segmen f |
0 |
7 |
GPIO 9 |
Segmen g |
1 |
Demikian pula kami memiliki nomor urut untuk semua angka dan huruf. Anda dapat menulis sendiri atau menggunakan tabel di bawah ini.
Dengan data ini kita dapat membentuk array untuk setiap nomor dalam program python kita seperti gambar di bawah ini.
null = nol = satu = dua = tiga = empat = lima = enam = tujuh = delapan = sembilan =
Jika Anda mengikuti program, akan ada fungsi untuk menampilkan setiap karakter ke tampilan 7-segmen kami tetapi, mari lewati ini untuk saat ini dan masuk ke loop sementara tak terbatas. Di mana membaca waktu sekarang dari Raspberry Pi dan membagi nilai waktu antara empat variabel. Misalnya jika waktunya 10.45 maka variabel h1 akan memiliki 1, h2 akan memiliki 0, m1 akan memiliki 4v dan m2 akan memiliki 5.
now = datetime.datetime.now () hour = now.hour minutes = now.minute h1 = hour / 10 h2 = hour% 10 m1 = minute / 10 m2 = minute% 10 print (h1, h2, m1, m2)
Kami harus menampilkan empat nilai variabel ini pada empat digit kami masing-masing. Untuk menulis nilai variabel menjadi digit kita dapat menggunakan baris berikut. Disini kita tampilkan pada digit 1 dengan membuatnya high maka fungsi print_segment (variabel) akan dipanggil untuk menampilkan nilai dalam variabel pada tampilan segmen. Anda mungkin bertanya-tanya mengapa kami mengalami penundaan setelah itu dan mengapa kami mematikan digit ini setelah ini.
GPIO.output (7, 1) #Menghidupkan Digit Satu print_segment (h1) #Cetak h1 pada waktu segmen. Tidur (delay_time) GPIO.output (7, 0) #Matikan Digit Satu
Alasannya adalah, seperti yang kita ketahui, kita hanya dapat menampilkan satu digit dalam satu waktu, tetapi kita memiliki empat digit untuk ditampilkan dan hanya jika keempat digit tersebut ditampilkan, empat digit angka lengkap akan terlihat oleh pengguna.
Jadi, bagaimana cara menampilkan semua 4 digit secara bersamaan ?
Beruntung bagi kami MPU kami jauh lebih cepat daripada mata manusia, jadi yang sebenarnya kami lakukan: kami menampilkan satu digit pada satu waktu tetapi kami melakukannya dengan sangat cepat seperti yang ditunjukkan di atas.
Kami memilih satu digit tampilan itu menunggu 2ms (variabel delay_time) sehingga MPU dan 7-segmen dapat memprosesnya dan kemudian mematikan digit tersebut dan beralih ke digit berikutnya dan melakukan hal yang sama sampai kami mencapai digit terakhir. Penundaan 2 md ini tidak dapat diamati oleh mata manusia dan keempat digit tampaknya AKTIF pada saat yang bersamaan.
Hal terakhir untuk mempelajarinya adalah mengetahui cara kerja fungsi print_segment (variabel) . Di dalam fungsi ini kami menggunakan array yang telah kami deklarasikan sejauh ini. Jadi variabel apa pun yang kita kirim ke fungsi ini harus memiliki nilai antara (0-9), karakter variabel akan menerima nilai ini dan membandingkannya dengan nilai sebenarnya. Di sini variabel dibandingkan dengan '1'. Demikian pula kita membandingkan dengan semua nomor dari 0 sampai 9. Jika cocok kita menggunakan array dan menetapkan setiap nilai ke pin segmen masing-masing seperti yang ditunjukkan di bawah ini.
def print_segment (charector): jika charector == 1: untuk i dalam range (7): GPIO.output (segment8, one)
Menampilkan waktu pada 4-Digit 7-segmen menggunakan Raspberry Pi:
Gunakan skema dan kode yang diberikan di sini untuk membuat koneksi dan memprogram pi raspberry Anda yang sesuai. Setelah semuanya selesai, luncurkan saja program dan Anda akan menemukan waktu saat ini yang ditampilkan di tampilan tujuh segmen. Namun, ada beberapa hal yang harus Anda periksa sebelum ini
- Pastikan Anda telah mengatur Raspberry Pi Anda dengan waktu saat ini untuk berjaga-jaga jika berjalan pada waktu offline.
- Nyalakan Raspberry pi Anda dengan Adaptor dan bukan dengan Laptop / komputer Anda karena jumlah arus yang ditarik oleh layar 7-segmen tinggi dan port USB Anda tidak dapat menggunakannya.
Jika semuanya berfungsi seperti yang diharapkan, maka Anda harus menemukan sesuatu seperti ini di bawah.
Kerja lengkap jam raspberry pi ini juga dapat diperiksa pada video yang diberikan di bawah ini. Semoga Anda menyukai proyek ini dan menikmati membangunnya. Beri tahu saya apa yang Anda pikirkan atau jika Anda butuh bantuan.