- Bahan yang Dibutuhkan:
- Diagram Sirkuit:
- Program Kalkulator Arduino:
- Simulasi Kalkulator Arduino:
- Cara Kerja Kalkulator Arduino:
Pemrograman selalu menyenangkan dan Arduino adalah platform yang luar biasa jika Anda baru memulai dengan pemrograman Tertanam. Dalam tutorial ini kita akan membuat kalkulator kita sendiri dengan Arduino. Nilai dapat dikirim melalui keypad (keypad 4x4) dan hasilnya dapat dilihat pada layar LCD (16x2 Dot-matrix). Kalkulator ini dapat melakukan operasi sederhana seperti Penjumlahan, Pengurangan, Perkalian dan Pembagian dengan bilangan bulat. Tetapi begitu Anda memahami konsepnya, Anda bahkan dapat mengimplementasikan fungsi ilmiah dengan fungsi bawaan Arduino.
Pada akhir proyek ini Anda akan tahu bagaimana menggunakan LCD 16x2 dan Keypad dengan Arduino dan juga betapa mudahnya memprogram untuk mereka menggunakan perpustakaan yang tersedia. Anda juga akan memahami cara memprogram Arduino Anda untuk menyelesaikan tugas tertentu.
Bahan yang Dibutuhkan:
- Arduino Uno (Versi apa pun akan berfungsi)
- Layar LCD 16 × 2
- Papan tombol 4 × 4
- Baterai 9V
- Papan tempat memotong roti dan kabel penghubung
Diagram Sirkuit:
Diagram rangkaian lengkap Proyek Kalkulator Arduino ini diberikan di atas. + 5V dan koneksi ground yang ditunjukkan pada diagram rangkaian dapat diperoleh dari pin 5V dan ground Arduino. Arduino sendiri dapat diberi daya dari laptop Anda atau melalui jack DC menggunakan adaptor 12V atau baterai 9V.
Kami mengoperasikan LCD dalam mode 4-bit dengan Arduino sehingga hanya empat bit data terakhir dari LCD yang terhubung ke Arduino. Keyboard akan memiliki 8 pin keluaran yang harus dihubungkan dari pin 0 ke pin 7 seperti yang ditunjukkan di atas. Anda dapat menggunakan tabel koneksi berikut untuk memverifikasi koneksi Anda dengan Arduino, Anda juga dapat memeriksa antarmuka Keypad 4x4 dengan Arduino.
Nama Pin Arduino: |
Terhubung dengan: |
D0 |
1 st pin keyboard |
D1 |
2 nd pin keyboard |
D2 |
3 rd pin keyboard |
D3 |
Pin ke- 4 pada keyboard |
D4 |
Pin ke- 5 pada keyboard |
D5 |
Pin ke- 6 pada keyboard |
D6 |
Pin ke- 7 pada keyboard |
D7 |
Pin ke- 8 pada keyboard |
D8 |
Daftarkan pin pilih LCD (pin 4) |
D9 |
Aktifkan pin LCD (pin 6) |
D10 |
Data pin 4 (pin 11) |
D11 |
Data pin 4 (pin 11) |
D12 |
Data pin 4 (pin 11) |
D13 |
Data pin 4 (pin 11) |
+ 5V |
Terhubung ke pin Vdd LCD (pin 2) |
Tanah |
Terhubung ke Vss, Vee dan RW pin LCD (pin 1,3 dan 5) |
Beberapa papan Arduino mungkin menunjukkan kesalahan saat mengunggah program jika ada sesuatu yang terhubung ke pin 0 dan pin1, jadi jika Anda mengalami apa pun, lepaskan saja keypad saat mengunggah program.
Setelah koneksi Anda selesai, perangkat keras Anda akan terlihat seperti ini di bawah ini
Program Kalkulator Arduino:
Program Arduino lengkap untuk proyek ini diberikan di akhir proyek ini. Kode tersebut dibagi menjadi beberapa bagian kecil yang berarti dan dijelaskan di bawah ini.
Seperti yang diceritakan sebelumnya, kami akan menghubungkan LCD dan keypad dengan Arduino menggunakan perpustakaan. Jadi mari kita tambahkan ke Arduino IDE kita terlebih dahulu. Library untuk LCD sudah termasuk dalam Arduino Anda secara default jadi kami tidak perlu khawatir tentang itu. Untuk perpustakaan Keypad, klik tautan untuk mengunduhnya dari Github. Anda akan mendapatkan file ZIP, lalu tambahkan lib ini ke Arduino by Sketch -> Include Library -> Tambahkan file.ZIP dan arahkan lokasi ke file yang diunduh ini. Setelah selesai kita siap untuk pemrograman.
Meskipun kami telah menggunakan perpustakaan untuk menggunakan keypad, kami harus menyebutkan beberapa detail (ditampilkan di bawah) tentang keypad ke Arduino. Variabel ROWS dan COLS akan memberi tahu berapa banyak baris dan kolom yang dimiliki keypad kita dan peta tombol menunjukkan urutan tombol yang ada pada keyboard. Tombol yang saya gunakan dalam proyek ini terlihat seperti ini di bawah ini untuk peta kunci juga mewakili hal yang sama.
Lebih jauh di bawah kami telah menyebutkan ke pin mana Keypad terhubung menggunakan variabel array rowPins dan colPins .
const byte ROWS = 4; // Empat baris const byte COLS = 4; // Tiga kolom // Tentukan keymap char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Hubungkan keypad ROW0, ROW1, ROW2 dan ROW3 ke pin Arduino ini. byte colPins = {4, 5, 6, 7}; // Hubungkan keypad COL0, COL1 dan COL2 ke pin Arduino ini.
Setelah kami menyebutkan jenis papan tombol yang kami gunakan dan bagaimana menghubungkannya, kami dapat membuat papan tombol menggunakan detail tersebut menggunakan baris di bawah ini
Keypad kpd = Keypad (makeKeymap (kunci), rowPins, colPins, ROWS, COLS); // Buat Keypad
Demikian pula kita juga harus memberi tahu pin Arduino mana yang terhubung dengan LCD. Menurut diagram sirkuit kami, definisinya seperti di bawah ini
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pin yang dihubungkan ke LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // buat LCD
Di dalam fungsi pengaturan , kami hanya menampilkan nama proyek dan kemudian melanjutkan ke loop sementara di mana proyek utama berada.
Pada dasarnya kita harus memeriksa apakah ada yang diketik pada keypad, jika diketik kita harus mengenali apa yang sedang diketik dan kemudian mengubahnya menjadi variabel ketika “=” ditekan kita harus menghitung hasilnya dan akhirnya menampilkannya di LCD. Ini persis seperti yang dilakukan di dalam fungsi loop seperti yang ditunjukkan di bawah ini
key = kpd.getKey (); // menyimpan nilai kunci yang ditekan dalam char if (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult ();
Apa yang terjadi di dalam setiap fungsi dijelaskan menggunakan baris komentar, melalui kode lengkap di bawah, bermain-main dengannya untuk memahami cara kerjanya sebenarnya. Jika Anda memiliki keraguan tentang baris tertentu, silakan gunakan bagian komentar atau forum.
Simulasi Kalkulator Arduino:
Kami juga dapat mencoba mensimulasikan proyek menggunakan perangkat lunak Proteus. Proteus tidak memiliki komponen Arduino sendiri, tetapi dapat dengan mudah diunduh dan ditambahkan ke perpustakaannya. Setelah Anda memiliki komponen Arduino di Proteus, cukup tambahkan LCD Alfanumerik dan Keypad untuk membuat koneksi seperti yang ditunjukkan pada diagram rangkaian.
Kemudian unduh file hex dari sini dan tambahkan ke Arduino dengan mengklik dua kali pada papan di Proteus dan arahkan "file program" ke file hex yang diunduh ini. Bidikan singkat dari simulasi ditunjukkan di bawah ini, pekerjaan lengkap ditunjukkan pada video di bawah ini.
Catatan: File hex yang diberikan tidak sama dengan program asli yang diberikan di bawah ini. Itu telah dimodifikasi karena keymap keypad simulasi dan keypad perangkat keras sebenarnya berbeda.
Cara Kerja Kalkulator Arduino:
Buat koneksi sesuai diagram sirkuit dan unggah kode di bawah ini. Jika itu menunjukkan kesalahan pastikan Anda telah menambahkan perpustakaan sesuai instruksi yang diberikan di atas. Anda juga dapat mencoba simulasi untuk memeriksa apakah masalahnya ada pada perangkat keras Anda. Jika semuanya dilakukan sebagaimana mestinya, maka perangkat keras Anda akan terlihat seperti ini di bawah ini dengan LCD yang menampilkan ini
Karena keypad yang digunakan di sini tidak memiliki tanda yang tepat di atasnya, saya mengasumsikan Abjad menjadi operator seperti yang tercantum di bawah ini
Karakter di Keypad |
Diasumsikan |
"SEBUAH" |
Penambahan (+) |
“B” |
Pengurangan (-) |
“C” |
Perkalian (*) |
“D” |
Divisi (/) |
“*” |
Hapus (C) |
“#” |
Sama dengan (=) |
Anda dapat menggunakan spidol untuk menuliskan apa yang sebenarnya diwakili oleh setiap tombol.
Setelah selesai, Anda dapat langsung mulai menggunakan kalkulator. Ketik nomor dan akan muncul di baris kedua tekan operan dan ketik nomor kedua Anda akhirnya tekan tombol "#" untuk mendapatkan hasil Anda. Anda juga dapat mencoba membangun kalkulator Arduino berbasis Layar Sentuh ini.