İçindekiler:

İkili - Ondalık Hesap Makinesi: 8 Adım
İkili - Ondalık Hesap Makinesi: 8 Adım

Video: İkili - Ondalık Hesap Makinesi: 8 Adım

Video: İkili - Ondalık Hesap Makinesi: 8 Adım
Video: İKİLİK (BİNARY) SAYI SİSTEMİ - SAYI DÖNÜŞÜMLERİ 2024, Temmuz
Anonim
İkili - Ondalık Hesap Makinesi
İkili - Ondalık Hesap Makinesi

On birinci sınıf bilgisayar mühendisliği için bir final projesine karar vermem gerekiyordu. İlk başta ne yapacağımı bilemedim çünkü belirli donanım bileşenlerini içermesi gerekiyordu. Birkaç gün sonra sınıf arkadaşım birkaç ay önce oluşturduğumuz dört bitlik toplayıcıya dayalı bir proje yapmamı söyledi. O günden sonra, dört bitlik toplayıcımı kullanarak ikiliden ondalığa dönüştürücü oluşturabildim.

Bu projeyi oluşturmak, esas olarak tam ve yarım toplayıcının nasıl çalıştığını anlamayı içeren çok fazla araştırma gerektirir.

Adım 1: Gerekli Malzemeler

Bu proje için aşağıdaki malzemelere ihtiyacınız olacak:

  • Arduino UNO'su
  • dört ekmek tahtası
  • dokuz voltluk pil
  • yedi XOR kapısı (2 XOR yongası)
  • yedi AND kapısı (2 AND cips)
  • üç VEYA kapısı (1 VEYA çip)
  • beş LED
  • sekiz 330 ohm direnç
  • LCD ekran
  • dört erkek-dişi teller
  • çok sayıda erkek-erkek tel
  • tel striptizci
  • ortak anot RGB LED

Maliyet (kablolar hariç): 79,82 $

Tüm malzemelerin maliyeti ABRA elektroniklerinde bulundu.

Adım 2: 4 Bit Toplayıcıyı Anlama

4 Bit Toplayıcıyı Anlama
4 Bit Toplayıcıyı Anlama

Başlamadan önce, dört bitlik bir toplayıcının nasıl çalıştığını anlamalısınız. Bu devreye ilk baktığımızda yarım toplayıcı devresi ve üç tam toplayıcı devresi olduğunu fark edeceksiniz. Dört bitlik toplayıcı, tam ve yarım toplayıcının birleşimi olduğundan, iki toplayıcı türünün nasıl çalıştığını açıklayan bir video yayınladım.

www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s

Adım 3: 4 Bit Toplayıcıyı Oluşturma

4 Bit Toplayıcıyı Oluşturma
4 Bit Toplayıcıyı Oluşturma
4 Bit Toplayıcıyı Oluşturma
4 Bit Toplayıcıyı Oluşturma

Çok fazla kablolama gerektirdiğinden, dört bitlik bir toplayıcının nasıl oluşturulacağını açıklamak çok zordur. Bu resimlerden yola çıkarak size bu devreyi kurmak için bazı püf noktaları verebilirim. İlk olarak, mantık çiplerinizi düzenleme şekliniz çok önemli olabilir. Düzgün bir devreye sahip olmak için çiplerinizi şu sırayla sıralayın: XOR, AND, OR, AND, XOR. Bu sıralamayı yaparak hem devreniz derli toplu olacak hem de organize etmeniz çok kolay olacaktır.

Bir başka harika numara da her bir toplayıcıyı birer birer ve sağdan sola doğru oluşturmaktır. Birçok insanın yaptığı yaygın bir hata, tüm toplayıcıları aynı anda yapmaktır. Bunu yaparak kabloları karıştırabilirsiniz. 4 bitlik toplayıcıdaki bir hata her şeyin çalışmamasına neden olabilir,

Adım 4: Devreye Güç ve Toprak Sağlama

9 voltluk pili kullanarak, dört bitlik toplayıcıyı içerecek olan devre tahtasına güç ve toprak sağlayın. Kalan 3 breadboard için Arduino UNO üzerinden güç ve toprak sağlayın.

Adım 5: Kablolama LED'leri

Kablolama LED'leri
Kablolama LED'leri

Bu proje için, giriş ve çıkış cihazı olarak beş LED kullanılacaktır. Bir çıkış aygıtı olarak LED, dört bitlik toplayıcıya yerleştirilen girişlere bağlı olarak ikili bir sayıyı aydınlatacaktır. Bir giriş cihazı olarak, hangi LED'lerin açık ve kapalı olduğuna bağlı olarak, dönüştürülen ikili sayıyı LCD ekranda ondalık sayı olarak yansıtabileceğiz. LED'i kablolamak için, dört bitlik toplayıcı tarafından oluşturulan toplamlardan birini LED'in anot ayağına (LED'in uzun ayağı) bağlayacaksınız, ancak bu ikisinin arasına 330 ohm'luk bir direnç yerleştirin. Ardından LED'in katot ayağını (LED'in kısa ayağı) toprak rayına bağlayın. Direnç ve toplam tel arasında, Arduino UNO'daki herhangi bir dijital pime bir erkek - erkek kablo bağlayın. Kalan üç toplam ve işlem için bu adımı tekrarlayın. Kullandığım dijital pinler 2, 3, 4, 5 ve 6 idi.

Adım 6: Ortak Anot RGB LED'inin Kablolanması

Ortak Anot RGB LED'i Kablolama
Ortak Anot RGB LED'i Kablolama

Bu proje için, bu RGB LED'in amacı, LCD ekranda yeni bir ondalık sayı oluşturulduğunda renkleri değiştirmektir. Ortak anot RGB led'e ilk baktığınızda 4 bacağı olduğunu fark edeceksiniz; kırmızı ışıklı bacak, güç (anot) bacağı, yeşil ışıklı bacak ve mavi ışıklı bacak. Güç (anot) ayağı, 5 volt alan güç rayına bağlanacaktır. Kalan üç renkli ayağı 330 ohm'luk dirençlerle bağlayın. Direncin diğer ucunda, Arduino'daki bir PWM dijital pimine bağlamak için erkekten erkeğe bir kablo kullanın. PWM dijital pini, yanında dalgalı bir çizgi bulunan herhangi bir dijital pindir. Kullandığım PWM pinleri 9, 10 ve 11 idi.

7. Adım: LCD Ekranı Kablolama

LCD Ekranı Kablolama
LCD Ekranı Kablolama

Bu proje için, LCD ekran dönüştürülmüş ikili sayıyı bir ondalık sayıya yansıtacaktır. LCD ekrana baktığımızda 4 adet erkek pin göreceksiniz. Bu pinler VCC, GND, SDA ve SCL'dir. VCC için, VCC pinini devre tahtasındaki güç rayına bağlamak için bir erkek-dişi kablo kullanın. Bu, VCC pinine 5 volt sağlayacaktır. GND pini için, onu bir erkek-dişi tel ile toprak rayına bağlayın. SDA ve SCL pinleri ile erkek-dişi tel ile analog pine bağlayın. SCL pinini analog pin A5'e ve SDA pinini analog pin A4'e bağladım.

Adım 8: Kodu Yazma

Şimdi bu projenin yapım kısmını açıkladım, şimdi kodlamaya başlayalım. Öncelikle aşağıdaki kütüphaneleri indirip import etmemiz gerekiyor; LiquidCrystal_I2C kitaplığı ve tel kitaplığı.

#include #include

Bunu yaptıktan sonra, gerekli tüm değişkenleri bildirmeniz gerekir. Herhangi bir kod türünde, önce değişkenlerinizi bildirmeniz gerekir.

const int basamak1 = 2;

const int basamak2 = 3;

const int basamak3 = 4;

const int basamak4 = 5;

const int basamak5 = 6;

int basamak toplamı1 = 0;

int basamak toplamı2 = 0;

int basamak toplamı3 = 0;

int basamak toplamı4 = 0;

int basamak toplamı5 = 0;

char array1="İkili - Ondalık";

char dizisi2="Dönüştürücü";

int zaman = 500; //gecikme süresinin değeri

const int redPin = 9;

const int yeşilPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

void setup() içinde, tüm değişkenleriniz için pin tipini bildirirsiniz. AnalogWrite() kullandığımız için bir seri başlangıç da kullanacaksınız

geçersiz kurulum()

{

Seri.başla(9600);

pinMode(digit1, INPUT);

pinMode(digit2, INPUT);

pinMode(digit3, INPUT);

pinMode(rakam4, GİRİŞ);

pinMode(digit5, INPUT);

lcd.init();

lcd.backlight();

pinMode(redPin, OUTPUT);

pinMode(greenPin, OUTPUT);

pinMode(bluePin, ÇIKIŞ);

void setup() içinde, bu projenin adını söyleyen bir mesaj oluşturmak için bir for döngüsü oluşturdum. Void döngüsünde() olmamasının nedeni, eğer o boşluktaysa mesajın tekrar etmeye devam etmesidir

lcd.setCursor(15, 0); // imleci sütun 15, satır 0'a ayarla

for (int konumSayacı1 = 0; konumSayacı1 < 17; konumSayacı1++)

{

lcd.scrollDisplayLeft(); // Ekranın içeriğini bir boşluk sola kaydırır.

lcd.print(dizi1[konumSayacı1]); // LCD'ye bir mesaj yazdırın.

gecikme(zaman); //250 mikrosaniye bekle

}

lcd.clear(); //LCD ekranı temizler ve imleci sol üst köşeye konumlandırır.

lcd.setCursor(15, 1); // imleci sütun 15, satır 1'e ayarla

for (int positionCounter = 0; positionCounter < 9; positionCounter++)

{

lcd.scrollDisplayLeft(); // Ekranın içeriğini bir boşluk sola kaydırır.

lcd.print(array2[positionCounter]);// LCD'ye bir mesaj yazdırın.

gecikme(tim);//250 mikrosaniye bekle

}

lcd.clear(); //LCD ekranı temizler ve imleci sol üst köşeye konumlandırır.

}

Şimdi void kurulumunu () bitirdiğimize göre, void döngüsüne () geçelim. Void döngüsünde, belirli ışıklar açık veya kapalı olduğunda, ekranda belirli bir ondalık sayının görüntülendiğinden emin olmak için birkaç if-else ifadesi oluşturdum. Boş döngümün içinde ne olduğunu ve yarattığım diğer birçok boşluğu gösteren bir belge ekledim. Belgeyi ziyaret etmek için buraya tıklayın

Şimdi yapmanız gereken tek şey kodu çalıştırmak ve yeni ikiliden ondalığa dönüştürücünüzün keyfini çıkarmak.

Önerilen: