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, Studeni
Anonim
Binarno -decimalni kalkulator
Binarno -decimalni kalkulator

Za jedanaesti razred računalnog inženjerstva morao sam se odlučiti za završni projekt. U početku nisam znao što bih napravio jer je morao uključivati određene hardverske komponente. Nakon nekoliko dana, moj razred mi je rekao da napravim projekt temeljen na četverobitnom zbrajalu koji smo stvorili prije nekoliko mjeseci. Nakon tog dana, koristeći svoj četverobitni zbrajač, uspio sam stvoriti binarni u decimalni pretvarač.

Stvaranje ovog projekta zahtijeva mnogo istraživanja, što uključuje uglavnom razumijevanje načina na koji zbrojnik radi s punim i pola zrna.

Korak 1: Potrebni materijali

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

  • Arduino UNO
  • četiri ploče
  • devet-voltna baterija
  • sedam vrata XOR (2 čipa XOR)
  • sedam vrata I (2 čipa)
  • tri vrata ILI (1 ILI čip)
  • pet LED dioda
  • osam otpornika od 330 ohma
  • LCD zaslon
  • č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 zbrajač. Kada prvi put pogledamo ovaj krug, primijetit ćete da postoji pola kruga zbrajatelja i tri puna zbrojna kruga. Budući da je četvero-bitni zbrajač kombinacija potpunog i pola zbrajalnika, objavio sam video koji objašnjava kako rade dvije vrste zbrajalica.

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

Korak 3: Izgradnja 4 -bitnog zbrajača

Izgradnja 4 -bitnog zbravača
Izgradnja 4 -bitnog zbravača
Izgradnja 4 -bitnog zbravača
Izgradnja 4 -bitnog zbravača

Objasniti kako izgraditi četverobitni zbrajač vrlo je teško jer uključuje mnogo ožičenja. Na temelju 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 imali uredan krug, naručite svoje čipove ovim redoslijedom: XOR, AND, OR, AND, XOR. Ovom narudžbom ne samo da će vaš krug biti uredan, već će vam biti i vrlo jednostavno 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 učinili mnogi ljudi je to što su zbrojivači radili u isto vrijeme. Time biste mogli zabrljati u ožičenju. Jedna greška u 4-bitnom sabiraču mogla bi uzrokovati da cijela stvar ne funkcionira,

Korak 4: Opskrba strujom i masom

Pomoću 9-voltne baterije osigurajte napajanje i masu na 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 zbrajač. 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 diode spojit ćete jedan od zbroja koji čini četverobitni zbrajač na anodnu nogu LED diode (dugačka noga LED diode), 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 zbrojne žice, spojite mušku na mušku žicu na bilo koji digitalni pin na Arduino UNO. Ponovite ovaj korak za tri preostale svote i izvršenje. 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 zajedničke anode RGB LED
Ožičenje zajedničke anode RGB LED

Za ovaj projekt, svrha ove RGB LED diode je promjena boje kad god se na LCD zaslonu 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. Snaga (anoda) noga bit će spojena na energetski vod, primajući 5 volti. Spojite preostale tri noge u boji s otpornicima od 330 ohma. Na drugom kraju otpornika, upotrijebite mušku do mušku žicu za spajanje na PWM dgital pin 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 zaslona

Ožičenje LCD zaslona
Ožičenje LCD zaslona

Za ovaj projekt, LCD zaslon će projicirati pretvoreni binarni broj u decimalni broj. Kad pogledamo LCD zaslon, primijetit ćete 4 muške iglice. To su pinovi VCC, GND, SDA i SCL. Za VCC, upotrijebite mušku i žensku žicu za spajanje VCC pina na razvodnik za napajanje na matičnoj ploči. To će osigurati 5 volti za VCC pin. Za GND pin, spojite ga na uzemljenu žicu s muškom na žensku žicu. Pomoću SDA i SCL pinova spojite ga na analogni pin s 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 knjižnice; Biblioteka LiquidCrystal_I2C i knjižnica žica.

#include #include

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

const int znamenka1 = 2;

const int znamenka2 = 3;

const int znamenka3 = 4;

const int znamenka4 = 5;

const int znamenka5 = 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 vrstu pin -a za sve svoje varijable. Također ćete koristiti serijski start jer koristimo analogWrite ()

void setup ()

{

Serial.begin (9600);

pinMode (znamenka1, ULAZ);

pinMode (znamenka2, ULAZ);

pinMode (znamenka3, ULAZ);

pinMode (digit4, INPUT);

pinMode (digit5, INPUT);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

U postavci void () stvorio sam for petlju za stvaranje poruke u kojoj se kaže naziv ovog projekta. Razlog zašto se ne nalazi u void loop () je taj što ako se nalazi u toj praznini, poruka će se stalno ponavljati

lcd.setCursor (15, 0); // postavite kursor na stupac 15, redak 0

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

{

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

lcd.print (niz1 [brojač pozicija1]); // Ispis poruke na LCD -u.

kašnjenje (tim); // pričekajte 250 mikrosekundi

}

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

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

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

{

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

lcd.print (array2 [positionCounter]); // Ispis poruke na LCD -u.

delay (tim); // pričekajte 250 mikrosekundi

}

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

}

Sada kada smo dovrš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 zaslonu. Priložio sam dokument koji pokazuje što se nalazi unutar moje praznine i mnoge druge praznine koje sam stvorio. Kliknite ovdje za posjet dokumentu

Sada sve što trebate učiniti je pokrenuti kôd i uživati u svom novom binarno -decimalnom pretvaraču.

Preporučeni: