Daftar Isi:

Kontes TinkerCad Kalkulator: 8 Langkah
Kontes TinkerCad Kalkulator: 8 Langkah

Video: Kontes TinkerCad Kalkulator: 8 Langkah

Video: Kontes TinkerCad Kalkulator: 8 Langkah
Video: Arduino Calculator using Keypad and LCD - Tinkercad Calculator using 4x4 Keypad and LCD 2024, November
Anonim
Kontes Kalkulator TinkerCad
Kontes Kalkulator TinkerCad

Hei, jadi baru-baru ini saya telah menjelajahi cara menerapkan berbagai jenis kode ke dalam rangkaian. Saya menemukan bahwa membuat kalkulator akan menjadi cara yang bagus untuk menerapkan "kasus" dan bentuk kode lain yang menurut saya menarik. Saya dulu pernah membuat kalkulator langsung dari kode, tetapi membuat sirkuit untuk itu membuat saya tertarik. Apalagi selama masa karantina ini di mana saya berada di komputer saya hampir sepanjang hari. Proyek ini adalah untuk mengimplementasikan operasi matematika pada layar LCD.

Langkah 1: Bahan

Untuk Sirkuit:

  • LCD 16x2
  • Arduino Uno R3
  • Papan tombol 4x4
  • Papan tempat memotong roti kecil
  • Potensiometer (250 kΩ)
  • Resistor (1kΩ)
  • x26 Kabel jumper

Langkah 2: Menghubungkan Keypad 4x4

Menghubungkan Keypad 4x4
Menghubungkan Keypad 4x4

Hubungkan pin 4 baris pada keypad 4x4 ke pin Arduino 4-7, dan sambungkan pin 4 kolom ke pin Arduino 0-3.

Langkah 3: Berikan Daya ke Breadboard dan Hubungkan LCD

Berikan Daya ke Papan Tempat memotong roti dan Hubungkan LCD
Berikan Daya ke Papan Tempat memotong roti dan Hubungkan LCD

Saya menggunakan tegangan listrik 5 untuk papan tempat memotong roti. Saya menghubungkan daya dan ground ke papan tempat memotong roti. LCD ditempatkan pada papan tempat memotong roti, dan ditempatkan sehingga semua pinnya terhubung ke papan tempat memotong roti.

Langkah 4: Hubungkan Power dan Ground ke LCD

Hubungkan Power dan Ground ke LCD
Hubungkan Power dan Ground ke LCD

Akan ada 3 pin ground yang dibutuhkan untuk dihubungkan ke LCD. Satu akan disambungkan ke ground LCD sendiri, yang lain akan disambungkan ke LED LCD, dan yang terakhir akan disambungkan ke RW. VCC LCD dan led akan membutuhkan daya untuk dihubungkan. Namun daya untuk LED akan membutuhkan resistor yang terhubung dalam hal ini saya menggunakan resistor 1kΩ.

Langkah 5: Menghubungkan Potensiometer

Menghubungkan Potensiometer
Menghubungkan Potensiometer

Hubungkan potensiometer ke papan tempat memotong roti dengan 3 kolom bebas. Ini akan memiliki 3 pin, kolom yang berisi pin terminal 1 akan membutuhkan ground yang diberikan padanya. Kolom yang berisi pin terminal 2 akan membutuhkan daya yang diberikan padanya. Kemudian wiper akan memiliki kabel jumper di kolomnya yang terhubung ke VO LCD.

Langkah 6: Menghubungkan Arduino ke LCD

Menghubungkan Arduino ke LCD
Menghubungkan Arduino ke LCD

Pin 8-13 pada Arduino akan dihubungkan ke LCD. Pin 8-11 pada Arduino akan terhubung ke D8(7-4) masing-masing. Kemudian pin 12 Arduino akan terhubung dengan Enable dari LCD, dan pin 13 pada Arduino akan terhubung ke register LCD.

Langkah 7: Menerapkan Kode

Kode akan diperlukan untuk menggunakan operasi matematika dengan keypad dan LCD. Berikut ini adalah kode yang saya gunakan, namun beberapa perubahan masih dapat saya terapkan untuk membuatnya lebih bersih dan lebih baik. Jadi jangan ragu untuk bermain dengannya sedikit.

#sertakan #sertakan

LiquidCrystal lcd (13, 12, 11, 10, 9, 8);

panjang dulu = 0;

detik panjang = 0;

jumlah ganda = 0;

int posisi = 0;

char customKey;

const byte BARIS = 4;

const byte COLS = 4;

kunci karakter[ROWS][COLS] = {

{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'} };

byte rowPins[ROWS] = {7, 6, 5, 4};

byte colPins[COLS] = {3, 2, 1, 0};

Keypad customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

batalkan pengaturan(){

lcd.begin(16, 2);

lcd.setCursor(5, 0);

lcd.clear(); }

lingkaran kosong() {

customKey = customKeypad.getKey();

beralih (kunci kustom) {

kasus '0' … '9':

lcd.setCursor(0, 0);

pertama = pertama * 10 + (customKey - '0');

lcd.print(pertama);

posisi++;

merusak;

kasus '+':

pertama = (total != 0 ? total: dulu);

lcd.setCursor(posisi, 0);

lcd.print("+");

posisi++;

detik = AngkaKedua();

total = pertama + kedua;

lcd.setCursor(1, 1);

lcd.print(total);

pertama = 0, detik = 0;

posisi=0;

merusak;

kasus '-':

pertama = (total != 0 ? total: dulu);

lcd.setCursor(posisi, 0);

lcd.print("-");

posisi++;

detik = AngkaKedua();

total = pertama - kedua;

lcd.setCursor(1, 1);

lcd.print(total);

pertama = 0, detik = 0;

posisi=0;

merusak;

kasus '*':

pertama = (total != 0 ? total: dulu);

lcd.setCursor(posisi, 0);

lcd.print("*");

posisi++;

detik = AngkaKedua();

total = pertama * kedua;

lcd.setCursor(1, 1);

lcd.print(total);

pertama = 0, detik = 0;

posisi=0;

merusak;

kasus '/':

pertama = (total != 0 ? total: dulu);

lcd.setCursor(posisi, 0);

lcd.print("/");

posisi++;

detik = AngkaKedua(); lcd.setCursor(1, 1);

detik == 0 ? lcd.print("Error"): total = (float)first / (float)second;

lcd.print(total);

pertama = 0, detik = 0;

posisi=0;

merusak;

kasus 'C':

jumlah = 0;

pertama = 0;

detik = 0;

posisi = 0;

lcd.clear();

merusak; }

}

panjang KeduaNumber() {

sementara(1) {

customKey = customKeypad.getKey();

if(customKey >= '0' && customKey <= '9') {

detik = detik * 10 + (customKey - '0');

lcd.setCursor(posisi, 0);

lcd.print(kedua); }

if(customKey == 'C') {

jumlah = 0;

pertama = 0;

detik = 0;

posisi = 0;

lcd.clear();

merusak; }

if(customKey == '='){

lcd.setCursor(0, 1);

lcd.print("=");

posisi = jumlah;

lcd.clear();

lcd.setCursor(0, 1);

lcd.print("=");

merusak; }

}

kembali kedua;}

Langkah 8: Hasil

Hasil
Hasil
Hasil
Hasil

Saya harap Anda semua menikmati instruksi ini. Terima kasih telah membaca!

Saim.

Direkomendasikan: