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

Kalkulator Arduino

Komponen dan persediaan

Arduino UNO
× 1
Kit Perisai LCD RGB, Tampilan Karakter 16x2
× 1
Kabel jumper (generik)
× 1
Baterai 9V (generik)
× 1
Breadboard (generik)
× 1

Tentang proyek ini

Di akhir proyek ini, Anda akan mengetahui cara menggunakan LCD dan Keypad 16x2 dengan Arduino dan juga betapa mudahnya memprogramnya menggunakan pustaka yang tersedia. Anda juga akan memahami cara memprogram Arduino Anda untuk menyelesaikan tugas tertentu.

Bahan yang Dibutuhkan:

  • Arduino Uno (Semua versi dapat digunakan)
  • Layar LCD 16×2
  • Keypad 4×4
  • Baterai 9V
  • Breadboard dan Kabel penghubung

H0

Pin pertama keyboard

H1

Pin ke-2 pada keyboard

D2

Pin ke-3 pada keyboard

D3

Pin keyboard ke-4

D4

Pin keyboard ke-5

D5

Pin keyboard ke-6

D6

Pin keyboard ke-7

D7

Pin keyboard ke-8

H8

Daftar pilih pin LCD (pin 4)

D9

Aktifkan pin LCD (pin 6)

H10

Pin data 4 (pin 11)

H11

Pin data 4 (pin 11)

H12

Pin data 4 (pin 11)

H13

Pin data 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 yang terhubung ke pin 0 dan pin1, jadi jika Anda mengalaminya lepaskan saja tombol saat mengunggah program.

Setelah koneksi Anda selesai, perangkat keras Anda akan terlihat seperti di bawah ini

Kode

  • File tanpa judul
File tanpa judulArduino
* * Program kalkulator Keypad Arduino */#include  //File header untuk LCD dari https://www.arduino.cc/en/Reference/LiquidCrystal#include  //Header file untuk Keypad dari https://github.com/Chris--A/Keypadconst byte ROWS =4; // Empat barisconst byte COLS =4; // Tiga kolom// Tentukan kunci Keymapchar[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 Keypadconst int rs =8, en =9, d4 =10, d5 =11, d6 =12, d7 =13; //Menyematkan LCD yang terhubungLiquidCrystal lcd(rs, en, d4, d5, d6, d7); Nomor panjang1,Num2,Nomor; kunci karakter, tindakan; hasil boolean =salah; void setup() { lcd.begin(16, 2); //Kami menggunakan layar LCD 16*2 lcd.print("Kalkulator DIY"); //Menampilkan pesan intro lcd.setCursor(0, 1); // atur kursor ke kolom 0, baris 1 lcd.print("-CircuitDigest"); //Menampilkan penundaan pesan intro(2000); //Tunggu tampilan menampilkan info lcd.clear(); //Lalu bersihkan}void loop() { key =kpd.getKey(); //menyimpan nilai kunci yang ditekan dalam charif (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }void DetectButtons(){ lcd.clear(); //Kemudian bersihkan if (key=='*') //Jika tombol cancel ditekan {Serial.println("Button Cancel"); Angka=Bilangan1=Bilangan2=0; result=false;} if (key =='1') //Jika Tombol 1 ditekan {Serial.println ("Tombol 1"); if (Angka==0) Angka=1; else Angka =(Nomor*10) + 1; //Ditekan dua kali } if (tombol =='4') //Jika Tombol 4 ditekan {Serial.println ("Tombol 4"); if (Angka==0) Angka=4; else Angka =(Nomor*10) + 4; //Ditekan dua kali } if (key =='7') //Jika Tombol 7 ditekan {Serial.println ("Button 7"); if (Angka==0) Angka=7; else Angka =(Nomor*10) + 7; //Tekan dua kali } if (kunci =='0') {Serial.println ("Tombol 0"); //Tombol 0 Ditekan jika (Angka==0) Angka=0; else Angka =(Nomor*10) + 0; //Tekan dua kali } if (tombol =='2') //Tombol 2 Ditekan {Serial.println ("Tombol 2"); if (Angka==0) Angka=2; else Angka =(Nomor*10) + 2; //Tekan dua kali } if (kunci =='5') {Serial.println ("Tombol 5"); if (Angka==0) Angka=5; else Angka =(Nomor*10) + 5; //Tekan dua kali } if (kunci =='8') {Serial.println ("Tombol 8"); if (Angka==0) Angka=8; else Angka =(Nomor*10) + 8; //Tekan dua kali } if (kunci =='#') {Serial.println ("Tombol Sama"); Angka2=Angka; hasil =benar; } if (kunci =='3') {Serial.println ("Tombol 3"); if (Angka==0) Angka=3; else Angka =(Nomor*10) + 3; //Tekan dua kali } if (kunci =='6') {Serial.println ("Tombol 6"); if (Angka==0) Angka=6; else Angka =(Nomor*10) + 6; //Tekan dua kali } if (kunci =='9') {Serial.println ("Tombol 9"); if (Angka==0) Angka=9; else Angka =(Nomor*10) + 9; //Tekan dua kali } if (key =='A' || key =='B' || key =='C' || key =='D') //Mendeteksi Tombol pada Kolom 4 { Num1 =Number; Nomor =0; if (kunci =='A') {Serial.println ("Penambahan"); aksi ='+';} if (kunci =='B') {Serial.println ("Pengurangan"); tindakan ='-'; } if (kunci =='C') {Serial.println ("Perkalian"); aksi ='*';} if (kunci =='D') {Serial.println ("Pengembangan"); tindakan ='/';} delay(100); } }void HitungResult(){ if (action=='+') Number =Num1+Num2; if (aksi=='-') Angka =Angka1-Num2; if (aksi=='*') Angka =Angka1*Num2; if (aksi=='/') Angka =Angka1/Bilangan2; }void DisplayResult(){ lcd.setCursor(0, 0); // atur kursor ke kolom 0, baris 1 lcd.print(Num1); lcd.print(aksi); lcd.print(Bilangan2); if (hasil==benar) {lcd.print(" ="); lcd.print(Number);} //Menampilkan hasil lcd.setCursor(0, 1); // atur kursor ke kolom 0, baris 1 lcd.print(Number); //Menampilkan hasilnya}

Skema


Proses manufaktur

  1. Rolling Pin
  2. Pin Bowling
  3. Demo Eksploitasi Keyboard Arduino (HID) dan Pencegahan
  4. Memrogram Seri Atmel AT89 Melalui Arduino
  5. Arduino Spybot
  6. Membaca Sinyal PPM Penerima RC Menggunakan Arduino
  7. FlickMote
  8. TV Buatan Sendiri B-Gone
  9. Jam Master
  10. 25 kHz 4 Pin Kontrol Kipas PWM dengan Arduino Uno