Isi kandungan:

Peraduan Kalkulator TinkerCad: 8 Langkah
Peraduan Kalkulator TinkerCad: 8 Langkah

Video: Peraduan Kalkulator TinkerCad: 8 Langkah

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

Hai, baru-baru ini saya telah meneroka cara menerapkan pelbagai jenis kod ke dalam litar. Saya mendapati bahawa membuat kalkulator akan menjadi kaedah yang baik untuk melaksanakan "case" dan bentuk kod lain yang saya rasa menarik. Saya pada masa lalu membuat kalkulator langsung dari kod, tetapi membuat litar untuk itu memberi saya minat. Terutama semasa kuarantin ini di mana saya berada di komputer saya hampir sepanjang hari. Projek ini adalah untuk melaksanakan operasi matematik pada skrin LCD.

Langkah 1: Bahan

Untuk Litar:

  • LCD 16 x 2
  • Arduino Uno R3
  • Pad kekunci 4x4
  • Papan Roti Kecil
  • Potensiometer (250 kΩ)
  • Perintang (1kΩ)
  • x26 Wayar pelompat

Langkah 2: Menyambungkan Pad Kekunci 4x4

Menyambungkan Pad Kekunci 4x4
Menyambungkan Pad Kekunci 4x4

Sambungkan pin 4 baris pada papan kekunci 4x4 ke pin Arduino 4-7, dan sambungkan pin 4 tiang ke pin Arduino 0-3.

Langkah 3: Berikan Kuasa ke Breadboard dan Connect LCD

Berikan Kuasa ke Breadboard dan Connect LCD
Berikan Kuasa ke Breadboard dan Connect LCD

Saya menggunakan voltan kuasa 5 untuk papan roti. Saya menyambungkan kuasa dan tanah ke papan roti. LCD diletakkan ke papan roti, dan diletakkan sehingga semua pinnya disambungkan ke papan roti.

Langkah 4: Sambungkan Daya dan Tanah ke LCD

Sambungkan Kuasa dan Tanah ke LCD
Sambungkan Kuasa dan Tanah ke LCD

Akan ada 3 pin tanah yang perlu disambungkan ke LCD. Satu akan disambungkan ke permukaan LCD, yang lain akan disambungkan ke LED LCD, dan yang terakhir akan disambungkan ke RW. VCC LCD dan LED memerlukan kuasa untuk disambungkan. Namun kuasa untuk LED memerlukan perintang yang disambungkan dalam kes ini saya menggunakan perintang 1kΩ.

Langkah 5: Menyambungkan Potensiometer

Menyambungkan Potensiometer
Menyambungkan Potensiometer

Sambungkan potensiometer ke papan roti dengan 3 lajur bebas. Ia akan mempunyai 3 pin, lajur yang mengandungi terminal 1 pin akan memerlukan tanah yang diberikan kepadanya. Lajur yang mengandungi pin 2 terminal memerlukan daya yang diberikan kepadanya. Kemudian pengelap akan mempunyai wayar pelompat di lajurnya yang menghubungkan ke VO LCD.

Langkah 6: Menyambungkan Arduino ke LCD

Menyambungkan Arduino ke LCD
Menyambungkan Arduino ke LCD

Pin 8-13 di Arduino akan disambungkan ke LCD. Pin 8-11 di Arduino masing-masing akan menyambung ke D8 (7-4). Kemudian pin 12 Arduino akan bersambung dengan Enable of LCD, dan pin 13 di Arduino akan bersambung ke daftar LCD.

Langkah 7: Laksanakan Kod

Kod akan diperlukan untuk menggunakan operasi matematik dengan papan kekunci dan LCD. Berikut ini adalah kod yang saya gunakan, namun banyak perubahan masih dapat saya laksanakan untuk menjadikannya lebih bersih dan lebih baik. Oleh itu, jangan ragu untuk bermain dengannya sedikit.

#sertakan #sertakan

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

panjang pertama = 0;

panjang kedua = 0;

jumlah berganda = 0;

int posit = 0;

char customKey;

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] = {7, 6, 5, 4};

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

Keypad customKeypad = Pad Kekunci (makeKeymap (kunci), rowPins, colPins, ROWS, COLS);

batal persediaan () {

lcd.begin (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

gelung kosong () {

customKey = customKeypad.getKey ();

tukar (customKey) {

kes '0' … '9':

lcd.setCursor (0, 0);

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

lcd.print (pertama);

posit ++;

rehat;

kes '+':

pertama = (jumlah! = 0? jumlah: pertama);

lcd.setCursor (posit, 0);

lcd.print ("+");

posit ++;

kedua = Nombor Kedua ();

jumlah = pertama + kedua;

lcd.setCursor (1, 1);

lcd.print (jumlah);

pertama = 0, kedua = 0;

posit = 0;

rehat;

kes '-':

pertama = (jumlah! = 0? jumlah: pertama);

lcd.setCursor (posit, 0);

lcd.print ("-");

posit ++;

kedua = Nombor Kedua ();

jumlah = pertama - kedua;

lcd.setCursor (1, 1);

lcd.print (jumlah);

pertama = 0, kedua = 0;

posit = 0;

rehat;

kes '*':

pertama = (jumlah! = 0? jumlah: pertama);

lcd.setCursor (posit, 0);

lcd.print ("*");

posit ++;

kedua = Nombor Kedua ();

jumlah = pertama * kedua;

lcd.setCursor (1, 1);

lcd.print (jumlah);

pertama = 0, kedua = 0;

posit = 0;

rehat;

kes '/':

pertama = (jumlah! = 0? jumlah: pertama);

lcd.setCursor (posit, 0);

lcd.print ("/");

posit ++;

kedua = Nombor Kedua (); lcd.setCursor (1, 1);

kedua == 0? lcd.print ("Error"): total = (float) pertama / (float) kedua;

lcd.print (jumlah);

pertama = 0, kedua = 0;

posit = 0;

rehat;

kes 'C':

jumlah = 0;

pertama = 0;

kedua = 0;

posit = 0;

lcd.clear ();

rehat; }

}

Nombor Kedua panjang () {

semasa (1) {

customKey = customKeypad.getKey ();

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

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

lcd.setCursor (posit, 0);

lcd.print (kedua); }

jika (customKey == 'C') {

jumlah = 0;

pertama = 0;

kedua = 0;

posit = 0;

lcd.clear ();

rehat; }

jika (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

posit = jumlah;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

rehat; }

}

kembali kedua;}

Langkah 8: Hasilnya

Keputusan
Keputusan
Keputusan
Keputusan

Saya harap anda semua menikmati pengajaran ini. Terima kasih kerana membaca!

Saim.

Disyorkan: