- Bahan yang Diperlukan:
- Rajah Litar:
- Program Kalkulator Arduino:
- Simulasi Kalkulator Arduino:
- Kerja Kalkulator Arduino:
Pengaturcaraan selalu menyeronokkan dan Arduino adalah platform yang bagus jika anda baru memulakan dengan pengaturcaraan Terbenam. Dalam tutorial ini kita akan membina kalkulator kita sendiri dengan Arduino. Nilai dapat dikirim melalui papan kekunci (papan kekunci 4 × 4) dan hasilnya dapat dilihat pada layar LCD (16 × 2 Dot-matrix). Kalkulator ini dapat melakukan operasi mudah seperti Penambahan, Penolakan, Pendaraban dan Pembahagian dengan nombor bulat. Tetapi setelah anda memahami konsepnya, anda dapat melaksanakan fungsi saintifik walaupun dengan fungsi bawaan Arduino.
Pada akhir projek ini, anda akan mengetahui cara menggunakan LCD dan Papan Kekunci 16x2 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 Diperlukan:
- Arduino Uno (Sebarang versi akan berfungsi)
- Paparan LCD 16 × 2
- Pad Kekunci 4 × 4
- Bateri 9V
- Papan roti dan wayar penyambung
Rajah Litar:
Gambarajah litar lengkap Projek Kalkulator Arduino ini diberikan di atas. Sambungan +5V dan ground yang ditunjukkan dalam gambarajah litar dapat diperoleh dari pin 5V dan ground Arduino. Arduino itu sendiri boleh dihidupkan dari komputer riba anda atau melalui bicu DC menggunakan penyesuai 12V atau bateri 9V.
Kami mengendalikan LCD dalam mod 4-bit dengan Arduino jadi hanya empat bit data terakhir LCD yang disambungkan ke Arduino. Papan Kekunci akan mempunyai 8 pin output yang harus disambungkan dari pin 0 hingga pin 7 seperti yang ditunjukkan di atas. Anda boleh menggunakan jadual sambungan berikut untuk mengesahkan hubungan anda dengan Arduino, anda juga boleh memeriksa antar muka Keypad 4x4 dengan Arduino.
Nama Pin Arduino: |
Berhubung dengan: |
D0 |
1 st pin papan kekunci |
D1 |
2 nd pin papan kekunci |
D2 |
3 rd pin papan kekunci |
D3 |
Pin ke- 4 papan kekunci |
D4 |
Pin ke- 5 papan kekunci |
D5 |
Pin ke- 6 papan kekunci |
D6 |
Pin ke- 7 papan kekunci |
D7 |
Papan kekunci ke- 8 |
D8 |
Daftar pilih pin LCD (pin 4) |
D9 |
Dayakan pin LCD (pin 6) |
D10 |
Pin data 4 (pin 11) |
D11 |
Pin data 4 (pin 11) |
D12 |
Pin data 4 (pin 11) |
D13 |
Pin data 4 (pin 11) |
+ 5V |
Disambungkan ke pin LCD Vdd (pin 2) |
Tanah |
Disambungkan ke pin LCD Vss, Vee dan RW (pin 1,3 dan 5) |
Beberapa papan Arduino mungkin menunjukkan ralat semasa memuat naik program jika ada yang berkaitan dengan pin 0 dan pin1, jadi jika anda mengalami hanya lepaskan papan kekunci semasa memuat naik program.
Setelah sambungan anda selesai, perkakasan anda akan kelihatan seperti ini di bawah
Program Kalkulator Arduino:
The program Arduino lengkap untuk projek ini diberikan pada akhir projek ini. Kod ini dibahagikan kepada potongan kecil yang bermakna dan dijelaskan di bawah.
Seperti yang diberitahu sebelumnya, kita akan menghubungkan LCD dan papan kekunci dengan Arduino menggunakan perpustakaan. Oleh itu mari kita tambahkannya ke Arduino IDE kami terlebih dahulu. Perpustakaan untuk LCD sudah termasuk dalam Arduino anda secara lalai, jadi kami tidak perlu risau. Untuk perpustakaan Keypad klik pada pautan untuk memuat turunnya dari Github. Anda akan mendapat fail ZIP, kemudian tambahkan lib ini ke Arduino oleh Sketch -> Sertakan Perpustakaan -> Tambahkan fail.ZIP dan arahkan lokasi ke fail yang dimuat turun ini. Setelah selesai, kita sudah siap untuk pengaturcaraan.
Walaupun kami telah menggunakan perpustakaan untuk menggunakan papan kekunci, kami harus menyebutkan beberapa butiran (ditunjukkan di bawah) mengenai papan kekunci ke Arduino. Pemboleh ubah ROWS dan COLS akan memberitahu berapa baris dan lajur papan kekunci kami dan peta kekunci menunjukkan susunan kekunci yang terdapat pada papan kekunci. Pad kekunci yang saya gunakan dalam projek ini kelihatan seperti di bawah ini ke peta kunci juga menunjukkan yang sama.
Lagi di bawah kita sebutkan kepada yang pin yang Keypad disambungkan menggunakan pelbagai pembolehubah rowPins dan colPins .
const byte ROWS = 4; // Empat baris const byte COLS = 4; // Tiga lajur // Tentukan kekunci char Keymap = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Sambungkan papan kekunci ROW0, ROW1, ROW2 dan ROW3 ke pin Arduino ini. byte colPins = {4, 5, 6, 7}; // Sambungkan papan kekunci COL0, COL1 dan COL2 ke pin Arduino ini.
Setelah kami menyebut jenis papan kekunci yang kami gunakan dan bagaimana ia dihubungkan, kami dapat membuat papan kekunci menggunakan butiran tersebut menggunakan garis di bawah
Pad kekunci kpd = Pad Kekunci (makeKeymap (kunci), baris pin, colPins, ROWS, COLS); // Buat Pad Kekunci
Begitu juga kita harus memberitahu pin Arduino mana yang disambungkan ke LCD. Menurut gambarajah litar kami definisi seperti di bawah
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pin yang disambungkan LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // buat LCD
Di dalam fungsi penyediaan , kita hanya memaparkan nama projek dan kemudian meneruskan ke loop sementara di mana projek utama terletak.
Pada asasnya, kita harus memeriksa apakah ada yang ditaip pada papan kekunci, jika diketik kita harus mengenali apa yang sedang ditaip dan kemudian mengubahnya menjadi pemboleh ubah ketika "=" ditekan kita harus menghitung hasilnya dan akhirnya memaparkannya pada LCD. Inilah yang dilakukan di dalam fungsi gelung seperti yang ditunjukkan di bawah
kunci = kpd.getKey (); // menyimpan nilai kunci yang ditekan dalam char jika (kunci! = NO_KEY) DetectButtons (); jika (hasil == benar) CalculateResult (); Paparan Hasil ();
Apa yang berlaku di dalam setiap fungsi dijelaskan menggunakan baris komen, baca kod lengkap di bawah, main-main dengannya untuk memahami bagaimana ia sebenarnya berfungsi. Sekiranya anda mempunyai keraguan pada baris tertentu, sila gunakan bahagian komen atau forum.
Simulasi Kalkulator Arduino:
Kami juga boleh mencuba simulasi projek menggunakan perisian Proteus. Proteus tidak mempunyai komponen Arduino sendiri, tetapi boleh dimuat turun dan ditambahkan ke perpustakaan dengan mudah. Setelah anda mempunyai komponen Arduino di Proteus, cukup tambahkan Alphanumeric LCD dan Keypad untuk membuat sambungan seperti yang ditunjukkan dalam rajah litar.
Kemudian muat turun fail hex dari sini dan tambahkan ke Arduino dengan mengklik dua kali pada papan di Proteus dan arahkan "fail program" ke fail hex yang dimuat turun ini. Ringkasan simulasi ditunjukkan di bawah, kerja lengkap ditunjukkan dalam video di bawah.
Catatan: Fail hex yang diberikan tidak sama dengan asal program yang diberikan di bawah. Telah diubah suai sejak peta utama papan kekunci simulasi dan papan kekunci perkakasan sebenarnya berbeza.
Kerja Kalkulator Arduino:
Buat sambungan seperti di rajah litar dan muat naik kod di bawah. Sekiranya menunjukkan kesalahan, pastikan anda telah menambahkan perpustakaan mengikut arahan yang diberikan di atas. Anda juga boleh mencuba simulasi untuk memeriksa sama ada masalah dengan perkakasan anda. Sekiranya semuanya dilakukan seperti yang sepatutnya, maka perkakasan anda akan kelihatan seperti di bawah ini dengan LCD memaparkan ini
Oleh kerana papan kekunci yang digunakan di sini tidak mempunyai tanda yang sesuai di atasnya, saya telah menganggap huruf sebagai operator seperti yang disenaraikan di bawah
Watak pada Pad Kekunci |
Diandaikan |
"A" |
Penambahan (+) |
"B" |
Penolakan (-) |
"C" |
Pendaraban (*) |
"D" |
Bahagian (/) |
"*" |
Jelas (C) |
"#" |
Sama dengan (=) |
Anda boleh menggunakan penanda untuk menuliskan apa yang sebenarnya ditunjukkan oleh setiap butang.
Dengan selesai, anda boleh mula menggunakan kalkulator secara langsung. Menaip nombor dan akan muncul di baris kedua tekan operan dan taipkan nombor kedua anda akhirnya tekan kekunci "#" untuk mendapatkan hasil anda. Anda juga boleh mencuba membina kalkulator Arduino berasaskan Skrin Sentuh ini.