Isi kandungan:

HD44780 LCD to I2C Adapter Board for Bus Pirate: 9 Langkah
HD44780 LCD to I2C Adapter Board for Bus Pirate: 9 Langkah

Video: HD44780 LCD to I2C Adapter Board for Bus Pirate: 9 Langkah

Video: HD44780 LCD to I2C Adapter Board for Bus Pirate: 9 Langkah
Video: How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial 2024, November
Anonim
HD44780 LCD to I2C Adapter Board untuk Bus Pirate
HD44780 LCD to I2C Adapter Board untuk Bus Pirate
HD44780 LCD to I2C Adapter Board untuk Bus Pirate
HD44780 LCD to I2C Adapter Board untuk Bus Pirate

LCD watak murah berdasarkan chipset HD44780 terdapat dalam pelbagai saiz: 2x16, 4x20, dll. Paparan ini mempunyai dua mod antara muka standard, selari 4bit dan 8bit. 8bit memerlukan sejumlah 11 baris data, 4bit memerlukan 7 (6 untuk menulis sahaja). Beberapa LCD menyokong mod data bersiri tambahan, seperti VFD yang saya lindungi di Hack a Day. LCD HD44780 umumnya merupakan bahagian 5volt dengan bekalan yang berasingan untuk lampu belakang. Bus Pirate hanya mempunyai lima pin I / O bertoleransi 5volt, jadi kami membuat papan penyesuai kecil dengan pin yang cukup untuk mengendalikan LCD. Bus Pirate mengendalikan papan penyesuai melalui perpustakaan antara muka LCDnya. Teruskan membaca mengenai papan penyesuai LCD dan perpustakaan antara muka Bus Pirate HD44780. Saya boleh memiliki PCB, kit, atau kit pemasangan yang dihasilkan oleh Seeed Studio dengan harga sekitar $ 15, termasuk penghantaran di seluruh dunia, lebih banyak lagi di sini. Saya tidak dapat memasukkan beberapa elemen pemformatan dan jadual HTML dalam Instructable, anda dapat melihat siaran asal di Prototaip Berbahaya blog.

Langkah 1: Perkakasan

Perkakasan
Perkakasan
Perkakasan
Perkakasan
Perkakasan
Perkakasan

Ikhtisar Dalam artikel ini kami menggariskan papan penyesuai I2C untuk LCD berasaskan HD44780. Kami menunjukkannya dengan antara muka siri universal Pirate Bus. Kod sumber Bus Pirate untuk pustaka antara muka HD44780 berasaskan I2C adalah domain awam, jadi percuma untuk menyesuaikan diri dengan projek anda sendiri. Perkakas gambar Litar perkakasan saiz penuh [PNG]. Litar dan PCB dirancang dengan versi percuma Cadsoft Eagle. Fail reka bentuk boleh dimuat turun dari Bus Pirate SVN. Sebelum menggunakan papan penyesuai, pastikan untuk mengesahkan lembar data untuk LCD anda dengan pinout penyesuai. Tidak semua LCD sama. PCF8574 I / O expander IC Ini adalah cip expander 8 I / O ringkas yang dikendalikan melalui antara muka I2C dua wayar. Antara muka I2C dapat diakses dari header JP1. PCF8574 berfungsi dari 2.5 hingga 5volts. Pin I / O beroperasi pada voltan bekalan, jadi jika kita memberi makan 5volts, ia menghubungkan LCD pada 5volts. C1 (0.1uF) melepaskan IC dari turun naik bekalan kuasa. Satu pin PCF8574 mengendalikan LED 3mm (LED1) melalui perintang penghad semasa R2 (1000 ohm). Lampu LED menunjukkan kejayaan komunikasi antara Bus Pirate dan penyesuai. PCF8574 tidak dapat menghasilkan arus yang cukup untuk menghidupkan LED, jadi kami menghidupkan LED dari bekalan 5volt dan menukar tanah. LCD Papan penyesuai berkomunikasi dengan LCD watak berasaskan HD44780 dalam mod antara muka selari 4bit. Pin antara muka 4bit - RS, RW, EN, dan D4-D7 - disambungkan ke tujuh pin PCF8574 I / O. Kami suka menggunakan header pin lelaki 0.1 "untuk menyambungkan penyesuai ke LCD, anda biasanya boleh menyandarkan LCD pada pin untuk membuat hubungan yang mencukupi untuk ujian cepat. Perintang pemangkas R1 (10K) memberikan voltan penyesuaian kontras ke pin 3 LCD header. Kami tidak menyambungkan pin lampu latar kerana terdapat banyak gaya lampu latar yang berbeza. Menyediakan kuasa untuk lampu latar LED mungkin merosakkan skrin yang memerlukan bekalan voltan negatif. Bekalan kuasa Sebilangan besar LCD memerlukan 5 volt, menyediakan bekalan kuasa luaran melalui header JP2. Kami menyediakan pin bekalan kuasa kedua untuk menyambungkan perintang tarik Bus Pirate. PCB Litar dan PCB dirancang dengan versi percuma Cadsoft Eagle. Fail reka bentuk boleh dimuat turun dari Bus Pirate SVN. PCB adalah reka bentuk satu sisi, semua lubang melalui wayar pelompat tunggal (ditunjukkan dengan warna merah). Kami boleh memiliki PCB, kit, atau alat pemasangan yang dihasilkan oleh Seeed Studio dengan harga kira-kira $ 15, termasuk penghantaran di seluruh dunia, lebih banyak lagi di sini. Nilai Bahagian Senarai (semua ika lubang kasar) C10.1uF / 10volts + R110000 (10K) ohm single turn trimmer / potentiometer, 6mmR21000 (1K) ohm resistor, 1/4 wattLED13mm (T1) LED, redJP1 + JP20.1 "header lelaki, 5 pinIC1PCF8574N, 8bit I2C I / O expander DIP16ICS116 pin DIP socket untuk IC1I tidak dapat memasukkan beberapa elemen pemformatan dan jadual HTML dalam Instructable, anda dapat melihat postingan yang asli di blog Dangerous Prototypes.

Langkah 2: Sambungan

Sambungan
Sambungan

Peranti: HD44780 watak LCD. Bas: 4bit selari, dengan papan penyesuai PCF8574 I2C. Keperluan kuasa: 5volts. Rujukan: contoh datasheet [PDF], rujukan arahan HD44780, HD44780 LCD uber-site. Lengkapkan sesi sesi Bus Pirate untuk demonstrasi ini. Kami merancang penyesuai untuk perpustakaan LCD antara muka bersiri sejagat Bus Pirate, tetapi berfungsi dengan apa sahaja yang boleh menggunakan protokol I2C. Lihatlah kod sumber Bus Pirate untuk contoh pelaksanaan I2C-> HD44780. Sambungkan Bus Pirate ke papan penyesuai seperti yang ditunjukkan dalam jadual. Jadual juga menunjukkan sambungan mentah ke IC PCF8574 jika anda mengikuti tanpa papan penyesuai. Sambungkan penyesuai ke bekalan kuasa yang mencukupi untuk LCD, umumnya 5 volt. Sambungan I2C antara penyesuai dan Pirate Bus memerlukan perintang penarik antara 2 dan 10K. Berikut adalah lebih banyak maklumat mengenai hubungan voltan campuran dengan pull-up, dan perintang pull-up Bus Pirate on-board. Saya tidak dapat memasukkan beberapa elemen pemformatan dan jadual HTML dalam Instructable, anda dapat melihat catatan asal di blog Prototaip Berbahaya.

Langkah 3: Langkah 1. Persediaan Perpustakaan

Langkah 1. Persediaan Perpustakaan
Langkah 1. Persediaan Perpustakaan

Antaramuka Kami telah merangkumi reka bentuk penyesuai dan cara menyambungkannya ke Bus Pirate, kini tiba masanya untuk menulis sesuatu ke LCD. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< dapatkan laporan voltan PEMANTAU Voltan: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Tekan 'm' di terminal Bus Pirate dan pilih perpustakaan LCD. Pada masa ini ia hanya menyokong LCD watak HD44780 menggunakan penyesuai PFC8574 yang dijelaskan pada separuh pertama artikel ini (pilihan 1). Aktifkan bekalan kuasa (besar 'W') dan perintang penarik (menu 'p'). Periksa monitor voltan (menu 'v') dan pastikan voltan penarik (Vpullup) membaca sekitar 5 volt.

Langkah 4: Langkah 2. Tetapkan semula dan Permulaan

Langkah 2. Tetapkan Semula dan Permulaan
Langkah 2. Tetapkan Semula dan Permulaan
Langkah 2. Tetapkan Semula dan Permulaan
Langkah 2. Tetapkan Semula dan Permulaan

Jadual ini menggariskan arahan single-byte yang mengawal LCD HD44780, berikut adalah rujukan terperinci. Perintah ini boleh dimasukkan dari baris perintah Bus Pirate, tetapi kami telah membuat makro untuk kebanyakannya menjimatkan masa. LCD> (0) <<< tunjukkan menu makro0. Macro menu <<< menu ini1. LCD Reset << <reset LCD2. Init LCD <<< reset dan inisialisasi LCD3. Clear LCD <<< Clear LCD, kembalikan kursor ke 04. Posisi kursor cth: (4: 0) <<< tetapkan kedudukan kursor5. Tuliskan teks ujian <<Makro 0 memaparkan menu makro untuk sebarang mod Bus Pirate. LCD> (2) <<< menginisialisasi garis LCD paparan makro: 1. 1 <<< paparan satu baris2. Pelbagai <<2 'RESET <<< makro 2 merangkumi urutan resetINIT <<Makro LCD inisialisasi (2) mengkonfigurasi skrin untuk mod antara muka 4bit, membolehkan paparan kursor, dan menetapkan beberapa pilihan lain yang bermanfaat. Konfigurasikan bilangan baris paparan, pilih 1 untuk paparan satu baris, atau 2 untuk semua paparan lain. Selepas inisialisasi, skrin harus jelas dengan kursor yang kelihatan di sudut. Sekiranya tidak berfungsi, periksa sambungan I2C, perintang tarik, dan bekalan kuasa, kemudian cuba lagi. LCD HD44780 perlu diset semula dengan urutan isyarat khas sebelum boleh dimulakan untuk mod antara muka 4bit atau 8bit. Makro 1 mencipta urutan ini. Makro 2 merangkumi urutan semula, jadi tidak perlu menggunakan makro 1 sebelum makro 2.

Langkah 5: Langkah 3. Tuliskan Watak Uji

Langkah 3. Tuliskan Watak Uji
Langkah 3. Tuliskan Watak Uji
Langkah 3. Tuliskan Watak Uji
Langkah 3. Tuliskan Watak Uji

LCD> (6:80) <<Makro nombor tulis mengisi LCD dengan nombor ujian antara 0 dan 9. Nombor selepas titik dua memberitahu Pirate Bus berapa banyak nombor ujian untuk ditulis, kami menggunakan 4x20LCD, jadi kami menulis 80 nombor untuk mengisinya. Perhatikan bahawa kursor berakhir pada kedudukan 0, di bawah '0'. LCD> pertama (7:80) <<Makro aksara tulis mengisi LCD dengan aksara ASCII, masukkan kuantiti selepas titik dua. Perhatikan bahawa garis kepalan terus pada yang ketiga, yang ketiga pada yang kedua, dan yang kedua pada yang terakhir. Karakter tidak berterusan kerana LCD watak tidak membungkus dari satu baris ke baris berikutnya. Kami akan bercakap lebih lanjut mengenai perkara ini kemudian.

Langkah 6: Langkah 4. Kosongkan LCD

Langkah 4. Jelas LCD
Langkah 4. Jelas LCD

LCD> (3) <<Makro LCD yang jelas menghantar arahan HD44780 yang menghapus skrin dan mengembalikan kursor ke posisi pertama. Anda juga boleh melakukan operasi ini tanpa makro, rujuk jadual arahan pada awal bahagian ini. Masukkan '[0b1' di Bus Pirate untuk mengatur antara muka ke mod arahan ([) dan hantarkan arahan skrin jelas HD44780 (0b00000001) tanpa makro.]

Langkah 7: Langkah 5. Taipkan Teks

Langkah 5. Taipkan Teks
Langkah 5. Taipkan Teks
Langkah 5. Taipkan Teks
Langkah 5. Taipkan Teks

LCD> (8) <<< masukkan teks penggunaMasukkan teks untuk dimasukkan pada kedudukan kursor. HD44780 Demo LCD <<Setelah membersihkan LCD pada langkah 4, kursor diletakkan di blok pertama. Kami juga dapat menetapkannya dengan makro (4: 0), yang memindahkan kursor ke watak pertama. Masukkan teks di makro kursor meminta input teks, dan kemudian menyalinnya ke LCD ketika anda menekan enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< masukkan teksMasukkan teks untuk dimasukkan pada kedudukan kursor. Bus Pirate v2go <<Menulis ke baris kedua sedikit lebih rumit, sebenarnya bermula pada watak 64 pada LCD 4x20. Sekiranya anda terus menulis dari akhir baris 1 (watak 20) maka anda akan berakhir pada awal baris ketiga! Halaman ini mempunyai koleksi peta memori yang bagus untuk kebanyakan ukuran LCD watak. Pertama, kita meletakkan kursor pada baris kedua (4: 0x40). Seterusnya, makro 'insert text' mengambil input kami dan menyalinnya ke LCD. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< beberapa sintaks makroMasukkan teks untuk dimasukkan pada kedudukan kursor. Firmware v2.0 + <<< kami menaip ini Masukkan teks untuk dimasukkan pada kedudukan kursor. BerbahayaPrototaip <<Bus Pirate menerima banyak makro pada baris yang sama, sehingga keseluruhan skrin dapat ditulis sekaligus. Kami menulis kepada dua baris terakhir dengan satu baris sintaks. Kami boleh menggunakan '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'untuk membersihkan LCD dan menulis keempat-empat baris dengan satu entri sintaks.

Langkah 8: Langkah 6. Membaca Dari LCD

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

Papan penyesuai Bus Pirate dan LCD boleh membaca dari LCD. Kami akan membaca teks yang kami tulis ke layar (DDRAM), tetapi anda juga dapat membaca tetapan dan ram karakter khusus (CGRAM) dengan menetapkan alamat yang benar. LCD> [0b10000000 '' '<<< tetapkan penunjuk baca' ' '] HD44780 RS RENDAH, MODE PERINTAH <<< daftar pilih pin rendahCMD MENULIS: 0x80 <<Pertama, kami memberitahu Bus Pirate untuk menghantar data ke daftar arahan LCD ([). Seterusnya, kami menggunakan set alamat DDRAM (0b1xxxxxxx) untuk menetapkan penunjuk baca ke awal DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< memori data bacaHD44780 RS TINGGI, MODE DATA <<< daftar pilih pin tinggiREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Akhirnya, suruh Pirate Bus membaca dari memori data (]), dan kemudian baca beberapa bait (rrrrrrr). Kami mendapat "HD44780", teks yang kami tulis ke skrin pada langkah 5. Anda juga boleh menggunakan jalan pintas r: 7 untuk membaca tujuh bait, tetapi tidak berfungsi dalam firmware semasa - kami akan memperbaikinya sebelum keluaran seterusnya.

Langkah 9: Melakukan Lebih Banyak

Melakukan Lebih Banyak
Melakukan Lebih Banyak

Berikan gambaran umum mengenai penyesuai LCD StepThe HD44780 watak adalah aksesori berguna untuk Bus Pirate. Ia boleh digunakan untuk ujian cepat, atau pengembangan logik yang lebih maju. Sebagai tambahan kepada LCD, lapan pin 2.5volt-5volt I / O mungkin berguna untuk aplikasi Bus Pirate dengan jumlah pin tinggi. Kita boleh memiliki PCB, kit, atau kit pemasangan yang dihasilkan oleh Seeed Studio dengan harga sekitar $ 15, termasuk penghantaran di seluruh dunia, lebih banyak lagi di sini. Saya tidak dapat memasukkan beberapa elemen pemformatan dan jadual HTML dalam Instructable, anda dapat melihat catatan asal di blog Prototaip Berbahaya.

Disyorkan: