
Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49

Posting ini bertujuan untuk menjelaskan cara yang lebih mudah untuk menggunakan Arduino Due (atau papan 3.3V lainnya) dengan Layar LCD 16x2 yang populer dengan modul adaptor I2C.
Masalah awalnya adalah LCD membutuhkan 5V agar lampu latarnya berfungsi dengan baik, tetapi pin SCL dan SDA harus beroperasi pada 3.3V untuk berkomunikasi dengan Arduino Due tanpa menyebabkan kerusakan. Untuk mengatasi ini, saya telah menemukan dua opsi:
Solusi yang paling banyak disebutkan adalah dengan menggunakan Bi-Directional Logic Level Converter, yang memang memecahkan masalah. Tapi itu juga menambahkan komponen lain ke daftar Anda dan koneksi kabel tambahan di sirkuit Anda
Cara lain yang saya temukan adalah dengan melepas 2 resistor pullup di "ransel adaptor I2C" dari LCD. Selain jauh lebih mudah, ia memiliki kelebihan lain yang dijelaskan dalam perbandingan di bagian akhir. Metode ini adalah fokus utama dari posting ini
Perlengkapan
Arduino Due
Layar LCD 16x2 dengan modul adaptor I2C
Besi solder
Pompa solder atau sumbu solder
Pinset
Langkah 1: Asal Solusi
Solusinya tidak saya temukan, saya melihat saran dan penjelasan yang cukup bagus di Forum Arduino di tautan di bawah ini, yang akan saya reproduksi di posting ini.
forum.arduino.cc/index.php?topic=553725.0
Jawaban dari: david_prentice
Saya tidak dapat menemukan tutorial lengkap di internet dan, karena ini adalah masalah yang sangat umum, saya mencoba menyajikan solusinya di sini secara rinci, menyaksikannya benar-benar berfungsi, dan menambahkan info yang mungkin mengurangi beberapa skeptisisme tentang hasilnya.
Langkah 2: Penjelasan
Perangkat
Agar komunikasi I2C berfungsi, diperlukan resistor pullup yang terhubung ke pin SDA dan SCL. Itu karena perangkat hanya mengubah pin ini menjadi RENDAH saat berkomunikasi. Untuk mewakili TINGGI, itu hanya harus tidak mengirim RENDAH, dan berkat pull-up itu menjadi TINGGI. (pemahaman ini akan sangat penting nanti)
"Ransel I2C" LCD memiliki dua resistor pull-up 4K7 yang memenuhi persyaratan I2C. Tetapi karena terhubung ke Vcc, jika Anda menggunakan 5 V, mereka akan menarik SDA dan SCL ke 5 V.
Jika Anda melihat lembar data, Anda dapat melihat bahwa, tidak seperti papan lainnya, Due sudah memiliki resistor pull-up 1K5 onboard pada pin SDA, SCL utamanya, yang menariknya ke 3,3 V.
Tes
- Tampilan LCD -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Jika Anda hanya menghubungkan LCD pada Due (mengikuti pengkabelan di atas), pullup Due 1k5 (atau 1k0) yang terhubung ke 3.3V dan pullup LCD 4K7 yang terhubung ke 5 V akan menghasilkan jalur I2C idle pada 3,7 V (3,6 V dengan 1k0). Itu tidak baik, karena datasheet Due menetapkan tegangan maksimum 3,6 V untuk saluran I/O-nya.
Dengan menguji skenario ini, hanya dengan LCD, saya mendapat 3, 56 V. Dengan menambahkan Modul EEPROM ke SDA dan SCL yang sama, naik menjadi 3,606 V. Dalam kedua kasus semuanya bekerja normal, tetapi itu jauh dari tegangan ideal tingkat mempertimbangkan 3,6 V maksimum yang ditetapkan.
Jadi ya, ada kemungkinan itu akan berfungsi seperti yang saya lakukan tanpa melakukan perubahan apa pun. Tetapi level tegangan masih jauh dari ideal dan beberapa perbedaan pada pullup Due atau LCD dapat menyebabkannya melampaui batas 3,6 V. (Akan disarankan untuk setidaknya menguji sebelumnya dengan hati-hati dengan potensiometer 20K atau 100K berapa resistansi terendah antara pin 5 V dan SCL/SDA sebelum mencapai 3,6 V, meskipun solusi lainnya jauh lebih aman dan mungkin lebih mudah)
Larutan
Solusi yang disajikan adalah cukup dengan melepas resistor pull-up dari ransel LCD, yang mencoba menarik saluran hingga 5 V. Kemudian, hanya resistor pull-up Due onboard yang tersisa, menarik jalur SCL dan SDA ke 3.3V. Ini bekerja dengan sempurna, mempertahankan pin idle di sekitar 3,262 V!
Koneksi tetap sama:
- Layar LCD -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Jika Anda bertanya-tanya apakah LCD tidak akan menarik garis ke 5 V untuk mewakili TINGGI saat berkomunikasi, ingatlah bahwa pada I2C perangkat hanya menarik garis RENDAH, menjadi sinyal TINGGI diwakili saat tidak mengganggu, yang akan menjadi 3,3 V dari pull-up bawaan Due.
Juga, 3,3 V cukup untuk ransel I2C untuk dianggap sebagai sinyal TINGGI.
Langkah 3: Identifikasi dan Lepaskan Resistor


Gambar di atas menunjukkan dengan warna merah resistor pullup yang saya temukan di modul saya.
Mengenali
Karena ransel adaptor LCD I2C mungkin berbeda, resistor mungkin tidak dalam konfigurasi yang sama. Untuk mengidentifikasi resistor pullup, Anda dapat menggunakan multimeter dengan uji kontinuitas. Setiap resistor pull-up harus memiliki satu ujung yang terhubung ke pin SCL atau SDA dan ujung lainnya ke Vcc.
Dalam kasus saya, ada tiga resistor 4K7 (472 dalam kode SMD) di papan tulis. Hanya dua dari mereka yang memenuhi persyaratan di atas, menunjukkan bahwa ini adalah pull-up yang kami cari!
Untuk tindakan pencegahan ekstra (jika karena alasan tertentu bukan 4K7), saya juga menguji resistor lain dan memastikan tidak ada yang memenuhi persyaratan untuk menjadi pull-up.
Menghapus
Sekarang, yang harus Anda lakukan adalah mematri mereka! Lebih mudah jika Anda memiliki pompa solder atau sumbu solder dan pinset untuk membantu.
Langkah 4: Perbandingan Antara Solusi
Konverter Tingkat Logika Dua Arah (LLC)
Kelebihan:
Tidak memerlukan peralatan atau kemampuan menyolder
Kontra:
Iklankan lebih banyak kabel dan LLC ke daftar komponen daftar Anda
Koneksi Messier dengan komponen tambahan
Sedikit lebih mahal
Desolder Resistor pull-up LCD
Kelebihan:
Hasil akhir lebih bersih
Anda mungkin dapat melakukannya segera, tidak harus menunggu LLC
Sangat bagus jika Anda ingin mengurangi variasi komponen dan kompleksitas perakitan dalam proyek yang kompleks atau yang ingin Anda tiru
Kontra:
Mengubah sirkuit LCD (Jika Anda ingin "siap digunakan" dengan Uno, sudah memiliki pull-up 4K7, Anda dapat membatalkan perubahan dengan menyoldernya kembali)
Langkah 5: Pertimbangan Terakhir
Saya harap tutorial ini menjelaskan masalah kompatibilitas ini dan beberapa kemungkinan solusinya.
Jika Anda memiliki ide perbaikan, penjelasan yang lebih baik, solusi baru, atau menemukan kesalahan dalam posting, beri tahu saya di komentar!:)
Direkomendasikan:
Cara Menggunakan Layar LCD Karakter I2C 20x4 Dengan Arduino: 6 Langkah

Cara Menggunakan Layar LCD Karakter I2C 20x4 Dengan Arduino: Dalam tutorial sederhana ini kita akan mempelajari cara menggunakan layar LCD Karakter I2C 20x4 dengan Arduino Uno untuk menampilkan teks sederhana "Halo Dunia. Tonton videonya
Macintosh layar sentuh - Mac Klasik Dengan iPad Mini untuk Layar: 5 Langkah (dengan Gambar)

Macintosh layar sentuh | Mac Klasik Dengan IPad Mini untuk Layar: Ini adalah pembaruan dan desain revisi saya tentang cara mengganti layar Macintosh vintage dengan iPad mini. Ini adalah yang ke-6 yang saya buat selama bertahun-tahun dan saya cukup senang dengan evolusi dan desain yang satu ini! Kembali pada tahun 2013 ketika saya membuat
Game Gunting Batu Kertas Arduino Genggam Menggunakan Layar LCD 20x4 Dengan I2C: 7 Langkah

Game Gunting Batu Kertas Arduino Genggam Menggunakan Layar LCD 20x4 Dengan I2C: Halo semuanya atau mungkin saya harus mengatakan "Halo Dunia!"Senang rasanya berbagi proyek dengan Anda yang telah menjadi entri saya untuk banyak hal Arduino. Ini adalah permainan Gunting Batu Kertas Arduino genggam menggunakan layar LCD I2C 20x4. SAYA
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