Daftar Isi:
- Langkah 1: Ikhtisar Sirkuit
- Langkah 2: Pembuatan PCB
- Langkah 3: Ikhtisar Perangkat Lunak
- Langkah 4: Menguji Desain
- Langkah 5: Kesimpulan
- Langkah 6: Referensi Digunakan
Video: Modul Pengontrol LCD Uber I2C: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
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
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
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
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
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:
Pengontrol Game DIY Berbasis Arduino - Pengontrol Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengontrol Game DIY Berbasis Arduino | Pengontrol Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Halo teman-teman, bermain game selalu menyenangkan tetapi bermain dengan Kontroler game kustom DIY Anda sendiri lebih menyenangkan. Jadi kami akan membuat Pengontrol game menggunakan arduino pro micro dalam instruksi ini
Layar LCD I2C / IIC - Gunakan LCD SPI ke Layar LCD I2C Menggunakan Modul SPI ke IIC Dengan Arduino: 5 Langkah
Layar LCD I2C / IIC | Menggunakan LCD SPI ke Layar LCD I2C Menggunakan Modul SPI ke IIC Dengan Arduino: Hai teman-teman karena LCD SPI 1602 yang normal memiliki terlalu banyak kabel untuk dihubungkan sehingga sangat sulit untuk menghubungkannya dengan arduino tetapi ada satu modul yang tersedia di pasaran yang dapat ubah tampilan SPI menjadi tampilan IIC sehingga Anda hanya perlu menghubungkan 4 kabel
Layar LCD I2C / IIC - Mengonversi LCD SPI ke Layar LCD I2C: 5 Langkah
Layar LCD I2C / IIC | Mengkonversi LCD SPI ke Layar LCD I2C: menggunakan layar lcd spi membutuhkan terlalu banyak koneksi yang sangat sulit untuk dilakukan jadi saya menemukan modul yang dapat mengubah lcd i2c ke lcd spi jadi mari kita mulai
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: 4 Langkah
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: Hai Pembuat,Saya baru-baru ini mulai menanam jamur di rumah, jamur tiram, tetapi saya sudah 3x pengontrol ini di rumah untuk kontrol Suhu Fermentor untuk minuman rumah saya, istri juga melakukan hal Kombucha ini sekarang, dan sebagai Termostat untuk Panas
Kerja Modul Pengontrol Termal: 3 Langkah
Cara Kerja Modul Pengontrol Termal: Ketika kami mengerjakan semua jenis proyek termal atau refridgerasi, kami membutuhkan pengontrol termal tetapi harganya cukup mahal untuk dibeli, Dalam proyek ini saya ingin memperkenalkan pengontrol termal Cina yang murah. dengan fitur bagus dan beberapa fitur tersembunyi