İçindekiler:

Hesap Makinesi TinkerCad Yarışması: 8 Adım
Hesap Makinesi TinkerCad Yarışması: 8 Adım

Video: Hesap Makinesi TinkerCad Yarışması: 8 Adım

Video: Hesap Makinesi TinkerCad Yarışması: 8 Adım
Video: Tinkercad Dersi - Hızlı Hızlandırılmış Flash Gibi Eğitim 10 dk 2024, Kasım
Anonim
Hesap Makinesi TinkerCad Yarışması
Hesap Makinesi TinkerCad Yarışması

Hey, son zamanlarda farklı kod türlerinin bir devreye nasıl uygulanacağını araştırıyordum. Bir hesap makinesi yapmanın "vaka" ve ilginç bulduğum diğer kod biçimlerini uygulamak için harika bir yol olacağını buldum. Geçmişte doğrudan koddan hesap makineleri yaptım, ancak bunun için bir devre yapmak ilgimi çekti. Özellikle de neredeyse tüm gün bilgisayar başında olduğum bu karantina döneminde. Proje, matematiksel işlemlerin bir LCD ekranda uygulanmasıdır.

Adım 1: Malzemeler

Devre için:

  • LCD 16x2
  • Arduino Uno R3
  • 4x4 tuş takımı
  • Küçük Ekmek Tahtası
  • Potansiyometre (250 kΩ)
  • Direnç (1kΩ)
  • x26 Atlama telleri

Adım 2: 4x4 Tuş Takımını Bağlama

4x4 Tuş Takımını Bağlama
4x4 Tuş Takımını Bağlama

4x4 tuş takımındaki 4 sıra pini Arduino pinleri 4-7'ye bağlayın ve 4 kolon pinini Arduino pinleri 0-3'e bağlayın.

Adım 3: Breadboard'a Güç Sağlayın ve LCD'yi Bağlayın

Breadboard'a Güç Sağlayın ve LCD'yi Bağlayın
Breadboard'a Güç Sağlayın ve LCD'yi Bağlayın

Breadboard için 5'lik bir güç voltajı kullandım. Gücü ve toprağı breadboard'a bağladım. LCD devre tahtasına yerleştirilir ve tüm pinleri devre tahtasına bağlanacak şekilde yerleştirilir.

Adım 4: Güç ve Topraklamayı LCD'ye bağlayın

Güç ve Toprak'ı LCD'ye bağlayın
Güç ve Toprak'ı LCD'ye bağlayın

LCD'ye bağlanmak için gereken 3 pin toprak olacaktır. Biri LCD'nin kendi toprağına bağlanacak, diğeri LCD'nin LED'ine bağlanacak ve sonuncusu RW'ye bağlanacak. LCD'nin VCC'si ve led'in bağlanması için güç gerekir. Bununla birlikte, LED'in gücü, bu durumda bağlı bir direnç gerektirecektir, 1kΩ direnç kullandım.

Adım 5: Potansiyometrenin Bağlanması

Potansiyometrenin Bağlanması
Potansiyometrenin Bağlanması

Potansiyometreyi 3 boş sütunla breadboard'a bağlayın. 3 pini olacaktır, terminal 1 pinini içeren kolonun kendisine verilen topraklamaya ihtiyacı olacaktır. Terminal 2 pinini içeren kolonun kendisine verilen güce ihtiyacı olacaktır. Ardından silicinin sütununda LCD'nin VO'suna bağlanan bir atlama teli olacaktır.

Adım 6: Arduino'yu LCD'ye Bağlama

Arduino'yu LCD'ye Bağlama
Arduino'yu LCD'ye Bağlama

Arduino üzerindeki 8-13 pinleri LCD'ye bağlanacaktır. Arduino üzerindeki 8-11 pinleri sırasıyla D8(7-4)'e bağlanacaktır. Daha sonra Arduino'nun 12 pini LCD'nin Etkinleştirmesine bağlanacak ve Arduino'daki 13 pini LCD kaydına bağlanacaktır.

Adım 7: Kodu Uygulayın

Tuş takımı ve LCD ile matematiksel işlemleri kullanmak için kod gerekecektir. Aşağıdaki, kullandığım kod olacak, ancak daha temiz ve daha iyi hale getirmek için birden fazla değişiklik hala uygulanabilir. Bu yüzden onunla biraz oynamaktan çekinmeyin.

#include #include

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

önce uzun = 0;

uzun saniye = 0;

çift toplam = 0;

int konum = 0;

char özelKey;

const bayt SATIRLAR = 4;

const bayt COLS = 4;

karakter tuşları[ROWS][COLS] = {

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

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

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

Tuş takımı özelKeypad = Tuş takımı(makeKeymap(tuşlar), rowPins, colPins, ROWS, COLS);

geçersiz kurulum(){

lcd.başla(16, 2);

lcd.setCursor(5, 0);

lcd.clear(); }

boşluk döngüsü () {

customKey = customKeypad.getKey();

geçiş (özel anahtar) {

durum '0' … '9':

lcd.setCursor(0, 0);

ilk = ilk * 10 + (özelKey - '0');

lcd.print(ilk);

konum++;

kırmak;

durum '+':

birinci = (toplam != 0 ? toplam: birinci);

lcd.setCursor(konum, 0);

lcd.print("+");

konum++;

saniye = İkinciSayı();

toplam = birinci + ikinci;

lcd.setCursor(1, 1);

lcd.print(toplam);

ilk = 0, saniye = 0;

konum=0;

kırmak;

durum '-':

birinci = (toplam != 0 ? toplam: birinci);

lcd.setCursor(konum, 0);

lcd.print("-");

konum++;

saniye = İkinciSayı();

toplam = birinci - ikinci;

lcd.setCursor(1, 1);

lcd.print(toplam);

ilk = 0, saniye = 0;

konum=0;

kırmak;

durum '*':

birinci = (toplam != 0 ? toplam: birinci);

lcd.setCursor(konum, 0);

lcd.print("*");

konum++;

saniye = İkinciSayı();

toplam = birinci * saniye;

lcd.setCursor(1, 1);

lcd.print(toplam);

ilk = 0, saniye = 0;

konum=0;

kırmak;

durum '/':

birinci = (toplam != 0 ? toplam: birinci);

lcd.setCursor(konum, 0);

lcd.print("/");

konum++;

saniye = İkinciSayı(); lcd.setCursor(1, 1);

saniye == 0 ? lcd.print("Hata"): toplam = (kayan)ilk / (kayan)saniye;

lcd.print(toplam);

ilk = 0, saniye = 0;

konum=0;

kırmak;

'C' durumu:

toplam = 0;

ilk = 0;

saniye = 0;

konum = 0;

lcd.clear();

kırmak; }

}

uzun SecondNumber() {

süre(1) {

customKey = customKeypad.getKey();

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

saniye = saniye * 10 + (özelKey - '0');

lcd.setCursor(konum, 0);

lcd.print(saniye); }

if(customKey == 'C') {

toplam = 0;

ilk = 0;

saniye = 0;

konum = 0;

lcd.clear();

kırmak; }

if(customKey == '='){

lcd.setCursor(0, 1);

lcd.print("=");

konum = toplam;

lcd.clear();

lcd.setCursor(0, 1);

lcd.print("=");

kırmak; }

}

ikinci dönüş;}

8. Adım: Sonuç

Sonuç
Sonuç
Sonuç
Sonuç

Umarım hepiniz bu öğreticiyi beğenmişsinizdir. Okuduğunuz için teşekkürler!

Saim.

Önerilen: