Daftar Isi:

Papan Adaptor LCD ke I2C HD44780 untuk Bajak Laut Bus: 9 Langkah
Papan Adaptor LCD ke I2C HD44780 untuk Bajak Laut Bus: 9 Langkah

Video: Papan Adaptor LCD ke I2C HD44780 untuk Bajak Laut Bus: 9 Langkah

Video: Papan Adaptor LCD ke I2C HD44780 untuk Bajak Laut Bus: 9 Langkah
Video: Демонстрация и обзор ЖК-адаптера Bus Pirate 2024, November
Anonim
HD44780 LCD ke Papan Adaptor I2C untuk Bajak Laut Bus
HD44780 LCD ke Papan Adaptor I2C untuk Bajak Laut Bus
HD44780 LCD ke Papan Adaptor I2C untuk Bajak Laut Bus
HD44780 LCD ke Papan Adaptor I2C untuk Bajak Laut Bus

LCD karakter murah berdasarkan chipset HD44780 tersedia dalam berbagai ukuran: 2x16, 4x20, dll. Layar ini memiliki dua mode antarmuka standar, 4bit dan 8bit paralel. 8bit membutuhkan total 11 jalur data, 4bit membutuhkan 7 (6 untuk tulis saja). Beberapa LCD mendukung mode data serial tambahan, seperti VFD yang saya bahas di Hack a Day. LCD HD44780 umumnya merupakan bagian 5 volt dengan suplai terpisah untuk lampu belakang. Bajak Laut Bus hanya memiliki lima pin I/O toleran 5 volt, jadi kami membuat papan adaptor kecil dengan cukup pin untuk mengontrol LCD. Bajak Laut Bus mengontrol papan adaptor melalui perpustakaan antarmuka LCD-nya. Lanjutkan membaca tentang papan adaptor LCD karakter Bus Pirate HD44780 dan perpustakaan antarmuka. Saya dapat memiliki PCB, kit, atau kit rakitan yang diproduksi oleh Seeed Studio dengan harga sekitar $15, termasuk pengiriman ke seluruh dunia, lebih banyak lagi di sini. Saya tidak dapat menyertakan beberapa elemen pemformatan dan tabel HTML dalam Instructable, Anda dapat melihat posting asli di Prototipe Berbahaya blog.

Langkah 1: Perangkat Keras

Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras

IkhtisarDalam artikel ini kami menguraikan papan adaptor I2C untuk LCD berbasis HD44780. Kami mendemonstrasikannya dengan antarmuka serial universal Bus Pirate. Kode sumber Bus Pirate untuk perpustakaan antarmuka HD44780 berbasis I2C adalah domain publik, jadi bebas untuk beradaptasi dengan proyek Anda sendiri. Perangkat KerasGambar sirkuit ukuran penuh [PNG]. Sirkuit dan PCB dirancang dengan versi gratis dari Cadsoft Eagle. File desain dapat diunduh dari Bus Pirate SVN. Sebelum menggunakan papan adaptor, pastikan untuk memverifikasi lembar data untuk LCD Anda dengan pinout adaptor. Tidak semua LCD sama. IC expander I/O PCF8574 Ini adalah chip expander 8 I/O sederhana yang dikendalikan melalui antarmuka I2C dua-kawat. Antarmuka I2C dapat diakses dari header JP1. PCF8574 bekerja dari 2,5 hingga 5 volt. Pin I/O beroperasi pada tegangan suplai, jadi jika kita memberi makan 5 volt, ia menghubungkan LCD pada 5 volt. C1 (0,1uF) memisahkan IC dari fluktuasi catu daya. Satu pin dari PCF8574 mengontrol LED 3mm (LED1) melalui resistor pembatas arus R2 (1000 ohm). Lampu LED untuk menunjukkan komunikasi yang berhasil antara Bajak Laut Bus dan adaptor. PCF8574 tidak dapat memasok arus yang cukup untuk menyalakan LED, jadi kami menyalakan LED dari catu 5volt dan mengalihkan ground. LCD Papan adaptor berkomunikasi dengan LCD karakter berbasis HD44780 dalam mode antarmuka paralel 4bit. Pin antarmuka 4bit - RS, RW, EN, dan D4-D7 - terhubung ke tujuh pin I/O PCF8574. Kami suka menggunakan header pin jantan 0,1" untuk menghubungkan adaptor ke LCD, Anda biasanya dapat menyandarkan LCD pada pin untuk membuat kontak yang cukup untuk pengujian cepat. Resistor pemangkas R1 (10K) memberikan tegangan penyesuaian kontras ke pin 3 header LCD. Kami tidak menghubungkan pin lampu latar karena ada begitu banyak gaya lampu latar yang berbeda. Menyediakan daya untuk lampu latar LED dapat merusak layar yang memerlukan catu tegangan negatif. Catu daya Sebagian besar LCD memerlukan 5 volt, menyediakan catu daya eksternal melalui header JP2. Kami menyediakan pin catu daya kedua untuk menghubungkan resistor pull-up Bus Pirate. PCB Sirkuit dan PCB dirancang dengan versi gratis Cadsoft Eagle. File desain dapat diunduh dari Bus Pirate SVN. PCB adalah desain satu sisi, semua lubang dengan kabel jumper tunggal (ditunjukkan dengan warna merah). Kami dapat memiliki PCB, kit, atau kit rakitan yang diproduksi oleh Seeed Studio dengan harga sekitar $15, termasuk pengiriman ke seluruh dunia, selengkapnya di sini. semua ini lubang kasar) C10.1uF/10volt+R110000 (10K) ohm pemangkas/potensiometer putaran tunggal, resistor ohm 6mmR21000 (1K), LED 1/4 wattLED13mm (T1), header pria merahJP1+JP20.1", 5 pinIC1PCF8574N, 8bit I2C I/O expander DIP16ICS116 pin soket DIP untuk IC1Saya tidak dapat memasukkan beberapa elemen pemformatan dan tabel HTML dalam Instructable, Anda dapat melihat posting asli di blog Dangerous Prototypes.

Langkah 2: Koneksi

Koneksi
Koneksi

Perangkat: LCD karakter HD44780. Bus: paralel 4bit, dengan papan adaptor PCF8574 I2C. Persyaratan daya: 5volt. Referensi:contoh lembar data [PDF], referensi perintah HD44780, situs uber LCD HD44780. Log sesi Bajak Laut Bus Lengkap untuk demonstrasi ini. Kami merancang adaptor untuk perpustakaan LCD antarmuka serial universal Bus Pirate, tetapi itu akan bekerja dengan apa pun yang dapat berbicara dengan protokol I2C. Lihatlah kode sumber Bus Pirate untuk contoh implementasi I2C->HD44780. Hubungkan Bus Pirate ke papan adaptor seperti yang ditunjukkan pada tabel. Tabel juga menunjukkan koneksi mentah ke IC PCF8574 jika Anda mengikuti tanpa papan adaptor. Hubungkan adaptor ke catu daya yang cukup untuk LCD, umumnya 5 volt. Koneksi I2C antara adaptor dan Bus Pirate membutuhkan resistor pull-up antara 2 dan 10K. Berikut informasi lebih lanjut tentang antarmuka tegangan campuran dengan pull-up, dan resistor pull-up on-board Bus Pirate. Saya tidak dapat memasukkan beberapa elemen pemformatan dan tabel HTML dalam Instructable, Anda dapat melihat posting asli di blog Dangerous Prototypes.

Langkah 3: Langkah 1. Siapkan Perpustakaan

Langkah 1. Siapkan Perpustakaan
Langkah 1. Siapkan Perpustakaan

Antarmuka Kami telah membahas desain adaptor dan cara menghubungkannya ke Bajak Laut Bus, sekarang saatnya untuk menulis sesuatu ke LCD. HiZ>m <<11 <<1 <<P <

p <<2 <<v <<<dapatkan laporan tegangan MONITOR TEGANGAN: 5V: 4,9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Tekan 'm' di terminal Bus Pirate dan pilih perpustakaan LCD. Saat ini hanya mendukung LCD karakter HD44780 menggunakan adaptor PFC8574 yang dijelaskan di paruh pertama artikel ini (opsi 1). Aktifkan catu daya ('W' besar) dan resistor pull-up (menu 'p'). Periksa monitor tegangan (menu 'v') dan pastikan tegangan pull-up (Vpullup) terbaca sekitar 5 volt.

Langkah 4: Langkah 2. Atur Ulang dan Inisialisasi

Langkah 2. Atur Ulang dan Inisialisasi
Langkah 2. Atur Ulang dan Inisialisasi
Langkah 2. Atur Ulang dan Inisialisasi
Langkah 2. Atur Ulang dan Inisialisasi

Tabel ini menguraikan perintah byte tunggal yang mengontrol LCD HD44780, berikut referensi detailnya. Perintah ini dapat dimasukkan dari baris perintah Bus Pirate, tapi kami telah membuat makro untuk sebagian besar dari mereka untuk menghemat waktu. LCD>(0) <<<tampilkan menu makro0.menu makro <<<menu ini1. Reset LCD << <reset LCD2. Init LCD <<<reset dan inisialisasi LCD3. Clear LCD <<<clear LCD, kembalikan kursor ke 04. Posisi kursor ex:(4:0) <<<atur posisi kursor5. Tulis teks tes <<Makro 0 menampilkan menu makro untuk setiap mode Bajak Laut Bus. LCD>(2) <<<menginisialisasi makro LCD Baris tampilan:1. 1 <<<tampilan satu baris2. Beberapa <<2 ' RESET <<<makro 2 menyertakan urutan resetINIT <<Inisialisasi LCD makro (2) mengonfigurasi layar untuk mode antarmuka 4bit, mengaktifkan tampilan kursor, dan menetapkan beberapa opsi bermanfaat lainnya. Konfigurasikan jumlah baris tampilan, pilih 1 untuk tampilan satu baris, atau 2 untuk semua tampilan lainnya. Setelah inisialisasi, layar harus bersih dengan kursor terlihat di sudut. Jika tidak berhasil, periksa koneksi I2C, resistor pull-up, dan catu daya, lalu coba lagi. LCD HD44780 perlu direset dengan urutan sinyal khusus sebelum dapat diinisialisasi untuk mode antarmuka 4bit atau 8bit. Makro 1 membuat urutan ini. Makro 2 menyertakan urutan reset, jadi tidak perlu menggunakan makro 1 sebelum makro 2.

Langkah 5: Langkah 3. Tulis Karakter Tes

Langkah 3. Tulis Karakter Tes
Langkah 3. Tulis Karakter Tes
Langkah 3. Tulis Karakter Tes
Langkah 3. Tulis Karakter Tes

LCD>(6:80) <<Makro angka tulis mengisi LCD dengan angka tes antara 0 dan 9. Angka setelah titik dua memberi tahu Bajak Laut Bus berapa banyak angka tes yang harus ditulis, kami menggunakan LCD 4x20, jadi kami menulis 80 angka untuk mengisinya. Perhatikan bahwa kursor berakhir pada posisi 0, di bawah '0' pertama. LCD>(7:80) <<Makro karakter tulis mengisi LCD dengan karakter ASCII, masukkan jumlah setelah titik dua. Perhatikan bahwa garis tinju berlanjut pada yang ketiga, yang ketiga pada yang kedua, dan yang kedua pada yang terakhir. Karakter tidak kontinu karena LCD karakter tidak membungkus dari satu baris ke baris berikutnya. Kami akan berbicara lebih banyak tentang ini nanti.

Langkah 6: Langkah 4. Bersihkan LCD

Langkah 4. Bersihkan LCD
Langkah 4. Bersihkan LCD

LCD>(3) <<Makro LCD bening mengirimkan perintah HD44780 yang menghapus layar dan mengembalikan kursor ke posisi pertama. Anda juga dapat melakukan salah satu operasi ini tanpa makro, lihat tabel perintah di awal bagian ini. Masukkan '[0b1' di Bajak Laut Bus untuk mengatur antarmuka ke mode perintah ([) dan kirim perintah layar jernih HD44780 (0b00000001) tanpa makro.]

Langkah 7: Langkah 5. Ketik Teks

Langkah 5. Ketik Teks
Langkah 5. Ketik Teks
Langkah 5. Ketik Teks
Langkah 5. Ketik Teks

LCD>(8) <<<masukkan teks penggunaMasukkan teks untuk disisipkan pada posisi kursor. Demo LCD HD44780 <<Setelah mengosongkan LCD pada langkah 4, kursor diposisikan pada blok pertama. Kita juga bisa mengaturnya dengan makro (4:0), yang memindahkan kursor ke karakter pertama. Teks sisipan pada makro kursor meminta input teks, lalu menyalinnya ke LCD saat Anda menekan enter. LCD>(4:0x40) <&lt

LCD>(8) <<<insert textMasukkan teks yang akan disisipkan pada posisi kursor. Bus Pirate v2go <<Menulis ke baris kedua sedikit lebih rumit, sebenarnya dimulai pada karakter 64 pada LCD 4x20. Jika Anda terus menulis dari akhir baris 1 (karakter 20) maka Anda akan berakhir di awal baris ketiga! Halaman ini memiliki koleksi peta memori yang bagus untuk sebagian besar ukuran LCD karakter. Pertama, kita posisikan kursor pada baris kedua (4:0x40). Selanjutnya, makro 'masukkan teks' mengambil input kita dan menyalinnya ke LCD. LCD>(4:0x14)(8)(4:0x54)(8) <<<beberapa sintaks makroMasukkan teks untuk disisipkan pada posisi kursor. Firmware v2.0+ <<<kami mengetik iniMasukkan teks untuk disisipkan pada posisi kursor. Prototipe Berbahaya <<Bajak Laut Bus menerima beberapa makro pada baris yang sama, sehingga seluruh layar dapat ditulis sekaligus. Kita menulis ke dua baris terakhir dengan satu baris sintaks. Kita bisa menggunakan '(3)(4:0)(8)(4:0x40)(8)(4:0x14)(8)(4:0x54) (8)' untuk mengosongkan LCD dan menulis keempat baris dengan satu entri sintaks.

Langkah 8: Langkah 6. Membaca Dari LCD

Langkah 6. Membaca Dari LCD
Langkah 6. Membaca Dari LCD

Bajak Laut Bus dan papan adaptor LCD dapat membaca dari LCD. Kami akan membaca teks yang kami tulis ke layar (DDRAM), tetapi Anda juga dapat membaca pengaturan dan ram karakter khusus (CGRAM) dengan mengatur alamat yang benar. LCD>[0b10000000 '''<<<mengatur penunjuk baca'' ']HD44780 RS LOW, COMMAND MODE <<<daftar pilih pin lowCMD TULIS: 0x80 <<Pertama, kami memberitahu Bajak Laut Bus untuk mengirim data ke register perintah LCD ([). Selanjutnya kita gunakan perintah set DDRAM address (0b1xxxxxxx) untuk mengatur read pointer ke awal DDRAM (xxxxxxx=0000000).]LCD>]rrrrrrr <<<read data memoryHD44780 RS HIGH, DATA MODE <<<register pilih pin highREAD: 0x48 <<< 'H'READ: 0x44 <<< 'D'READ: 0x34 <<< '4'READ: 0x34 <<< '4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<< '0'LCD>Akhirnya, beri tahu Bus Pirate untuk membaca dari memori data (]), lalu membaca beberapa byte (rrrrrrr). Kami mendapatkan "HD44780", teks yang kami tulis ke layar pada langkah 5. Anda juga harus dapat menggunakan pintasan r:7 untuk membaca tujuh byte, tetapi itu tidak berfungsi di firmware saat ini - kami akan memperbaikinya sebelum rilis berikutnya.

Langkah 9: Melakukan Lebih Banyak

Melakukan Lebih Banyak
Melakukan Lebih Banyak

Berikan gambaran umum tentang Langkah Adaptor LCD karakter HD44780 adalah aksesori yang berguna untuk Bajak Laut Bus. Ini dapat digunakan untuk tes cepat, atau pengembangan logika yang lebih maju. Selain LCD, delapan pin I/O 2.5volt-5volt mungkin berguna untuk aplikasi Bajak Laut Bus dengan jumlah pin tinggi lainnya. Kita dapat memiliki PCB, kit, atau kit rakitan yang diproduksi oleh Seeed Studio dengan harga sekitar $15, termasuk pengiriman ke seluruh dunia, selengkapnya di sini. Saya tidak dapat menyertakan beberapa elemen pemformatan dan tabel HTML dalam Instructable, Anda dapat melihat posting asli di blog Dangerous Prototypes.

Direkomendasikan: