Isi kandungan:
- Langkah 1: Gambaran Keseluruhan Litar
- Langkah 2: Pembuatan PCB
- Langkah 3: Gambaran Keseluruhan Perisian
- Langkah 4: Menguji Reka Bentuk
- Langkah 5: Kesimpulannya
- Langkah 6: Rujukan Yang Digunakan
Video: Modul Pengawal LCD Uber I2C: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
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
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
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
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
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:
Pengawal Permainan DIY Berasaskan Arduino - Pengawal Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengawal Permainan DIY Berasaskan Arduino | Pengawal Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Hai kawan-kawan, bermain permainan selalu menyeronokkan tetapi bermain dengan permainan peribadi DIY Controller anda lebih menggembirakan. Oleh itu, kami akan menjadikan Pengawal permainan menggunakan arduino pro micro dalam arahan ini
Paparan LCD I2C / IIC - Gunakan LCD SPI ke Paparan LCD I2C Menggunakan Modul SPI hingga IIC Dengan Arduino: 5 Langkah
Paparan LCD I2C / IIC | Gunakan LCD SPI ke Paparan LCD I2C Menggunakan Modul SPI hingga IIC Dengan Arduino: Hai kawan kerana SPI LCD 1602 biasa mempunyai terlalu banyak wayar untuk disambungkan sehingga sangat sukar untuk menghubungkannya dengan arduino tetapi ada satu modul yang tersedia di pasaran yang boleh menukar paparan SPI menjadi paparan IIC jadi anda hanya perlu menyambungkan 4 wayar
Paparan LCD I2C / IIC - Tukarkan SPI LCD ke Paparan LCD I2C: 5 Langkah
Paparan LCD I2C / IIC | Tukar LCD SPI ke Paparan LCD I2C: menggunakan paparan spi lcd memerlukan terlalu banyak sambungan untuk dilakukan yang sangat sukar untuk dilakukan. Saya menjumpai modul yang dapat menukar lcd i2c ke lcd jadi mari kita mulakan
YABC - Namun Pengawal Blynk Lain - Pengawal Suhu dan Kelembapan Awan IoT, ESP8266: 4 Langkah
YABC - Namun Pengawal Blynk Yang Lain - Pengawal Suhu dan Kelembapan Awan IoT, ESP8266: Hai Pembuat, Saya baru-baru ini mula menanam cendawan di rumah, cendawan tiram, tetapi saya sudah mempunyai 3x pengawal ini di rumah untuk kawalan Suhu Fermenter untuk bir rumah saya, isteri juga melakukan perkara Kombucha ini sekarang, dan sebagai Termostat untuk Panas
OpenChord.org V0 - Bina Pengawal Gitar Sebenar Wira / Rock Band Pengawal: 10 Langkah
OpenChord.org V0 - Bangun Pengawal Wira Gitar Sebenar / Rock Band Pengawal: Kita semua suka Guitar Hero dan Rock Band. Kami juga tahu bahawa kami tidak akan pernah belajar bagaimana bermain gitar dengan bermain permainan ini. Tetapi bagaimana jika kita sekurang-kurangnya dapat membina alat kawalan Guitar Hero yang membolehkan kita menggunakan gitar sebenar? Itulah yang kami ada di OpenChord