Isi kandungan:

Kalkulator Arduino Menggunakan Pad Kekunci 4X4: 4 Langkah (dengan Gambar)
Kalkulator Arduino Menggunakan Pad Kekunci 4X4: 4 Langkah (dengan Gambar)

Video: Kalkulator Arduino Menggunakan Pad Kekunci 4X4: 4 Langkah (dengan Gambar)

Video: Kalkulator Arduino Menggunakan Pad Kekunci 4X4: 4 Langkah (dengan Gambar)
Video: BELAJAR ARDUINO #71 - Membuat Kalkulator 2024, Julai
Anonim
Image
Image

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. Kalkulator ini dapat melakukan operasi mudah seperti Penambahan, Pengurangan, Pendaraban dan Pembahagian dengan nombor bulat. Tetapi setelah anda memahami konsepnya, anda dapat melaksanakan fungsi saintifik walaupun dengan fungsi bawaan Arduino.

Bekalan

Arduino Uno

Paparan LCD 16 × 2

Pad Kekunci 4 × 4

Papan roti

Kabel Jumper

Kabel Arduino

Langkah 1: Skematik

Langkah 2: Pemasangan Perpustakaan:

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.

Langkah 3: Kod Sumber:

/*

© Techtronic Harsh

*/

#sertakan

#sertakan

LiquidCrystal lcd (0, 1, 2, 3, 4, 5);

const byte ROWS = 4; const byte COLS = 4;

kekunci char [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' * '}, {' C ',' 0 ',' = ',' / '}}; byte rowPins [ROWS] = {13, 12, 11, 10}; byte colPins [COLS] = {9, 8, 7, 6};

Pad kekunci myKeypad = Pad Kekunci (makeKeymap (kekunci), rowPins, colPins, ROWS, COLS);

boolean presentValue = palsu;

boolean seterusnya = salah; boolean final = salah; Rentetan num1, num2; jawapan int; char op;

persediaan tidak sah ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Kalkulator"); kelewatan (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Suka Dan"); lcd.setCursor (0, 1); lcd.print ("Langgan Kami"); kelewatan (3000); lcd.clear (); }

gelung kosong () {

kunci char = myKeypad.getKey ();

jika (kunci! = NO_KEY && (kunci == '1' || kunci == '2' || kunci == '3' || kunci == '4' || kunci == '5' || kunci = = '6' || kunci == '7' || kunci == '8' || kunci == '9' || kunci == '0'))

{if (presentValue! = true) {num1 = num1 + kekunci; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // untuk menyesuaikan satu ruang kosong untuk lcd.print operator (num1); } lain {num2 = num2 + kekunci; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); akhir = benar; }}

lain jika (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

{if (presentValue == false) {presentValue = benar; op = kunci; lcd.setCursor (15, 0); lcd.print (op); }}

lain jika (final == true && key! = NO_KEY && key == '=') {

jika (op == '+') {jawapan = num1.toInt () + num2.toInt (); } lain jika (op == '-') {jawapan = num1.toInt () - num2.toInt (); } lain jika (op == '*') {jawapan = num1.toInt () * num2.toInt (); } lain jika (op == '/') {jawapan = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (jawapan); lcd.noAutoscroll (); } lain jika (kunci! = NO_KEY && key == 'C') {lcd.clear (); presentValue = palsu; akhir = palsu; num1 = ""; num2 = ""; jawapan = 0; op = ''; }}

/*

© Techtronic Harsh

*/

Langkah 4: Bekerja:

Buat sambungan seperti rajah litar dan muat naik kodnya. Sekiranya menunjukkan kesalahan, pastikan anda telah menambahkan perpustakaan mengikut arahan yang diberikan di atas.

Karakter pada Pad Kekunci dan Andaian:

  • "A" - Penambahan (+)
  • "B" - Pengurangan (-)
  • "C" - Pendaraban (*)
  • "D" - Bahagian (/)
  • "*" - Jelas (C)
  • "#" - Sama (=)

Disyorkan: