Isi kandungan:

Modul Pengawal LCD Uber I2C: 6 Langkah
Modul Pengawal LCD Uber I2C: 6 Langkah

Video: Modul Pengawal LCD Uber I2C: 6 Langkah

Video: Modul Pengawal LCD Uber I2C: 6 Langkah
Video: Cara menggunakan layar LCD LCD2004 dengan modul I2C untuk Arduino 2024, Julai
Anonim
Modul Pengawal LCD Uber I2C
Modul Pengawal LCD Uber I2C
Modul Pengawal LCD Uber I2C
Modul Pengawal LCD Uber I2C
Modul Pengawal LCD Uber I2C
Modul Pengawal LCD Uber I2C

Mukadimah

Instruktif ini memperincikan cara membuat modul pengawal berasaskan HD44780 LCD (gambar 1 di atas). Modul ini membolehkan pengguna mengawal semua aspek LCD secara teratur melalui I2C, yang terdiri daripada; LCD dan paparan, kontras dan intensiti cahaya belakang. Walaupun Arduino Uno R3 digunakan untuk prototaip, ia akan berfungsi sama dengan mikrokontroler yang menyokong I2C.

Pengenalan

Seperti yang disebutkan di atas, artikel ini mendokumentasikan pembuatan Modul Pengawal LCD I2C, ini terutama dimaksudkan sebagai latihan reka bentuk untuk menentukan berapa lama masa yang diperlukan untuk membuat PCB kerja praktikal.

Reka bentuk menggantikan modul pengawal generik standard (gambar 3 di atas) dan menggunakan Instructables dan perpustakaan yang saya hasilkan sebelumnya.

Dari prototaip konsep awal (gambar 2 di atas) hingga PCB yang telah selesai dan diuji sepenuhnya (gambar 1 di atas) memerlukan masa 5.5 hari.

Bahagian apa yang saya perlukan? Lihat bil bahan yang dilampirkan di bawah

Perisian apa yang saya perlukan?

  • Arduino IDE 1.6.9,
  • Kicad v4.0.7 jika anda ingin mengubah suai PCB. Jika tidak, hantarkan sahaja 'LCD_Controller.zip' ke JLCPCB.

Alat apa yang saya perlukan?

  • Mikroskop sekurang-kurangnya x3 (untuk pematerian SMT),
  • Besi solder SMD (dengan pena fluks cecair dan pateri cored fluks),
  • Pinset kuat (untuk pematerian SMT),
  • Tang halus (titik dan lubang hidung),
  • DMM dengan pemeriksaan kesinambungan yang dapat didengar.

Apakah kemahiran yang saya perlukan?

  • Banyak kesabaran,
  • Banyak ketangkasan manual dan koordinasi tangan / mata yang sangat baik,
  • Kemahiran pematerian yang sangat baik.

Topik yang dibincangkan

  • Pengenalan
  • Gambaran Keseluruhan Litar
  • Pembuatan PCB
  • Gambaran Keseluruhan Perisian
  • Menguji Reka Bentuk
  • Kesimpulannya
  • Rujukan Yang Digunakan

Langkah 1: Gambaran Keseluruhan Litar

Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar

Gambarajah litar penuh semua elektronik diberikan dalam gambar 1 di atas, bersama dengan PDF yang sama di bawah.

Litar ini dirancang untuk menjadi pengganti yang tepat untuk Modul Pengawal LCD PCF8574A I2C standard dengan tambahan berikut;

  • Pengguna I2C boleh dipilih keserasian 3v3 atau 5v,
  • Kawalan kontras digital atau tetapan periuk konvensional,
  • Pemilihan intensiti cahaya belakang yang berubah-ubah dengan kawalan fungsi pelonggaran Quartic untuk mencapai pemudaran yang lancar.

Kawalan Paparan LCD

Ini adalah faksimili dari I2C LCD Controller Module standard yang menggunakan PCF8574A (IC2) untuk I2C ke penukaran selari.

Alamat I2C lalai untuk ini adalah 0x3F.

Keserasian 3v3 atau 5v I2C

Untuk operasi 3v3 muat Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 dan C2.

Sekiranya operasi 5v diperlukan, jangan pasangkan komponen 3v3, gantinya dengan 0 Ohm perintang ROpt 3 dan 4.

Kontras digital

Kawalan kontras digital dicapai melalui penggunaan potensiometer digital U2 MCP4561-103E / MS dan C4, R5.

Sekiranya potensiometer mekanikal konvensional diperlukan, maka satu boleh dipasang ke PCB, RV1 10K, bukan U2, C4 dan R5. Lihat BoM untuk potensiometer yang serasi.

Dengan merapatkan jumper J6, alamat I2C adalah 0x2E. Ia diandaikan untuk operasi normal ini dapat dihubungkan.

Pemilihan intensiti cahaya belakang yang berubah-ubah

Intensiti cahaya belakang yang berubah-ubah dikendalikan oleh modulasi PWM lampu belakang LED LCD melalui pin U1 6 dan ATTiny85. Untuk mengekalkan keserasian penuh dengan Modul Pengawal LCD I2C standard R1, T1 R7 dan T2 digunakan untuk memodulasi rel bekalan + ve.

Alamat I2C lalai untuk ini adalah 0x08. Ini boleh dipilih pengguna, pada waktu kompilasi sebelum pengaturcaraan U1.

Langkah 2: Pembuatan PCB

Pembuatan PCB
Pembuatan PCB
Pembuatan PCB
Pembuatan PCB
Pembuatan PCB
Pembuatan PCB
Pembuatan PCB
Pembuatan PCB

Seperti yang disebutkan sebelumnya Instructable ini adalah latihan, terutama bertujuan untuk menentukan berapa lama waktu yang diperlukan untuk menyelesaikan suatu rancangan (yang memiliki tujuan praktis).

Dalam kejadian ini saya memikirkan konsep awal pada hari Sabtu petang dan telah melengkapkan prototaip pada hari Sabtu malam gambar 1 di atas. Idea saya seperti yang dinyatakan, adalah membuat varian saya sendiri dari modul pengawal LCD I2C, dengan jejak yang sama, yang menawarkan kawalan penuh programatik LCD terhadap I2C.

Gambarajah skematik dan susun atur PCB dikembangkan dengan Kicad v4.0.7 gambar 2 dan 3. Ini diselesaikan pada hari Ahad petang dan bahagian-bahagiannya dipesan dari Farnell dan PCB telah dimuat naik ke JLCPCB pada petang Ahad.

Komponen tiba dari Farnell pada hari Rabu, diikuti oleh PCB dari JLCPCB pada hari Khamis (saya menggunakan perkhidmatan penghantaran DHL untuk mempercepat) gambar 4, 5, 6 & 7.

Menjelang petang Khamis dua papan (varian 3v3 dan 5v) telah dibina dan berjaya diuji pada paparan LCD 4 hingga 20. Gambar 8, 9 & 10.

5.5 hari yang menakjubkan dari konsep awal hingga selesai.

Saya terkejut betapa cepatnya JLCPCB dapat membuat pesanan, membuat PCB PTH dua sisi dan menghantarnya ke UK. Melepuh 2 hari untuk pembuatan dan 2 hari untuk dihantar. Ini lebih pantas daripada pengeluar PCB yang berpangkalan di UK dan pada harga yang lebih rendah.

Langkah 3: Gambaran Keseluruhan Perisian

Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian

Terdapat tiga bahagian komponen utama perisian yang diperlukan untuk mengawal modul pengawal LCD I2C;

1. Perpustakaan Arduino LiquidCrystal_I2C_PCF8574

Terdapat di sini

Untuk digunakan dalam lakaran Arduino anda untuk mengawal paparan LCD.

Catatan: Ini berfungsi sama dengan Pengawal Modul LCD Generik I2C. Hanya ia memberikan fungsi daripada perpustakaan lain.

2. Perpustakaan MCP4561_DIGI_POT Arduino

Untuk digunakan dalam lakaran anda untuk mengawal kontras LCD secara program

Terdapat di sini

3. Kawalan secara teratur tahap cahaya belakang LCD menggunakan fungsi pelonggaran PWM dan Quartic untuk mencapai pemudaran yang lancar

Seperti yang disebutkan sebelumnya, papan berisi ATTiny85 tunggal yang digunakan untuk mengontrol pudar cahaya belakang secara beransur-ansur.

Perincian perisian ini diberikan dalam Instructable 'Smooth PWM LED Fading With the ATTiny85'

Dalam kes ini untuk memastikan dimensi PCB akhir sama dengan modul pengawal LCD generik, varian SOIC dari ATTiny85 dipilih. Gambar 1 dan 2 menunjukkan bagaimana ATTiny85 SOIC diprogramkan dan diuji dalam penyediaan prototaip.

Kod yang diprogramkan ke ATTiny85 adalah 'Tiny85_I2C_Slave_PWM_2.ino' tersedia di sini

Untuk perincian mengenai cara membuat programmer ATTiny85 anda sendiri, lihat Instructable 'Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP'

Langkah 4: Menguji Reka Bentuk

Menguji Reka Bentuk
Menguji Reka Bentuk
Menguji Reka Bentuk
Menguji Reka Bentuk

Untuk menguji reka bentuk, saya membuat lakaran bernama 'LCDControllerTest.ino' yang membolehkan pengguna menetapkan sebarang parameter khusus LCD secara langsung melalui sambungan terminal bersiri.

Sketsa boleh didapati di repositori GitHub I2C-LCD-Controller-Module saya

Gambar 1 di atas menunjukkan tekan papan pematuhan 5v I2C yang dipasang pada LCD 4 x 20 dan gambar 2 paparan lalai semasa menjalankan kod ujian untuk pertama kalinya.

Ia menggunakan nilai lalai berikut untuk cahaya belakang dan kontras;

  • #tentukan DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((lama tidak ditandatangani) (10))
  • #tentukan DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

Saya dapati ini berfungsi dengan baik dengan paparan LCD 4 x 20 yang saya gunakan.

Langkah 5: Kesimpulannya

Ketika saya mula-mula memulakan industri elektronik / perisian beberapa ketika dahulu, terdapat penekanan yang besar pada penggunaan wire-wrap atau papan verob untuk membuat prototaip dengan banyak kejuruteraan berlebihan di litar akhir sekiranya anda melakukan kesalahan, memandangkan kos dan jangka masa putaran semula papan.

Kesalahan biasanya memakan masa beberapa minggu mengikut jadual dan melonjakkan margin keuntungan (dan mungkin pekerjaan anda).

PCB disebut 'karya seni', kerana mereka benar-benar karya seni. Dicipta dua kali saiz penuh menggunakan pita krep hitam melekit oleh 'tracer' atau draughtsperson dan dikurangkan secara fotografi oleh rumah fab untuk menjadikan foto tahan stensil.

Diagram litar juga dibuat oleh pelacak dan dilukis dengan tangan dari nota reka bentuk anda. Salinan dibuat secara statik dan disebut 'cetakan biru'. Kerana mereka selalu berwarna biru.

Pengawal mikro hanya pada masa kanak-kanak mereka dan biasanya dicontohi rangkaian jika syarikat anda mampu mendapatkannya dengan persekitaran pembangunan yang kompleks dan mahal.

Sebagai pembuat pada masa itu, hanya kos rantai alat pengembangan perisian yang melarang, anda pasti terpaksa memasukkan nilai hex langsung ke EPROM (RAM / Flash jika anda sangat beruntung) kemudian menghabiskan berjam-jam menafsirkan tingkah laku yang dihasilkan untuk menentukan apa kod anda lakukan sekiranya tidak berfungsi seperti yang diharapkan (bit 'goyangan' atau cetakan bersiri menjadi teknik debug yang paling popular. Beberapa perkara tidak pernah berubah). Anda biasanya harus menulis semua perpustakaan anda sendiri kerana tidak ada yang tersedia (pastinya tidak ada sumber kaya seperti internet).

Ini bermakna anda menghabiskan banyak masa untuk memahami bagaimana sesuatu berfungsi dan menghabiskan lebih sedikit masa untuk membuat kreatif.

Semua gambar rajah anda dilukis dengan tangan, biasanya pada A4 atau A3 dan harus difikirkan secara menyeluruh, memberi mereka aliran laluan isyarat yang logik dari kiri ke kanan. Pembetulan biasanya bermaksud anda perlu memulakan dengan lembaran baru.

Sebahagian besar litar terakhir anda dibangunkan menggunakan papan verob untuk kekal dan dipasang dalam kandang ABS sederhana untuk memberikannya 'sentuhan profesional'.

Secara kontras, saya mengembangkan keseluruhan projek ini dalam 5.5 hari menggunakan perisian percuma berkualiti tinggi menghasilkan PCB standard profesional. Sekiranya keinginan itu membawa saya, saya boleh memasangnya dalam kotak cetak 3D buatan saya sendiri.

Sesuatu yang mungkin anda impikan kurang dari satu dekad yang lalu.

Bagaimana keadaan telah berubah menjadi lebih baik.

Langkah 6: Rujukan Yang Digunakan

Reka bentuk skema KiCAD dan reka bentuk PCB

KiCAD EDA

Alat Pembangunan Perisian Arduino ORG

Arduino

Perpustakaan LiquidCrystal_I2C_PCF8574 Arduino

Di sini

MCP4561_DIGI_POT Perpustakaan Arduino

Di sini

LED PWM yang licin pudar dengan ATTiny85

Di sini

Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP

Disyorkan: