Daftar Isi:

Modul Pengontrol LCD Uber I2C: 6 Langkah
Modul Pengontrol LCD Uber I2C: 6 Langkah

Video: Modul Pengontrol LCD Uber I2C: 6 Langkah

Video: Modul Pengontrol LCD Uber I2C: 6 Langkah
Video: PASTI BISA !!! TUTORIAL LCD 16X2 ARDUINO MODUL I2C - TUTORIAL LCD I2C ARDUINO BAHASA INDONESIA 2024, Juli
Anonim
Modul Pengontrol LCD Uber I2C
Modul Pengontrol LCD Uber I2C
Modul Pengontrol LCD Uber I2C
Modul Pengontrol LCD Uber I2C
Modul Pengontrol LCD Uber I2C
Modul Pengontrol LCD Uber I2C

Pembukaan

Instruksi ini merinci cara membuat modul pengontrol berbasis LCD HD44780 (gambar 1 di atas). Modul ini memungkinkan pengguna untuk mengontrol semua aspek LCD secara terprogram melalui I2C, yang terdiri dari; LCD dan tampilan, kontras dan intensitas cahaya belakang. Meskipun Arduino Uno R3 digunakan untuk membuat prototipe, ia akan bekerja sama baiknya dengan mikrokontroler apa pun yang mendukung I2C.

pengantar

Seperti disebutkan di atas artikel ini mendokumentasikan pembuatan Modul Pengontrol LCD I2C, ini terutama dimaksudkan sebagai latihan desain untuk menentukan berapa lama waktu yang dibutuhkan untuk membuat PCB yang berfungsi secara praktis.

Desainnya menggantikan modul pengontrol generik standar (gambar 3 di atas) dan menggunakan Instructables dan library yang telah saya buat sebelumnya.

Dari prototipe konsep awal (gambar 2 di atas) hingga selesai, PCB yang sepenuhnya diuji (gambar 1 di atas) membutuhkan total 5,5 hari.

Bagian apa yang saya butuhkan? Lihat bill of material terlampir di bawah ini

Perangkat lunak apa yang saya butuhkan?

  • ArduinoIDE 1.6.9,
  • Kicad v4.0.7 jika Anda ingin memodifikasi PCB. Jika tidak, kirim saja 'LCD_Controller.zip' ke JLCPCB.

Alat apa yang saya butuhkan?

  • Mikroskop minimal x3 (untuk penyolderan SMT),
  • Besi solder SMD (dengan pena fluks cair dan solder inti fluks),
  • Pinset yang kuat (untuk menyolder SMT),
  • Tang halus (ujung runcing dan berhidung pesek),
  • DMM dengan pemeriksaan kontinuitas yang dapat didengar.

Keterampilan apa yang saya butuhkan?

  • Banyak kesabaran,
  • Banyak ketangkasan manual dan koordinasi tangan/mata yang sangat baik,
  • Keterampilan menyolder yang sangat baik.

Topik yang dibahas

  • pengantar
  • Ikhtisar Sirkuit
  • Pembuatan PCB
  • Ikhtisar Perangkat Lunak
  • Menguji Desain
  • Kesimpulan
  • Referensi yang Digunakan

Langkah 1: Ikhtisar Sirkuit

Ikhtisar Sirkuit
Ikhtisar Sirkuit

Diagram rangkaian lengkap dari semua elektronik diberikan pada gambar 1 di atas, bersama dengan PDF yang sama di bawah ini.

Sirkuit ini dirancang untuk menjadi pengganti yang tepat untuk Modul Pengontrol LCD PCF8574A I2C standar dengan peningkatan berikut;

  • Kompatibilitas 3v3 atau 5v yang dapat dipilih pengguna I2C,
  • Kontrol kontras digital atau pengaturan pot konvensional,
  • Pemilihan intensitas cahaya belakang variabel dengan kontrol fungsi easing Quartic untuk mencapai fading yang halus.

Kontrol Tampilan LCD

Ini adalah faksimili Modul Pengontrol LCD I2C standar yang menggunakan PCF8574A (IC2) untuk konversi I2C ke paralel.

Alamat I2C default untuk ini adalah 0x3F.

Kompatibilitas 3v3 atau 5v I2C

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

Jika operasi 5v diperlukan maka jangan pasang komponen 3v3 apa pun, ganti dengan resistor 0 Ohm ROpt 3 dan 4.

Kontras digital

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

Jika potensiometer mekanik konvensional diperlukan maka seseorang dapat dipasang ke PCB, RV1 10K, bukan U2, C4 dan R5. Lihat BoM untuk potensiometer yang kompatibel.

Dengan menjembatani jumper J6, alamat I2C adalah 0x2E. Itu diasumsikan untuk operasi normal ini dijembatani.

Pemilihan intensitas cahaya belakang variabel

Intensitas lampu latar variabel dikendalikan oleh modulasi PWM dari lampu latar LED LCD melalui U1 pin 6 an ATTiny85. Untuk mempertahankan kompatibilitas penuh dengan Modul Pengontrol LCD I2C standar R1, T1 R7 dan T2 digunakan untuk memodulasi rel suplai +ve.

Alamat I2C default untuk ini adalah 0x08. Ini dapat dipilih pengguna, pada waktu kompilasi sebelum pemrograman U1.

Langkah 2: Pembuatan PCB

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

Seperti disebutkan sebelumnya, Instruksi ini adalah latihan, terutama dimaksudkan untuk menentukan berapa lama waktu yang dibutuhkan untuk menyelesaikan desain (yang memiliki tujuan praktis).

Dalam hal ini saya memikirkan konsep awal pada Sabtu sore dan telah menyelesaikan prototipe pada Sabtu malam gambar 1 di atas. Ide saya seperti yang dinyatakan, adalah untuk membuat varian saya sendiri dari modul pengontrol LCD I2C, dengan footprint yang identik, menawarkan kontrol terprogram penuh dari LCD melalui I2C.

Diagram skema dan tata letak PCB dikembangkan dengan Kicad v4.0.7 pics 2 dan 3. Ini selesai pada Minggu sore dan suku cadang dipesan dari Farnell dan PCB diunggah ke JLCPCB pada Minggu malam.

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

Pada Kamis malam dua papan (varian 3v3 dan 5v) telah dibuat dan berhasil diuji pada layar LCD 4 kali 20. foto 8, 9 & 10.

5,5 hari yang luar biasa dari konsep awal hingga selesai.

Sungguh mengejutkan saya betapa cepatnya JLCPCB dapat menerima pesanan, membuat PCB PTH dua sisi dan mengirimkannya ke Inggris. Terik 2 hari untuk pembuatan dan 2 hari untuk pengiriman. Ini lebih cepat daripada produsen PCB yang berbasis di Inggris dan dengan harga yang lebih murah.

Langkah 3: Ikhtisar Perangkat Lunak

Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak

Ada tiga bagian komponen utama perangkat lunak yang diperlukan untuk mengontrol modul pengontrol LCD I2C;

1. Perpustakaan Arduino LiquidCrystal_I2C_PCF8574

Tersedia disini

Untuk digunakan dalam sketsa Arduino Anda untuk mengontrol layar LCD.

Catatan: Ini berfungsi sama baiknya dengan Pengontrol Modul LCD Generik I2C. Hanya itu memberikan fungsionalitas daripada perpustakaan lain.

2. Perpustakaan Arduino MCP4561_DIGI_POT

Untuk digunakan dalam sketsa Anda untuk mengontrol kontras LCD secara terprogram

Tersedia disini

3. Kontrol terprogram tingkat lampu belakang LCD menggunakan fungsi PWM dan Quartic easing untuk mencapai fading yang mulus

Seperti yang disebutkan sebelumnya, papan ini berisi ATTiny85 tunggal yang digunakan untuk mengontrol pemudaran bertahap lampu belakang tampilan.

Rincian perangkat lunak ini diberikan dalam Instruksi sebelumnya 'PWM LED Halus Memudar Dengan ATTiny85'

Dalam hal ini untuk menjaga agar dimensi PCB akhir tetap sama dengan modul pengontrol LCD generik, varian SOIC dari ATTiny85 dipilih. Gambar 1 dan 2 menunjukkan bagaimana SOIC ATTiny85 diprogram dan diuji dalam pengaturan prototipe.

Kode yang diprogram ke dalam ATTiny85 adalah 'Tiny85_I2C_Slave_PWM_2.ino' tersedia di sini

Untuk detail tentang cara membuat programmer ATTiny85 Anda sendiri, lihat Instruksi 'Memrogram ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP'

Langkah 4: Menguji Desain

Menguji Desain
Menguji Desain
Menguji Desain
Menguji Desain

Untuk menguji desain saya membuat sketsa bernama 'LCDControllerTest.ino' yang memungkinkan pengguna untuk mengatur parameter khusus LCD secara langsung melalui koneksi terminal serial.

Sketsa dapat ditemukan di repositori GitHub saya I2C-LCD-Controller-Module

Gambar 1 di atas menunjukkan board press yang sesuai dengan 5v I2C yang dipasang pada LCD 4 kali 20 dan gambar 2 adalah tampilan default saat menjalankan kode uji untuk pertama kalinya.

Ini menggunakan nilai default berikut untuk cahaya latar dan kontras;

  • #define DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((panjang tidak ditandatangani) (10))
  • #define DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

Saya menemukan ini bekerja dengan baik dengan layar LCD 4 kali 20 yang saya miliki.

Langkah 5: Kesimpulan

Ketika saya pertama kali mulai di industri elektronik/perangkat lunak beberapa waktu yang lalu sekarang, ada penekanan besar pada penggunaan konstruksi wire-wrap atau veroboard untuk membuat prototipe dengan banyak over-engineering pada sirkuit akhir jika Anda melakukan kesalahan., mengingat biaya dan durasi putaran ulang papan.

Sebuah kesalahan biasanya menghabiskan beberapa minggu pada jadwal dan meniup margin keuntungan (dan mungkin pekerjaan Anda).

PCB disebut 'karya seni', karena mereka benar-benar karya seni. Dibuat dua kali ukuran penuh menggunakan pita krep hitam lengket oleh 'pelacak' atau juru gambar dan secara fotografis dikurangi oleh rumah yang luar biasa untuk membuat foto tahan stensil.

Diagram sirkuit juga dibuat oleh pelacak dan digambar dengan tangan dari catatan desain Anda. Salinan dilakukan secara foto-statis dan disebut 'cetak biru'. Karena mereka selalu berwarna biru.

Mikrokontroler hanya dalam masa pertumbuhan dan biasanya di sirkuit ditiru jika perusahaan Anda mampu membelinya dengan lingkungan pengembangan yang kompleks dan mahal yang menyertainya.

Sebagai pembuat pada saat itu, biaya rantai alat pengembangan perangkat lunak saja sangat mahal, Anda pasti dipaksa untuk memasukkan nilai hex langsung ke EPROM (RAM/Flash jika Anda sangat beruntung) kemudian menghabiskan berjam-jam menafsirkan perilaku yang dihasilkan untuk menentukan apa kode Anda lakukan jika tidak bekerja seperti yang diharapkan (sedikit 'bergoyang' atau printf serial menjadi teknik debug paling populer. Beberapa hal tidak pernah berubah). Anda biasanya harus menulis semua perpustakaan Anda sendiri karena tidak ada yang tersedia (tentu saja tidak ada sumber kaya seperti internet).

Ini berarti Anda menghabiskan banyak waktu untuk mencoba memahami bagaimana sesuatu bekerja dan menghabiskan lebih sedikit waktu untuk membuat sesuatu secara kreatif.

Semua diagram Anda digambar tangan, biasanya pada A4 atau A3 dan harus dipikirkan dengan matang, memberi mereka aliran jalur sinyal yang logis dari kiri ke kanan. Koreksi biasanya berarti Anda harus memulai dengan lembaran baru.

Untuk sebagian besar sirkuit akhir Anda dikembangkan menggunakan veroboard untuk keabadian dan dipasang di selungkup ABS sederhana untuk memberikan 'sentuhan profesional' itu.

Sebaliknya, saya mengembangkan seluruh proyek ini dalam 5,5 hari menggunakan freeware berkualitas tinggi yang menghasilkan PCB standar profesional. Jika keinginan telah membawa saya, saya bisa memasangnya di kotak cetak 3D buatan saya sendiri.

Sesuatu yang hanya bisa Anda impikan kurang dari satu dekade lalu.

Bagaimana hal-hal telah berubah menjadi lebih baik.

Langkah 6: Referensi Digunakan

Tangkapan skema KiCAD dan desain PCB

KiCAD EDA

Alat Pengembangan Perangkat Lunak Arduino ORG

Arduino

LiquidCrystal_I2C_PCF8574 Perpustakaan Arduino

Di Sini

Perpustakaan Arduino MCP4561_DIGI_POT

Di Sini

LED PWM Halus Memudar Dengan ATTiny85

Di Sini

Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP

Direkomendasikan: