Sadržaj:

Binarno -decimalni kalkulator: 8 koraka
Binarno -decimalni kalkulator: 8 koraka

Video: Binarno -decimalni kalkulator: 8 koraka

Video: Binarno -decimalni kalkulator: 8 koraka
Video: Ин секретро 99% одамон намедонанд! Як секрети математика. 2024, Decembar
Anonim
Binarno -decimalni kalkulator
Binarno -decimalni kalkulator

Za jedanaesti razred računarskog inženjerstva morao sam se odlučiti za konačni projekat. U početku nisam znao šta da napravim jer je morao uključivati određene hardverske komponente. Nakon nekoliko dana, moj kolega iz razreda mi je rekao da napravim projekat zasnovan na četvorobitnom sabiraču koji smo stvorili prije nekoliko mjeseci. Nakon tog dana, koristeći svoj četverobitni sabirač, uspio sam stvoriti binarni u decimalni pretvarač.

Stvaranje ovog projekta zahtijeva mnogo istraživanja, koja uglavnom uključuju razumijevanje načina rada potpunog i pola sabirača.

Korak 1: Potrebni materijali

Za ovaj projekt trebat će vam sljedeći materijali:

  • Arduino UNO
  • četiri ploče
  • baterija od devet volti
  • sedam XOR kapija (2 XOR čipa)
  • sedam vrata I (2 čipa)
  • tri vrata ILI (1 ILI čip)
  • pet LED dioda
  • osam otpornika od 330 ohma
  • LCD displej
  • četiri muško-ženske žice
  • puno muško-muških žica
  • skidač žice
  • zajednička anoda RGB LED

Cijena (bez žica): 79,82 USD

Svi troškovi materijala pronađeni su na ABRA elektronici.

Korak 2: Razumijevanje 4 -bitnog sabirača

Razumijevanje 4 bitnog sabirača
Razumijevanje 4 bitnog sabirača

Prije nego počnemo, morate razumjeti kako funkcionira četverobitni sabirač. Kad prvi put pogledamo ovaj krug, primijetit ćete da postoji pola kruga zbrajalica i tri puna kruga sabiranja. Budući da je četvero-bitni sabirač kombinacija potpunog i polovičnog zbrajača, objavio sam video u kojem se objašnjava kako rade dvije vrste sabirača.

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

Korak 3: Izgradnja 4 -bitnog sabirača

Izgradnja 4 -bitnog sabirača
Izgradnja 4 -bitnog sabirača
Izgradnja 4 -bitnog sabirača
Izgradnja 4 -bitnog sabirača

Objasniti kako izgraditi četverobitni sabirač vrlo je teško jer uključuje mnogo ožičenja. Na osnovu ovih slika mogu vam dati neke trikove kako biste izgradili ovo kolo. Prvo, način na koji uređujete svoje logičke čipove može biti vrlo važan. Da biste dobili uredan krug, naručite svoje čipove ovim redoslijedom: XOR, AND, OR, AND, XOR. Imajući ovu narudžbu, ne samo da će vaše kolo biti uredno, već će vam biti i vrlo lako organizirati.

Još jedan sjajan trik je izgraditi svaki zbrajač jedan po jedan i to s desne strane na lijevu stranu. Uobičajena greška koju su mnogi ljudi učinili je to što su sve zbrajalice radili u isto vrijeme. Na taj način možete zabrljati u ožičenju. Jedna greška u 4-bitnom sabiraču mogla bi uzrokovati da cijela stvar ne funkcionira,

Korak 4: Omogućavanje napajanja i mase u krugu

Koristeći 9-voltnu bateriju, opskrbite napajanje i masu matičnoj ploči koja će sadržavati četverobitni zbrajač. Za preostale 3 ploče, osigurajte napajanje i uzemljenje putem Arduino UNO -a.

Korak 5: Ožičenje LED dioda

LED ožičenje
LED ožičenje

Za ovaj projekt, pet LED dioda će se koristiti kao ulazni i izlazni uređaj. Kao izlazni uređaj, LED će osvjetljavati binarni broj, ovisno o ulazima postavljenim u četverobitni sabirač. Kao ulazni uređaj, ovisno o tome koje su LED diode uključene i isključene, moći ćemo projicirati pretvoreni binarni broj na LCD zaslon kao decimalni broj. Za ožičenje LED -a povezat ćete jedan od zbroja koji formira četverobitni zbrajač na anodnu nogu LED -a (dugačka noga LED -a), međutim između ova dva postavite otpornik od 330 ohma. Zatim spojite katodni krak LED -a (kratki krak LED -a) na uzemljenje. Između otpornika i zbirne žice, spojite mušku na mušku žicu na bilo koji digitalni pin na Arduino UNO. Ponovite ovaj korak za tri preostale svote i iznos. Digitalni pinovi koje sam koristio bili su 2, 3, 4, 5 i 6.

Korak 6: Ožičenje zajedničke anodne RGB LED diode

Ožičenje Uobičajena anodna RGB LED dioda
Ožičenje Uobičajena anodna RGB LED dioda

Za ovaj projekt, svrha ove RGB LED diode je promjena boje kad god se na LCD ekranu pojavi novi decimalni broj. Kada prvi put pogledate zajedničku anodnu RGB LED diodu, primijetit ćete da ima 4 nožice; noga crvenog svjetla, noga napajanja (anoda), noga zelenog svjetla i noga plavog svjetla. Napajanje (anoda) će biti spojeno na razvodnik, primajući 5 volti. Preostale tri boje spojite sa otpornicima od 330 ohma. Na drugom kraju otpornika upotrijebite mušku do mušku žicu da biste ga povezali s PWM dgitalnim pinom na Arduinu. PWM digitalni pin je bilo koji digitalni pin sa iskrivljenom linijom pored njega. PWM igle koje sam koristio bile su 9, 10 i 11.

Korak 7: Ožičenje LCD ekrana

Ožičenje LCD ekrana
Ožičenje LCD ekrana

Za ovaj projekt, LCD zaslon će projicirati pretvoreni binarni broj u decimalni broj. Kad pogledamo LCD ekran, primijetit ćete 4 muške igle. Ti pinovi su VCC, GND, SDA i SCL. Za VCC, upotrijebite muško -žensku žicu za spajanje VCC pina na razvodnik napajanja na matičnoj ploči. Ovo će osigurati 5 volti za VCC pin. Za GND pin, spojite ga na uzemljenu žicu sa muškom na žensku žicu. Pomoću SDA i SCL pinova spojite ga na analogni pin sa muškom na žensku žicu. Priključio sam SCL pin na analogni pin A5 i SDA pin na analogni pin A4.

Korak 8: Pisanje koda

Sada kada sam objasnio građevinski dio ovog projekta, započnimo kod. Prvo moramo prvo preuzeti i uvesti sljedeće biblioteke; Biblioteka LiquidCrystal_I2C i biblioteka žica.

#include #include

Nakon što to učinite, morate deklarirati sve potrebne varijable. U bilo kojoj vrsti koda morate prvo deklarirati svoje varijable.

const int cifra1 = 2;

const int cifra2 = 3;

const int cifra3 = 4;

const int cifra4 = 5;

const int cifra5 = 6;

int digitsum1 = 0;

int digitsum2 = 0;

int digitsum3 = 0;

int digitsum4 = 0;

int digitsum5 = 0;

char array1 = "Binarno u decimalno";

char array2 = "Pretvarač";

int tim = 500; // vrijednost vremena kašnjenja

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C LCD (0x27, 16, 2);

U void setup () deklarirate tip pin -a za sve svoje varijable. Također ćete koristiti serijski start jer koristimo analogWrite ()

void setup ()

{

Serial.begin (9600);

pinMode (cifra1, ULAZ);

pinMode (cifra2, ULAZ);

pinMode (cifra3, ULAZ);

pinMode (digit4, INPUT);

pinMode (digit5, INPUT);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

U void setup (), kreirao sam for petlju za kreiranje poruke u kojoj se kaže ime ovog projekta. Razlog zašto nije u void loop () je taj što ako se nalazi u toj praznini, poruka će se stalno ponavljati

lcd.setCursor (15, 0); // postavljamo kursor na stupac 15, red 0

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

{

lcd.scrollDisplayLeft (); // Pomicanje sadržaja ekrana za jedan prostor ulijevo.

lcd.print (niz1 [pozicijaCounter1]); // Odštampajte poruku na LCD ekranu.

kašnjenje (tim); // čekati 250 mikrosekundi

}

lcd.clear (); // Briše LCD ekran i postavlja kursor u gornji lijevi kut.

lcd.setCursor (15, 1); // postavite kursor na stupac 15, red 1

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

{

lcd.scrollDisplayLeft (); // Pomicanje sadržaja ekrana za jedan prostor ulijevo.

lcd.print (array2 [positionCounter]); // Odštampajte poruku na LCD -u.

delay (tim); // čekati 250 mikrosekundi

}

lcd.clear (); // Briše LCD ekran i postavlja kursor u gornji lijevi kut.

}

Sada kada smo završili void setup (), idemo na void loop (). U petlji void stvorio sam nekoliko if-else izraza kako bih bio siguran da će, kad su neka svjetla uključena ili isključena, prikazati određeni decimalni broj na ekranu. Priložio sam dokument koji prikazuje šta se nalazi u mojoj petlji praznine i mnoge druge praznine koje sam stvorio. Kliknite ovdje za posjet dokumentu

Sada samo trebate pokrenuti kôd i uživati u svom novom binarno -decimalnom pretvaraču.

Preporučuje se: