Disebut apakah jenis LCD khusus digit ini?

8

Saya telah melihat LCD jenis ini berkali-kali dalam skala timbangan, kalkulator, pengukur, mikrometer, dll. Saya tahu ini adalah tampilan yang cukup tradisional tapi saya sangat suka bentuknya yang ringkas, sederhana, dan mungkin harganya lebih murah, dibandingkan dengan TFT atau smartphone- ketik layar sentuh.

LCD khusus digit


[ Apa namanya? Dijawab oleh @ kevlar1818 dan @stevenvh: "Layar tujuh segmen"]

Saya ingin bekerja dengan LCD jenis ini, misalnya, saya baru saja menemukan yang satu ini 8-digit yang disebut VIM-878 dari katalog Digikey; di sini adalah datasheet-nya .

Bagaimana cara saya berinteraksi dengannya? Saya ingin tahu apa yang akan menjadi cara yang baik / umum untuk berinteraksi dengannya dari mikrokontroler AVR sederhana seperti Atmega8 - lebih disukai dengan antarmuka sirkuit / bagian yang tidak terlalu besar secara fisik.

  • Saya kira beberapa jenis driver atau multiplexer akan diperlukan? Saya kira saya sedang mencari beberapa perspektif awal dari orang lain yang mungkin memiliki pengalaman lebih baik berinteraksi dengan LCD jenis ini.
boardbite
sumber
Terima kasih telah menambahkan informasi yang diminta. Harap berhati-hati bahwa Anda tidak membatalkan pengeditan sebelumnya dalam proses.
Chris Laplante
Itulah yang saya lakukan, bukan, oops! Bisakah Anda atau seseorang membantu mengembalikan gambar?
boardbite
Anda dapat mencoba memutar kembali untuk mengedit 2, dan kemudian menambahkan informasi Anda ke sana. Saya tidak memiliki perwakilan untuk melakukan rollback jadi saya akan menandainya.
Chris Laplante

Jawaban:

12

Ini adalah tampilan 7-segmen . Berbeda dengan tampilan karakter dot-matrix yang merujuk kevlar inilah yang paling sering bukan modul cerdas. Sebagian besar layar dot matrix memiliki pengontrol yang kompatibel dengan HD44780 yang dapat Anda gunakan untuk menulis kode ASCII, tetapi LCD 7-segmen sering kali hanya kaca, dengan koneksi untuk segmen dan sejumlah pesawat belakang (seringkali hingga 4).

masukkan deskripsi gambar di sini

Mengemudi LCD bisa terasa canggung karena mereka tidak hanya menggunakan dua level, jadi Anda tidak bisa mengendarainya dengan logika digital umum.

masukkan deskripsi gambar di sini

Hal terbaik yang dapat Anda lakukan adalah memilih mikrokontroler dengan pengontrol LCD terintegrasi, yang dapat Anda sambungkan langsung ke layar, seperti TI MSP430x4xx . Seperti kebanyakan pengontrol yang satu ini juga hanya tahu segmen; tidak mengetahui angka atau apa pun. (Hebat, pertama kami memiliki tampilan bodoh, sekarang kami memiliki driver bodoh juga!) Ada alasan untuk ini. Driver LCD ini sering digunakan untuk menggerakkan LCD kustom yang mungkin merupakan campuran dari bagian numerik, grafik batang dan simbol kustom. Simbol seperti itu juga merupakan segmen tunggal, sehingga tidak masuk akal untuk berbicara tentang angka.

masukkan deskripsi gambar di sini

Tampilan ini memiliki simbol seperti "baterai" dan "jam alarm", tetapi juga semua bidang teks, seperti "AM", "PM" dan "SNOOZE" adalah simbol yang terdiri dari segmen tunggal (yaitu dikendalikan oleh bit tunggal).

Bacaan lebih lanjut
Panduan Pengguna Keluarga MSP430x4xx . Pengontrol LCD tercakup pada hal.709 dst.

stevenvh
sumber
Dengan asumsi segmen berarti jumlah bagian yang digunakan untuk membangun karakter / digit pada LCD saya, saya pikir mikrokontroler akan menjadi besar - dapat mendukung 96, dan hanya memiliki 200 imbang saat ini. Apakah Anda menyarankan mengganti AVR saya dengan mikrokontroler TI, atau hanya berkomunikasi VIA dengan LCD? Saya lebih suka yang terakhir, karena pengalaman berbasis AVR saya (juga terbatas!); jadi bisakah Anda mengomentari itu?
boardbite
@Inga - Saya tidak mengetahui adanya AVR dengan driver LCD di dalamnya. Menggunakan MSP430 sebagai driver tampilan mungkin merupakan ide yang baik: AVR Anda dapat tetap berpegang pada tugas utamanya, dan program untuk MSP430 dapat dibuat sederhana (jika Anda tidak memiliki banyak pengalaman dengan itu) atau lanjut (jika Anda ingin jadikan itu driver yang cerdas, yang bisa Anda berikan dengan perintah seperti "increment").
stevenvh
Kedengarannya sangat bisa dilakukan; Saya akan memesan salah satu chip TI! Omong-omong, kalau-kalau pemrograman saya gagal dengan mikrokontroler itu, dapatkah saya menggunakan multiplexer sederhana atau driver LED, mis. IC seperti ini yang baru saja saya temukan dari Maxim ? Saya meramalkan masalah karena apa yang Anda katakan tentang berbagai tingkatan.
boardbite
@Inga - Tidak, Anda tidak dapat menggunakan MAX7219, itu adalah driver LED. Untuk satu hal mereka multiplex terlalu cepat untuk LCD. Berbagai tingkatan seharusnya tidak menjadi masalah; untuk itulah Anda mendapatkan driver. Itu menangani semuanya. Apa pendapat Anda tentang driver cerdas yang menghitung jumlah untuk ditampilkan? Anda dapat menggunakan perintah seperti "nilai muat", "jumlah kenaikan", "setel ulang jumlah", dll.
stevenvh
Haha, itu benar-benar memiliki perintah seperti itu ?! Saya pasti harus menulis kode untuk mengimplementasikan fungsi-fungsi itu sendiri, bukan?
boardbite
2

Apa yang Anda pikirkan disebut LCD 7 segmen. Jika Anda tahu cara menyalakan LED biasa maka 1/8 dari perjalanan Anda ke sana.

Inilah Wiki untuk itu. Ini memiliki beberapa teori tentang bagaimana Anda akan membuat angka dengan menerangi berbagai susunan LED: http://en.wikipedia.org/wiki/Seven-segment_display

(de) Multiplexing adalah metode yang baik untuk menerangi panel 7-Segmen besar, meskipun tidak perlu. Jika port I / O Anda terbatas maka itu cara untuk pergi. Dasar dari pekerjaan demuxing seperti ini (dengan asumsi Anda tahu biner di sini). Lihatlah foto ini:

Dengan angka biner 3 bit seperti 000, kita dapat mewakili hingga angka 7 (yaitu untuk memilih port 5 kita akan memiliki ABC menjadi 101). Apa yang akan terjadi dalam demux dalam situasi Anda adalah satu input adalah sesuatu seperti sinyal tinggi, dan AB&C adalah port I / O. 0 hingga 7 terhubung ke setiap segmen LCD dan dengan menulis ke ABC dari controller Anda, Anda dapat menerangi segmen. Anda mungkin mengatakan tunggu, tetapi jika saya ingin menyalakan nomor, saya perlu banyak segmen menyala, bukan hanya segmen ke-5. Nah setelah itu Anda bisa melihat ke dua jalan untuk mendapatkan LCD untuk menampilkan nomor. Yang pertama adalah menambahkan lebih banyak demux untuk segmen yang dibutuhkan tambahan. Yang kedua adalah pendekatan perangkat lunak yang melibatkan sangat cepat mem-flash setiap segmen yang diperlukan untuk menciptakan ilusi bahwa panel benar-benar menyala.

Nimjox
sumber
Saya suka pendekatan pertama yang Anda sarankan: lebih banyak demux. Tetapi jika saya menempuh rute itu, bagaimana kita bisa mengurangi ukuran fisik komponen? Dalam kasus saya, saya perlu 8 digit = 56 segmen, Anda tahu?
boardbite
Err baik Anda tidak akan memiliki cukup I / 0 untuk mendorong 8 digit dengan pendekatan perangkat keras. Berikut ini tautannya, menakutkan saya tahu tetapi saya tidak berpikir saya bisa menggambar / menjelaskan rincian yang lebih mudah. doctronics.co.uk/4511.htm . Itulah teorinya. Dalam praktiknya saya akan mempertimbangkan metode pemindaian, saya tahu ini mungkin terlihat seperti tidak akan memberikan gambar yang bagus atau rumit tetapi ini adalah praktik yang sangat umum di industri. Semoga berhasil.
Nimjox
@Inga - genap 64 jika Anda juga menghitung poin desimal! Ada dua alasan mengapa Anda tidak akan menemukan itu bukan multipleks. Salah satunya adalah banyaknya pin, baik pada tampilan dan mikrokontroler. Mikrokontroler membutuhkan setidaknya 80 pin dan lebih banyak pin = lebih banyak biaya. Tetapi ada juga routing. Jika Anda memiliki tampilan multipleks, Anda akan memiliki perutean satu segmen melalui segmen yang berdekatan, tetapi jika mereka semua terpisah Anda tidak dapat melakukan hal seperti itu. Itu juga biaya tambahan.
stevenvh
2

Tampilan tujuh segmen atau tampilan dot matrix adalah apa yang Anda maksud adalah rujukan.

Berikut adalah contoh di Sparkfun dengan lembar data yang relevan . Temukan contoh / tutorial AVR ini di bagian "Dokumen" pada halaman produk. Bukankah Sparkfun hebat?


Dengan tampilan 14-segmen ini , dan datasheet -nya , mari kita cari tahu cara menggunakannya.

Mari kita ambil contoh menunjukkan 7di segmen pertama (paling kiri) cluster.

Untuk menulis 7, kita perlu menegaskan segmen 1A, 1Bdan 1C, seperti yang terlihat dalam datasheet. Semua segmen ini dipetakan ke pin 35 perangkat, tetapi pada COMgaris yang berbeda . Dengan datasheet samar seperti itu, tebakan terbaik saya adalah bahwa COMgaris - garis ini memetakan ke pin 17 sampai 20, mengingat tabel dalam datasheet.

Dengan demikian, untuk menegaskan setiap segmen atas, Anda akan memegang pin 35 tinggi sementara cepat bersepeda antara menegaskan COM1, COM2dan COM3melalui pin 18, 19, dan 20 masing-masing. Ketiga segmen semuanya akan muncul menyala secara bersamaan, menciptakan a 7.

Ini dikatakan, kode yang ditulis dengan baik hanya akan menggunakan semacam peta untuk setiap karakter yang diberikan untuk ditampilkan. Tantangannya adalah membuat peta ini berfungsi untuk APAPUN dari kelompok segmen.


Saya masih merekomendasikan tampilan dot-matrix seperti yang pertama saya tautkan; pasti ada desain yang lebih ringan di luar sana. Manfaat menggunakan tampilan dot-matrix adalah bahwa sebagian besar memiliki built-in register data, jadi Anda bisa mengirimkannya karakter ASCII 8-bit, tidak ada masalah implementasi yang funky seperti pada contoh 14-seg di atas.

kevlar1818
sumber
Kebetulan, saya memiliki LCD yang sangat mirip dengan contoh yang Anda posting! Tetapi ini adalah modul yang sangat tebal dan tidak mudah dibaca tanpa lampu latar menyala. Sedangkan yang saya posting terlihat jauh lebih baik meskipun tidak ada cahaya latar, dan entah bagaimana tampak lebih bersih (tidak ada jenis tampilan yang tersisa dari angka yang tidak ditampilkan). Adakah pikiran? Apakah ada sub-kategori dalam tampilan ini?
boardbite
Menggunakan "tampilan tujuh segmen" sebagai istilah pencarian saya, saya menemukan ini: halaman Digikey Saya ingin bekerja dengan ini, misalnya. Dan ini datasheet-nya .
boardbite
Saya benar-benar akan mengatakan (berdasarkan penjelasan Anda) bahwa yang 14 segmen tampaknya SIMPLER, bukan? Baiklah, OK, tidak lebih sederhana dari sekedar melewati karakter ASCII, tetapi cukup sederhana dalam hal logika dan jumlah kontrol (misalnya, hanya menyalakan satu segmen). BTW, dalam pendekatan yang Anda rekomendasikan di atas, bagaimana cara menangani apa yang dikatakan stevenvh dalam Jawabannya tentang tidak ada dua tingkat logika untuk tampilan ini?
boardbite
@ Inga Bagi saya sepertinya tidak perlu ada lebih dari dua level logika dalam tampilan 14-segmen ini, karena memiliki pinb verbose. Saya masih tidak positif, karena lembar data dan halaman Digikey tidak mengatakan apa pun tentang level voltase / logika. Sejujurnya, biasanya bukan praktik yang baik untuk membeli perangkat yang kurang terdokumentasi.
kevlar1818
1
Mengapa tidak menggunakan beberapa driver LCD, antarmuka yang lebih dari I2C, seperti Holtek 1632 atau serupa? (Saya harap saya mendapatkan bagian yang benar!)
Vaibhav Garg