Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad

Komponen dan Perlengkapan

Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad
Arduino UNO
× 1
Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad
RGB LCD Shield Kit, 16x2 Character Display
× 1
Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad
Jumper wires (generic)
× 1
Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad
9V battery (generic)
× 1
Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad
Breadboard (generic)
× 1

Tentang Proyek Ini

Pada akhir proyek ini Anda akan tahu cara menggunakan LCD 16x2 dan Keypad dengan Arduino dan juga seberapa mudah memprogramnya menggunakan library yang tersedia. Anda juga akan memahami cara memprogram Arduino untuk menyelesaikan tugas tertentu.

Bahan yang Diperlukan:

Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad

D0

pin 1 keyboard

D1

pin 2 keyboard

D2

pin 3 keyboard

D3

pin 4 keyboard

D4

pin 5 keyboard

D5

pin 6 keyboard

D6

pin 7 keyboard

D7

pin 8 keyboard

D8

Pin register select LCD (pin 4)

D9

Pin enable 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

Terhubung ke pin Vdd LCD (pin 2)

Ground

Terhubung ke pin Vss, Vee dan RW LCD (pin 1, 3 dan 5)

Beberapa papan Arduino mungkin menunjukkan kesalahan saat mengunggah program jika ada sesuatu yang terhubung ke pin 0 dan pin 1, jadi jika Anda mengalami sesuatu, cukup lepaskan keypad saat mengunggah program.

Setelah koneksi Anda selesai, hardware Anda akan terlihat seperti di bawah ini

Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad

Kode

File tanpa judulArduino
* * Program Kalkulator Keypad Arduino */ #include <LiquidCrystal.h> //File header LCD dari https://www.arduino.cc/en/Reference/LiquidCrystal #include <Keypad.h> //File header Keypad dari https://github.com/Chris--A/Keypad const byte ROWS = 4; // Empat baris const byte COLS = 4; // Tiga kolom // Definisikan Keymap char keys[ROWS][COLS] = { {'7','8','9','D'}, {'4','5','6','C'}, {'1','2','3','B'}, {'*','0','#','A'} }; byte rowPins[ROWS] = { 0, 1, 2, 3 };// Hubungkan keypad ROW0, ROW1, ROW2 dan ROW3 ke pin Arduino ini. byte colPins[COLS] = { 4, 5, 6, 7 }; // Hubungkan keypad COL0, COL1 dan COL2 ke pin Arduino ini. Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Buat Keypad const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; //Pin tempat LCD terhubung LiquidCrystal lcd(rs, en, d4, d5, d6, d7); long Num1,Num2,Number; char key,action; boolean result = false; void setup() { lcd.begin(16, 2); //Kami menggunakan tampilan LCD 16*2 lcd.print("DIY Calculator"); //Tampilkan pesan pengantar lcd.setCursor(0, 1); // set kursor ke kolom 0, baris 1 lcd.print("-CircuitDigest"); //Tampilkan pesan pengantar delay(2000); //Tunggu tampilan untuk menunjukkan info lcd.clear(); //Lalu bersihkan } void loop() { key = kpd.getKey(); //menyimpan nilai tombol yang ditekan di char if (key!=NO_KEY) DetectButtons(); if (result==true) CalculateResult(); DisplayResult(); } void DetectButtons() { lcd.clear(); //Lalu bersihkan if (key=='*') //Jika tombol Batal ditekan {Serial.println ("Button Cancel"); Number=Num1=Num2=0; result=false;} if (key == '1') //Jika tombol 1 ditekan {Serial.println ("Button 1"); if (Number==0) Number=1; else Number = (Number*10) + 1; //Ditekan dua kali } if (key == '4') //Jika tombol 4 ditekan {Serial.println ("Button 4"); if (Number==0) Number=4; else Number = (Number*10) + 4; //Ditekan dua kali } if (key == '7') //Jika tombol 7 ditekan {Serial.println ("Button 7"); if (Number==0) Number=7; else Number = (Number*10) + 7; //Ditekan dua kali } if (key == '0') {Serial.println ("Button 0"); //Tombol 0 Ditekan if (Number==0) Number=0; else Number = (Number*10) + 0; //Ditekan dua kali } if (key == '2') //Tombol 2 Ditekan {Serial.println ("Button 2"); if (Number==0) Number=2; else Number = (Number*10) + 2; //Ditekan dua kali } if (key == '5') {Serial.println ("Button 5"); if (Number==0) Number=5; else Number = (Number*10) + 5; //Ditekan dua kali } if (key == '8') {Serial.println ("Button 8"); if (Number==0) Number=8; else Number = (Number*10) + 8; //Ditekan dua kali } if (key == '#') {Serial.println ("Button Equal"); Num2=Number; result = true;} if (key == '3') {Serial.println ("Button 3"); if (Number==0) Number=3; else Number = (Number*10) + 3; //Ditekan dua kali } if (key == '6') {Serial.println ("Button 6"); if (Number==0) Number=6; else Number = (Number*10) + 6; //Ditekan dua kali } if (key == '9') {Serial.println ("Button 9"); if (Number==0) Number=9; else Number = (Number*10) + 9; //Ditekan dua kali } if (key == 'A' || key == 'B' || key == 'C' || key == 'D') //Mendeteksi Tombol pada Kolom 4 { Num1 = Number; Number =0; if (key == 'A') {Serial.println ("Addition"); action = '+';} if (key == 'B') {Serial.println ("Subtraction"); action = '-'; } if (key == 'C') {Serial.println ("Multiplication"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} delay(100); } } void CalculateResult() { if (action=='+') Number = Num1+Num2; if (action=='-') Number = Num1-Num2; if (action=='*') Number = Num1*Num2; if (action=='/') Number = Num1/Num2; } void DisplayResult() { lcd.setCursor(0, 0); // set kursor ke kolom 0, baris 1 lcd.print(Num1); lcd.print(action); lcd.print(Num2); if (result==true) {lcd.print(" ="); lcd.print(Number);} //Tampilkan hasil lcd.setCursor(0, 1); // set kursor ke kolom 0, baris 1 lcd.print(Number); //Tampilkan hasil } 

Skematik

Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad

Proses manufaktur

  1. Gilas Adonan: Dari Asal Usul Etruria hingga Kerajinan Modern
  2. Evolusi dan Kerajinan Pin Bowling Modern
  3. Mencegah Serangan USB HID: Demo Eksploitasi Keyboard Arduino Leonardo
  4. Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah
  5. Membuat Spybot Arduino yang Dikontrol melalui Bluetooth
  6. Mendekode Sinyal PPM Penerima RC dengan Arduino: Panduan Langkah demi Langkah
  7. FlickMote: Remote IR Kendali Gestur untuk Rumah Cerdas
  8. DIY Arduino TV B-Gone: Remote Universal untuk Semua TV
  9. Bangun Jam Master LED Kustom dengan Alarm – Terlihat dari Jarak 12 Meter
  10. Kontrol Kipas PWM 4 Pin 25 kHz dengan Arduino Uno – Bangun, Kode & Uji