- Modul Paparan 7-Segmen dan 4-Digit 7-Segmen:
- Menyambungkan modul 4 segmen 4 digit dengan Raspberry Pi:
- Memprogramkan Raspberry Pi anda:
- Waktu paparan pada segmen 4-Digit 7 menggunakan Raspberry Pi:
Kita semua tahu bahawa Raspberry Pi adalah platform Pembangunan yang hebat berdasarkan mikropemproses ARM. Dengan kekuatan komputasi yang tinggi, ia dapat menghasilkan keajaiban di kalangan penggemar atau pelajar elektronik. Semua ini dapat dilakukan hanya jika kita tahu bagaimana membuatnya berinteraksi dengan dunia nyata dan menganalisis data melalui beberapa peranti output. Terdapat banyak sensor yang dapat mengesan parameter tertentu dari dunia waktu nyata dan memindahkannya ke dunia digital dan kami menganalisisnya melihatnya sama ada di skrin LCD atau paparan lain. Tetapi, tidak akan menjimatkan penggunaan skrin LCD dengan PI untuk memaparkan sejumlah kecil data. Di sinilah kita lebih suka menggunakan paparan LCD Alfanumerik 16x2 atau paparan 7-Segmen. Kami telah belajar bagaimana menggunakan LCD Alphanumerik dan paparan 7 segmen tunggal dengan Raspberry pi. Hari ini kita akanAntara muka Modul Paparan Tujuh Segmen 4 digit dengan Raspberry Pi dan paparkan Masa di atasnya.
Walaupun LCD Alphanumerik 16x2 jauh lebih selesa daripada paparan 7 segmen, terdapat beberapa senario di mana paparan 7 segmen akan lebih berguna daripada paparan LCD. LCD mengalami kekurangan kerana mempunyai saiz watak yang rendah dan akan berlebihan untuk projek anda jika anda hanya merancang untuk memaparkan beberapa nilai angka. 7-segmen juga mempunyai kelebihan berbanding keadaan pencahayaan yang buruk dan dapat dilihat dari sudut lager daripada layar LCD biasa. Oleh itu, marilah kita mula mengenalinya.
Modul Paparan 7-Segmen dan 4-Digit 7-Segmen:
7 Segmen Display mempunyai tujuh segmen di dalamnya dan setiap segmen mempunyai satu LED di dalamnya untuk menampilkan nombor dengan menerangi segmen yang sesuai. Seperti jika anda mahu segmen 7 memaparkan nombor "5" maka anda perlu menyalakan segmen a, f, g, c, dan d dengan menjadikan pin yang sesuai tinggi. Terdapat dua jenis paparan 7 segmen: Common Cathode dan Common Anode, di sini kita menggunakan paparan Common Cathode tujuh segmen. Ketahui lebih lanjut mengenai paparan 7 segmen di sini.
Sekarang kita tahu bagaimana memaparkan watak angka yang kita inginkan pada paparan 7 segmen tunggal. Tetapi, cukup jelas bahawa kita memerlukan lebih dari satu paparan 7 segmen untuk menyampaikan maklumat yang lebih daripada satu digit. Jadi, dalam tutorial ini kita akan menggunakan Modul Paparan 7-Segmen 4-digit seperti yang ditunjukkan di bawah.
Seperti yang kita lihat terdapat Empat Tujuh Segmen Paparan dihubungkan bersama. Kami tahu bahawa setiap modul 7-segmen akan mempunyai 10 pin dan untuk 4 paparan tujuh segmen akan ada 40 pin secara keseluruhan dan sangat sukar bagi siapa saja untuk memasangnya pada papan titik, jadi saya sangat mengesyorkan kepada sesiapa sahaja untuk membeli modul atau buat PCB anda sendiri untuk menggunakan paparan 7-segmen 4-digit. Skema sambungan untuk yang sama ditunjukkan di bawah:
Untuk memahami bagaimana modul tujuh segmen 4 digit berfungsi, kita harus melihat skema di atas, seperti yang ditunjukkan pin A dari keempat-empat paparan disambungkan untuk berkumpul sebagai satu A dan sama untuk B, C…. hingga DP. Jadi, pada dasarnya jika pencetus A aktif, maka keempat-empat A harus naik tinggi bukan?
Tetapi, itu tidak berlaku. Kami mempunyai empat pin tambahan dari D0 hingga D3 (D0, D1, D2 dan D3) yang dapat digunakan untuk mengawal paparan mana dari keempat yang seharusnya tinggi. Sebagai contoh: Sekiranya saya memerlukan output saya hanya hadir pada paparan kedua, maka hanya D1 yang harus dibuat tinggi sambil memastikan pin lain (D0, D2, dan D3) rendah. Cukup kita dapat memilih paparan mana yang harus aktif menggunakan pin dari D0 hingga D3 dan watak apa yang akan dipaparkan menggunakan pin dari A hingga DP.
Menyambungkan modul 4 segmen 4 digit dengan Raspberry Pi:
Mari kita lihat bagaimana, bagaimana kita dapat menghubungkan modul 7 segmen 4 digit ini dengan Raspberry Pi kami. Modul 7 segmen mempunyai 16 pin seperti gambar di bawah. Modul anda mungkin lebih rendah, tetapi jangan bimbang ia akan tetap mempunyai yang berikut
- Pin segmen 7 atau 8 (di sini pin bermula dari 1 hingga 8)
- Pin tanah (di sini pin 11)
- 4 digit pin (di sini pin 13 hingga 16)
Di bawah ini diberikan skema jam digital raspberry pi dengan menghubungkan modul paparan Tujuh segmen 4 digit dengan Raspberry Pi:
Jadual berikut juga akan membantu anda dalam membuat sambungan dan mengesahkannya mengikut skema yang ditunjukkan di atas.
S.No |
Nombor GPIO Rsp Pi |
Nombor PIN Rsp Pi |
7-Segmen nama |
Nombor pin 7-Seg (di sini dalam 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 |
DP Segmen |
8 |
9 |
GPIO 7 |
PIN 26 |
Digit 1 |
13 |
10 |
GPIO 8 |
PIN 24 |
Digit 2 |
14 |
11 |
GPIO 25 |
PIN 22 |
Digit 3 |
15 |
12 |
GPIO 24 |
PIN 18 |
Digit 4 |
16 |
13 |
Tanah |
Tanah |
Tanah |
11 |
Kenal pasti pin pada modul anda dan anda semua baik untuk meneruskan sambungan. Melihat pin GPIO di Raspberry pi mungkin merupakan tugas yang agak mencabar, jadi saya telah memberikan gambar ini untuk Pin GPIO kepada anda.
Memprogramkan Raspberry Pi anda:
Di sini kita menggunakan bahasa Pengaturcaraan Python untuk pengaturcaraan RPi. Terdapat banyak cara untuk memprogram Raspberry Pi anda. Dalam tutorial ini kita menggunakan Python 3 IDE, kerana ia adalah yang paling banyak digunakan. The program Python lengkap diberikan pada akhir tutorial ini. Ketahui lebih lanjut mengenai Program dan jalankan kod di Raspberry Pi di sini.
Kami akan membincangkan beberapa arahan yang akan kami gunakan dalam program PYHTON untuk projek ini, Mula-mula kita akan mengimport fail GPIO dari perpustakaan, fungsi di bawah ini membolehkan kita memprogram pin GPIO PI. Kami juga mengganti nama menjadi "GPIO" menjadi "IO", jadi dalam program setiap kali kami ingin merujuk pada pin GPIO, kami akan menggunakan kata 'IO'. Kami juga telah mengimport masa dan datetime untuk membaca nilai masa dari RSP Pi.
import RPi.GPIO sebagai masa import GPIO, datetime
Kadang-kadang, apabila pin GPIO, yang cuba kita gunakan, mungkin melakukan beberapa fungsi lain. Sekiranya demikian, kami akan menerima amaran semasa menjalankan program. Perintah di bawah ini memberitahu PI untuk mengabaikan amaran dan meneruskan program.
Peringatan IO (Salah)
Kita boleh merujuk pin GPIO PI, sama ada dengan nombor pin di papan atau dengan nombor fungsinya. Seperti 'PIN 29' di papan adalah 'GPIO5'. Oleh itu, kami katakan di sini sama ada kami akan mewakili pin di sini dengan '29' atau '5'. GPIO.BCM bermaksud kami akan mewakili menggunakan 5 untuk GPIO5 pin 29.
IO.setmode (GPIO.BCM)
Seperti biasa kita harus memulakan dengan memulakan pin, di sini pin segmen dan pin digit adalah pin output. Untuk tujuan pengaturcaraan, kami membentuk tatasusunan untuk pin segmen dan memulakannya menjadi '0' setelah menyatakannya sebagai GPIO.OUT
segmen8 = (26,19,13,6,5,11,9,10) untuk segmen di segmen8: GPIO.setup (segmen, GPIO.OUT) GPIO.output (segmen, 0)
Begitu juga untuk pin digit, kami menyatakannya sebagai pin output dan menjadikannya '0' secara lalai
#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 tatasusunan untuk memaparkan setiap nombor pada paparan tujuh segmen. Untuk memaparkan satu nombor, kita harus mengawal semua 7 pin segmen (pin dot dikecualikan), iaitu ia mesti dimatikan atau dihidupkan. Sebagai contoh untuk memaparkan nombor 5 kita telah membuat susunan berikut
S.No |
Nombor GPIO Rsp Pi |
7-Segmen nama |
Status untuk memaparkan '5'. (0-> MATI, 1-> AKTIF) |
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 |
Begitu juga dengan nombor urutan untuk semua nombor dan abjad. Anda boleh menulis sendiri atau menggunakan carta di bawah.
Dengan data ini kita dapat membentuk tatasusunan untuk setiap nombor dalam program python kita seperti yang ditunjukkan di bawah.
nol = sifar = satu = dua = tiga = empat = lima = enam = tujuh = lapan = sembilan =
Sekiranya anda mengikuti program ini, akan ada fungsi untuk menampilkan setiap watak ke paparan 7 segmen kami tetapi, mari kita lewati ini untuk sekarang dan masuk ke dalam loop tak terbatas sementara . Di mana baca masa sekarang dari Raspberry Pi dan bahagikan nilai masa antara empat pemboleh ubah. Contohnya jika waktunya 10.45 maka pemboleh ubah h1 akan mempunyai 1, h2 akan mempunyai 0, m1 akan mempunyai 4v dan m2 akan mempunyai 5.
sekarang = datetime.datetime.now () hour = now.hour minute = now.minute h1 = hour / 10 h2 = hour% 10 m1 = minute / 10 m2 = minute% 10 print (h1, h2, m1, m2)
Kita mesti memaparkan keempat-empat nilai pemboleh ubah ini pada masing-masing empat digit. Untuk menulis nilai pemboleh ubah hingga digit kita boleh menggunakan baris berikut. Di sini kita dipaparkan pada angka 1 dengan membuatnya tinggi maka fungsi print_segment (variabel) akan dipanggil untuk menampilkan nilai dalam pemboleh ubah pada paparan segmen. Anda mungkin tertanya-tanya mengapa kita mengalami kelewatan selepas itu dan mengapa kita mematikan digit ini selepas ini.
GPIO.output (7, 1) #Mengaktifkan Digit One print_segment (h1) #Print h1 pada segmen time.sleep (delay_time) GPIO.output (7, 0) # Matikan Digit One
Sebabnya, seperti yang kita tahu, kita hanya dapat memaparkan satu digit pada satu masa, tetapi kita mempunyai empat digit untuk dipaparkan dan hanya jika keempat-empat digit itu dipaparkan, nombor empat digit yang lengkap akan dapat dilihat oleh pengguna.
Jadi, bagaimana memaparkan semua 4 digit pada masa yang sama ?
Beruntung bagi kami MPU kami jauh lebih pantas daripada mata manusia, jadi apa yang sebenarnya kami lakukan: kami memaparkan satu digit pada satu masa tetapi kami melakukannya dengan pantas seperti yang ditunjukkan di atas.
Kami memilih paparan satu digit sehingga menunggu 2 ms (variabel delay_time) sehingga MPU dan 7-segmen dapat memprosesnya dan kemudian mematikan digit itu dan beralih ke digit berikutnya dan melakukan perkara yang sama sehingga kita mencapai digit terakhir. Kelewatan 2ms ini tidak dapat dilihat oleh mata manusia dan keempat-empat digit nampaknya ON pada masa yang sama.
Perkara terakhir untuk mempelajarinya untuk mengetahui bagaimana fungsi print_segment (variabel) berfungsi. Di dalam fungsi ini kita menggunakan tatasusunan yang telah kita nyatakan sejauh ini. Oleh itu, pemboleh ubah apa pun yang kita hantar ke fungsi ini harus mempunyai nilai antara (0-9), watak pemboleh ubah akan menerima nilai ini dan membandingkannya dengan nilai sebenar. Di sini pemboleh ubah dibandingkan dengan '1'. Begitu juga kita membandingkan dengan semua nombor dari 0 hingga 9. Sekiranya sesuai, kita menggunakan tatasusunan dan memberikan setiap nilai ke pin segmen masing-masing seperti yang ditunjukkan di bawah.
def print_segment (charector): if charector == 1: for i in range (7): GPIO.output (segmen8, satu)
Waktu paparan pada segmen 4-Digit 7 menggunakan Raspberry Pi:
Gunakan skema dan kod yang diberikan di sini untuk membuat sambungan dan memprogram pi raspberry anda dengan sewajarnya. Setelah semuanya selesai, mulakan sahaja program ini dan anda akan menjumpai masa semasa yang dipaparkan di paparan tujuh segmen. Tetapi, ada beberapa perkara yang perlu anda periksa sebelum ini
- Pastikan anda telah menetapkan Raspberry Pi anda dengan waktu semasa sekiranya ia berjalan pada waktu luar talian.
- Nyalakan Raspberry pi anda dengan Penyesuai dan bukan dengan Komputer riba / komputer anda kerana jumlah arus yang diambil oleh paparan 7 segmen tinggi dan port USB anda tidak dapat memperolehnya.
Sekiranya semuanya berfungsi seperti yang diharapkan, maka anda harus mencari sesuatu seperti ini di bawah.
Kerja lengkap jam pi raspberry ini juga boleh disemak pada video yang diberikan di bawah. Harap anda menyukai projek ini dan menikmati pembinaannya. Beritahu saya pendapat anda atau jika anda memerlukan pertolongan.