Mündəricat:

İkili Ondalık Kalkulyator: 8 addım
İkili Ondalık Kalkulyator: 8 addım

Video: İkili Ondalık Kalkulyator: 8 addım

Video: İkili Ondalık Kalkulyator: 8 addım
Video: casio fx 82 es plus.#shortsvideo 2024, Noyabr
Anonim
İkili Ondalık Kalkulyator
İkili Ondalık Kalkulyator

On birinci sinif kompüter mühəndisliyi üçün son bir layihəyə qərar verməli oldum. Əvvəlcə nə edəcəyimi bilmirdim, çünki müəyyən aparat komponentlərindən ibarət idi. Bir neçə gündən sonra sinif yoldaşım mənə bir neçə ay əvvəl yaratdığımız dörd bitlik toplayıcıya əsaslanan bir layihə etməyimi söylədi. O gündən sonra, dörd bitlik toplayıcıdan istifadə edərək, ikilikdən onluğa çeviricini yarada bildim.

Bu layihənin yaradılması, əsasən tam və yarı toplayıcıların necə işlədiyini başa düşməyi əhatə edən bir çox araşdırma tələb edir.

Addım 1: Lazım olan materiallar

Bu layihə üçün aşağıdakı materiallara ehtiyacınız olacaq:

  • Arduino UNO
  • dörd çörək taxtası
  • doqquz voltluq batareya
  • yeddi XOR qapısı (2 XOR çipi)
  • yeddi və qapı (2 VƏ fiş)
  • üç OR qapısı (1 OR çip)
  • beş LED
  • səkkiz 330 ohm rezistor
  • LCD ekran
  • dörd kişi-dişi tel
  • çoxlu kişi-kişi telləri
  • tel soyucu
  • ümumi anod RGB LED

Qiymət (tellər istisna olmaqla): 79.82 dollar

Bütün materialların dəyəri ABRA elektronikasında tapıldı.

Addım 2: 4 Bit Adder anlamaq

4 Bit Adder anlayışı
4 Bit Adder anlayışı

Başlamazdan əvvəl, dörd bitlik bir toplayıcının necə işlədiyini başa düşməlisiniz. Bu dövrə ilk dəfə baxdığımızda, yarı toplayıcı dövrə və üç tam toplayıcı dövrə olduğunu görəcəksiniz. Dörd bitlik bir toplayıcı, tam və yarı toplayıcıların birləşməsindən ibarət olduğu üçün iki növ cəmləyicinin necə işlədiyini izah edən bir video yerləşdirdim.

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

Addım 3: 4 Bit Adder qurmaq

4 Bit Adder qurmaq
4 Bit Adder qurmaq
4 Bit Adder qurmaq
4 Bit Adder qurmaq

Dörd bitlik bir qurğunun necə qurulacağını izah etmək çox çətindir, çünki çoxlu naqillərə ehtiyac var. Bu şəkillərə əsaslanaraq, bu dövrəni qurmaq üçün sizə bəzi fəndlər verə bilərəm. Birincisi, məntiq çiplərinizi necə təşkil etdiyiniz çox vacib ola bilər. Səliqəli bir dövrə sahib olmaq üçün çiplərinizi bu qaydada sifariş edin: XOR, AND, OR, AND, XOR. Bu əmri alaraq, yalnız dövrəniz səliqəli olmayacaq, həm də təşkil etməniz çox asan olacaq.

Başqa bir böyük hiylə, hər bir toplayıcını bir anda və sağdan sola qurmaqdır. Bir çox insanın etdiyi ümumi bir səhv, bütün əlavələri eyni anda etməkdir. Bunu etməklə, naqilləri sıradan çıxara bilərsiniz. 4 bitlik toplayıcıdakı bir səhv hər şeyin işləməməsinə səbəb ola bilər,

Addım 4: Dövrə Güc və Zəmin Verilməsi

9 voltluq bir batareyadan istifadə edərək, dörd bitlik əlavə cihazı ehtiva edən çörək taxtasına güc və torpaq verin. Qalan 3 çörək taxtası üçün Arduino UNO vasitəsi ilə ona güc və torpaq verin.

Addım 5: LED -ləri bağlayın

Kabel LEDləri
Kabel LEDləri

Bu layihə üçün beş LED giriş və çıxış cihazı olaraq istifadə ediləcək. Çıxış qurğusu olaraq, LED dörd bitli toplayıcıya qoyulan girişlərə bağlı olaraq ikili bir rəqəmi işıqlandıracaq. Giriş cihazı olaraq, hansı LED -lərin yandığından asılı olaraq, çevrilmiş ikili nömrəni ondalık rəqəm olaraq LCD ekranda əks etdirə biləcəyik. LED -ə tel çəkmək üçün dörd bitlik toplayıcıdan əmələ gələn məbləğlərdən birini LED -in anod ayağına (LED -in uzun ayağı) bağlayacaqsınız, lakin bu ikisinin arasına 330 ohm rezistor qoyun. Sonra LED -in katod ayağını (LED -in qısa ayağı) yer rayı ilə bağlayın. Rezistor və cəm telinin arasına, bir kişini bir kişi telinə Arduino UNO üzərindəki hər hansı bir rəqəmsal pinlə bağlayın. Qalan üç məbləğ və icra üçün bu addımı təkrarlayın. İstifadə etdiyim rəqəmsal pinlər 2, 3, 4, 5 və 6 idi.

Addım 6: Ümumi Anod RGB LEDinin Kabelləşdirilməsi

Ümumi Anod RGB LED Kabelləri
Ümumi Anod RGB LED Kabelləri

Bu layihə üçün bu RGB LED -in məqsədi, LCD ekranda yeni bir ondalık sayı meydana gəldikdə rəngləri dəyişdirməkdir. Ümumi anod RGB ledinə ilk baxdığınızda 4 ayağının olduğunu görəcəksiniz; qırmızı işıqlı ayaq, güc (anod) ayağı, yaşıl işıq ayağı və mavi işıqlı ayaq. Güc (anod) ayağı 5 volt alaraq elektrik rayına bağlanacaq. Qalan üç rəngli ayağı 330 ohm rezistorla birləşdirin. Rezistorun digər ucunda, Arduino üzərindəki bir PWM dgital pininə bağlamaq üçün kişidən kişiyə tel istifadə edin. PWM rəqəmsal pin, yanında əyri bir xətt olan hər hansı bir rəqəmsal pindir. İstifadə etdiyim PWM pinləri 9, 10 və 11 idi.

Addım 7: LCD Ekranın telinin çəkilməsi

LCD Ekranın naqilləri
LCD Ekranın naqilləri

Bu layihə üçün, LCD ekran çevrilmiş ikili rəqəmi onluğa yansıtacaq. LCD ekrana baxdığımızda 4 kişi sancağının olduğunu görürsünüz. Bu pinlər VCC, GND, SDA və SCL -dir. VCC üçün, VCC pinini çörək lövhəsindəki elektrik rayına bağlamaq üçün kişidən dişi tel istifadə edin. Bu, VCC pininə 5 volt təmin edəcək GND pimi üçün, dəmir yolu ilə kişi dişi tel ilə birləşdirin. SDA və SCL sancaqları ilə, bir dişdən bir qadına bir tel ilə bir analog pin bağlayın. SCL pinini A5 analog pininə və SDA pinini A4 analog pininə bağladım.

Addım 8: Kod yazmaq

Bu layihənin bina hissəsini izah etdiyim üçün, indi kodu başlayaq. Birincisi, əvvəlcə aşağıdakı kitabxanaları yükləməli və idxal etməliyik; LiquidCrystal_I2C kitabxanası və tel kitabxanası.

#daxil edin #daxil edin

Bunu etdikdən sonra bütün lazımi dəyişənləri elan etməlisiniz. Hər hansı bir kod növündə əvvəlcə dəyişənlərinizi elan etməlisiniz.

const int rəqəmli1 = 2;

const int rəqəmli2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int rəqəmli5 = 6;

int rəqəmləri1 = 0;

int rəqəmləri2 = 0;

int rəqəmləri3 = 0;

int rəqəmləri4 = 0;

int rəqəmləri5 = 0;

char array1 = "İkili ilə Ondalık";

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

int tim = 500; // gecikmə vaxtının dəyəri

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#TAMAMLI_ANODE təyin edin

LiquidCrystal_I2C lcd (0x27, 16, 2);

Void setup () bölməsində bütün dəyişənləriniz üçün pin növünü elan edirsiniz. AnalogWrite () istifadə etdiyimiz üçün serial başlanğıcını da istifadə edəcəksiniz

boş quraşdırma ()

{

Serial.begin (9600);

pinMode (rəqəm1, GİRİŞ);

pinMode (rəqəm2, GİRİŞ);

pinMode (rəqəm3, GİRİŞ);

pinMode (rəqəm4, GİRİŞ);

pinMode (rəqəm5, GİRİŞ);

lcd.init ();

lcd.lightlight ();

pinMode (redPin, ÇIXIŞ);

pinMode (greenPin, ÇIXIŞ);

pinMode (bluePin, ÇIXIŞ);

Void setup () -da bu layihənin adını deyən bir mesaj yaratmaq üçün for for loop yaratdım. Boşluq döngəsində () olmamasının səbəbi, bu boşluqda olarsa mesajın təkrarlanmağa davam etməsidir

lcd.setCursor (15, 0); // kursoru 15 -ci sütuna, 0 -cı sətrə təyin edin

for (int positionCounter1 = 0; positionCounter1 <17; positionCounter1 ++)

{

lcd.scrollDisplayLeft (); // Ekranın məzmununu bir boşluq sola sürüşdürür.

lcd.print (array1 [positionCounter1]); // LCD -yə mesaj yazın.

gecikmə (vaxt); // 250 mikrosaniyəni gözləyin

}

lcd.clear (); // LCD ekranı təmizləyir və kursoru sol üst küncdə yerləşdirir.

lcd.setCursor (15, 1); // kursoru 15 -ci sütunun 1 -ci sətirinə təyin edin

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

{

lcd.scrollDisplayLeft (); // Ekranın məzmununu bir boşluq sola sürüşdürür.

lcd.print (array2 [positionCounter]); // LCD -yə mesaj yazdırın.

gecikmə (tim); // 250 mikrosaniyəni gözləyin

}

lcd.clear (); // LCD ekranı təmizləyir və kursoru sol üst küncdə yerləşdirir.

}

Void quraşdırma işini bitirdikdən sonra () boşluq döngəsinə () keçək. Boşluq döngəsində, müəyyən işıqların yandığı və ya söndüyündə ekranda müəyyən bir ondalık rəqəmi göstərəcəyinə əmin olmaq üçün bir neçə if-else ifadəsi yaratdım. Boşluq döngəmdə olanları və yaratdığım bir çox boşluqları göstərən bir sənəd əlavə etdim. Sənədi ziyarət etmək üçün bura vurun

İndi etməniz lazım olan tək şey kodu işə salmaq və yeni ikilikdən onluya çeviricidən zövq almaqdır.

Tövsiyə: