Nama ikonik " Nokia 5110 " itu sendiri semestinya telah membeli kenangan mengenai telefon bimbit Nokia yang kuat yang sangat popular pada tahun 90-an. Model 5110 hadir dengan Paparan Grafik yang cukup untuk bertindak sebagai skrin paparan untuk telefon bimbit pada masa itu. Skrin ini mampu menampilkan segala-galanya dari watak alfanumerik hingga grafik kecil yang diperlukan untuk telefon bimbit. Ketika bumi berputar teknologi baru dengan layar sentuh berkilat muncul dan paparan ini tidak lagi digunakan. Tetapi mudah-mudahan ia dapat digunakan dalam aplikasi elektronik di mana grafik kecil harus dipaparkan dan mengelakkan menghabiskan wang pada layar LCD besar. Oleh itu, dalam tutorial ini, kita akan belajar bagaimana menghubungkan LCD Grafik Nokia 5110 dengan Arduino dan membuatnya berfungsi.
LCD ini mempunyai piksel hitam dan putih berdimensi 84 × 48. Mereka mungkin kelihatan monoton tetapi tetap dapat digunakan untuk menampilkan grafik yang baik untuk projek anda dan dapat digunakan dengan mudah dengan mikrokontroler seperti Arduino. Oleh itu mari kita mulakan….!
Bahan yang Diperlukan:
- Arduino Board (versi apa pun)
- Paparan Nokia 5110
- Menyambung wayar
Modul Paparan Grafik Nokia 5110:
Terdapat dua jenis LCD Grafik ini yang terdapat di pasaran. Satu dengan solder pad di atas dan di bawah paparan dan yang lain dengan solder pad hanya di bahagian bawah paparan. Yang kami gunakan adalah milik jenis 2, di mana terdapat pad hanya di bawah paparan. Kedua-dua modul berfungsi sama dan oleh itu sambungannya sama untuk kedua-duanya. Oleh itu, tanpa mengira modulnya, anda boleh mengikuti tutorial.
Seperti yang dinyatakan sebelumnya Nokia 5110 Graphical LCD mempunyai 84 piksel dalam mendatar dan 48 piksel dalam keadaan menegak. Keseluruhan ukuran paparan adalah 1.72 'x 1.72'. Modul ini mempunyai 6 pin input yang dapat digunakan untuk menghubungkannya ke mikrokontroler melalui komunikasi SPI. IC antara muka yang berkomunikasi antara paparan dan Arduino adalah IC pengawal paparan Philips PCD8544 yang lembar datanya boleh didapati di sini. Walau bagaimanapun, jika anda menggunakan Arduino untuk berkomunikasi dengan IC ini, maka kami tidak perlu bimbang tentang lembaran data kerana terdapat perpustakaan yang siap dimuat dan digunakan. Modul yang kami gunakan di sini ditunjukkan di bawah.
Rajah Litar:
Gambarajah litar lengkap untuk menghubungkan Nokia5110 Graphical LCD dengan Arduino diberikan di bawah.
Modul paparan mempunyai 8 pin yang digunakan untuk mengatur komunikasi SPI dengan Arduino. Modul ini dikuasakan dengan pin 3.3V papan Arduino. Perhatikan bahawa modul ini berfungsi pada logik 3.3V dan oleh itu tidak membekalkan 5V ke pin Vcc paparan. Saya telah memasang kabel paparan secara langsung ke Arduino, walaupun LCD berfungsi pada logik 3.3V dan Arduino pada logik 5V kerana ketika itu saya dapati LCD berfungsi dengan betul. Anda boleh menggunakan pembahagi voltan untuk menukar 5V ke 3.3V jika diperlukan, tetapi bagi saya ia berfungsi hanya tanpa penukaran logik. Sambungannya cukup mudah dan lurus untuk dibuat. Sebaik sahaja anda selesai dengan sambungan, tetapan anda akan kelihatan seperti ini di bawah.
Program Arduino dan Bekerja:
Ikuti langkah-langkah berikut untuk memprogram Arduino anda untuk Nokia 5110 Display. Langkah-langkahnya mengandaikan bahawa anda sudah memasang Arduino IDE dan sudah biasa menggunakannya.
Langkah 1: Buka Arduino IDE di Komputer anda dan pilih papan yang sesuai di bawah menu alat setelah menyambungkan Arduino ke komputer anda.
Langkah 2: Klik di sini untuk memuat turun Perpustakaan Paparan Nokia 5110 oleh pustaka Adafruit dari repositori GitHub.
Langkah 3: Setelah fail Zip dimuat turun, pilih Sketsa -> Sertakan Perpustakaan -> Tambahkan perpustakaan.ZIP dan semak ke lokasi di mana ZIP dimuat turun.
Catatan: Anda juga perlu memuat turun inti Grafik Adafruit GFX yang merangkumi semua bulatan, teks, segi empat tepat, dan lain-lain. Anda boleh mendapatkannya dari https://github.com/adafruit/Adafruit-GFX-Library dan memasangnya dengan cara yang sama.
Langkah 4: Sekarang buka program contoh dengan memilih Fail -> Contoh -> Adafruit PCD Nokia 5110 LCD Library -> pcdtest dan klik pada butang muat naik
Langkah 5: Setelah program dimuat, tekan butang reset pada Arduino dan anda akan melihat contoh program yang memaparkan semua animasi seperti yang ditunjukkan dalam video yang diberikan pada akhir tutorial ini.
Anda dapat membaca program contoh untuk memahami pelbagai fungsi built-in yang dapat digunakan untuk melakukan pelbagai reka bentuk grafik pada LCD. Tetapi mari kita melangkah lebih jauh dan cuba memaparkan Logo CircuitDigest di layar LCD.
Sekarang buka gambar yang diperlukan di Cat dan ubah saiz gambarnya. Ukuran gambar maksimum yang boleh kita gunakan untuk paparan kita ialah 84 × 48.
Setelah mengubah ukuran gambar, simpan gambar sebagai bitmap (hitam putih) dengan menggunakan pilihan simpan sebagai di Cat. Untuk memaparkan gambar sebagai bitmap di layar LCD kita akan memerlukan perisian yang dapat mengubah gambar bitmap menjadi kod. Anda boleh memuat turun perisian dengan mengklik di sini. Setelah memuat turun unzip fail dan klik pada "BitmapEncoder" untuk melancarkan aplikasi. Buka gambar bitmap yang baru kita simpan menggunakan perisian ini untuk mendapatkan susunan nilai yang dikodkan. Anda boleh menyalin nilai-nilai ini secara langsung dan menampalnya dalam tatasusunan Arduino anda. Nilai yang ditunjukkan oleh perisian untuk logo kami ditunjukkan di bawah
Seperti yang anda lihat susunan bermula dengan nilai 48, 48 ini adalah ukuran gambar kita. Kita tidak boleh menambahkannya dalam susunan kita. Jadi, keluarkan dua nilai pertama dan gunakan selebihnya sebagai nilai array dalam program. Susunan akan kelihatan seperti di bawah. Program lengkap diberikan di akhir halaman ini untuk rujukan anda.
char static const unsigned PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B000000, B000000, B000000, B000000, B000000, B000000, B000000, B000000, B000000, B000000 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B000000, B000000, B000000, B000000, B000000, B000000, B000000, B000000 B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B1111000, B1111000, B1111000, B1111000, B1111000, B1111000, B1111000, B1111000, B11110001 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B11111000, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B01111111, B11111110, B00111110, B00000000, B01111111, B11111100, B01111111, B11111100, B01111100, B11000000, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B00000001, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111110, B00111111, B11111111, B10000011, B11111110, B00000000, B00000000, B00111111, B11111111, B10110011, B11111000, B00000000, B00000000, B110000, B000000, B000000, B000000, B000000, B000000, B00000000, B00000000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B110011, B110000, B110000, B110000, B11000000, B11000000, B11000000 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B11111100, B00000000, B00000000, B00000001, B11111111, B10000111, B11011000, B00111111, B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B10000111, B11110000, B00000000, B00000000, B00000011, B11111111, B11111111, B11000000, B00000000, B00000000, B00000000, B11111111, B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Sekarang untuk memaparkan bitmap ini kita harus menggunakan baris kod berikut. Di mana data sebelumnya di skrin dihapus dan gambar bitmap baru ditulis.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); paparan.display ();
Paparan baris.drawBitmap (20, 0, Logo, 48, 48, 1); paparkan kedudukan, ukuran dan warna gambar bitmap. Sintaks boleh diberikan sebagai.
display.drawBitmap (X_Position, Y_Position, Name of Array, panjang gambar, luas gambar);
Panjang dan lebar gambar dapat diperoleh dari dua elemen pertama susunan masing-masing seperti yang diberitahu sebelumnya. Semasa kod ini dijalankan, kita akan memaparkan bitmap di skrin LCD kita seperti yang ditunjukkan di bawah.
Anda juga dapat memaparkan teks sederhana seperti gambar di bawah:
Harap anda memahami tutorial dan membuat Nokia 5110 LCD anda dihubungkan dengan Arduino. Dengan paparan grafik ini di lengan baju anda, anda dapat membuat banyak projek yang memerlukan perincian grafik kecil. Penyelesaian yang lengkap boleh didapati dalam video yang diberikan di bawah. Sekiranya anda menghadapi masalah untuk membuat ini berfungsi, anda boleh menggunakan forum untuk menghantar masalah anda atau bahagian komen di bawah.