Innholdsfortegnelse:

Binær til desimal kalkulator: 8 trinn
Binær til desimal kalkulator: 8 trinn

Video: Binær til desimal kalkulator: 8 trinn

Video: Binær til desimal kalkulator: 8 trinn
Video: Number System Conversion - Decimal, Binary, Octal & Hexadecimal | Scientific Calc 2024, Juli
Anonim
Binær til desimal kalkulator
Binær til desimal kalkulator

For klasse elleve datateknikk måtte jeg bestemme meg for et sluttprosjekt. Først visste jeg ikke hva jeg skulle lage fordi den måtte inneholde visse maskinvarekomponenter. Etter noen dager fortalte min klassekamerat meg å gjøre et prosjekt basert på den fire -biters adderen vi opprettet for noen måneder siden. Etter den dagen klarte jeg å lage en binær til desimalomformer ved å bruke min fire -biters adder.

Å lage dette prosjektet krever mye forskning, som hovedsakelig inkluderer forståelse for hvordan en hel og en halv adder fungerer.

Trinn 1: Nødvendige materialer

For dette prosjektet trenger du følgende materialer:

  • Arduino UNO
  • fire brødbrett
  • ni volt batteri
  • syv XOR -porter (2 XOR -brikker)
  • syv OG porter (2 OG sjetonger)
  • tre ELLER porter (1 ELLER brikke)
  • fem lysdioder
  • åtte 330 ohm motstander
  • LCD-skjerm
  • fire hann-hunnledninger
  • mange mann-hann-ledninger
  • wire stripper
  • vanlig anode RGB LED

Kostnad (eksklusive ledninger): $ 79,82

Alt materialets kostnader ble funnet på ABRA elektronikk.

Trinn 2: Forstå 4 -bits Adder

Forstå 4 Bit Adder
Forstå 4 Bit Adder

Før vi begynner, må du forstå hvordan en firebitsadder fungerer. Når vi først ser på denne kretsen, vil du legge merke til at det er en halv adder krets og tre hele adder kretser. Fordi en fire-bits adder er en kombinasjon av en full og en halv adder, har jeg lagt ut en video som forklarer hvordan de to typer adder fungerer.

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

Trinn 3: Bygg 4 -bits Adder

Bygger 4 -bits Adder
Bygger 4 -bits Adder
Bygger 4 -bits Adder
Bygger 4 -bits Adder

Det er veldig vanskelig å forklare hvordan man bygger en fire-bits adder, siden det innebærer mye kabling. Basert på disse bildene kan jeg gi deg noen triks for å bygge denne kretsen. For det første kan måten du ordner logikkbrikkene dine være veldig viktig. For å få en pen krets, bestill sjetongene dine i denne rekkefølgen: XOR, AND, OR, AND, XOR. Ved å ha denne ordren vil ikke bare kretsen din være fin, men det vil også være veldig enkelt for deg å organisere.

Et annet stort triks er å bygge hver adder en om gangen og fra høyre side til venstre. En vanlig feil som mange mennesker har gjort er å gjøre alle tilleggene samtidig. Ved å gjøre dette kan du rote i ledningene. En feil i 4-biters adder kan føre til at det hele ikke fungerer,

Trinn 4: Tilførsel av strøm og jord til kretsen

Bruk 9-volts batteriet, gi strøm og jord til brødbrettet som skal inneholde fire-bits adder. For de resterende 3 brødbrettene, gi strøm og jord til det gjennom Arduino UNO.

Trinn 5: Kabling av lysdioder

Ledningsdioder
Ledningsdioder

For dette prosjektet vil de fem lysdiodene brukes som inngangs- og utgangsenhet. Som en utgangsenhet vil lysdioden belyse et binært tall, avhengig av inngangene som legges inn i firebitsadderen. Som inndataenhet, avhengig av hvilke lysdioder som er på og av, vil vi kunne projisere det konverterte binære nummeret på LCD -skjermen som et desimaltall. For å koble LED -en, kobler du en av summene som dannes av firebitsadderen til LED -anodebenet (LED -etappe), men mellom disse to plasserer du en 330 ohm motstand. Koble deretter katodebenet til LED -en (kort etappe av LED) til bakkeskinnen. Mellom motstanden og sumtråden, kobler du en mannlig til en mannlig ledning til en hvilken som helst digital pinne på Arduino UNO. Gjenta dette trinnet for de tre resterende beløpene og utførelsen. De digitale pinnene jeg brukte var 2, 3, 4, 5 og 6.

Trinn 6: Kabling av vanlig Anode RGB LED

Kabling Common Anode RGB LED
Kabling Common Anode RGB LED

For dette prosjektet er formålet med denne RGB -LED -en å endre farger når et nytt desimaltall dannes på LCD -skjermen. Når du først ser på den vanlige anoden RGB -led, vil du legge merke til at den har 4 ben; et rødt lysben, et power (anode) ben, et grønt lysben og et blått lysben. Strømbenet (anode) vil bli koblet til kraftskinnen og motta 5 volt. Koble de resterende tre fargebenene med 330 ohm motstander. I den andre enden av motstanden bruker du en mann til mann -ledning for å koble den til en PWM dgital -pinne på Arduino. PWM digital pin er en hvilken som helst digital pin med en snirklet linje ved siden av. PWM -pinnene jeg brukte var 9, 10 og 11.

Trinn 7: Koble til LCD -skjermen

Tilkopling av LCD -skjermen
Tilkopling av LCD -skjermen

For dette prosjektet vil LCD -displayet projisere det konverterte binære tallet til en desimal. Når vi ser på LCD -skjermen, vil du legge merke til 4 hannpinner. Disse pinnene er VCC, GND, SDA og SCL. For VCC, bruk en mann til hun -ledning for å koble VCC -pinnen til strømskinnen på brødbrettet. Dette gir 5 volt til VCC -pinnen. For GND -pinnen, koble den til jordskinnen med en mannlig til kvinnelig ledning. Med SDA- og SCL -pinnene kobler du den til en analog pinne med en mannlig til femal ledning. Jeg koblet SCL -pinnen til analog pin A5 og SDA -pin til analog pin A4.

Trinn 8: Skrive koden

Nå som jeg har forklart bygningsdelen av dette prosjektet, kan vi nå begynne koden. For det første må vi først laste ned og importere følgende biblioteker; LiquidCrystal_I2C -biblioteket og trådbiblioteket.

#include #include

Når du har gjort dette, må du deklarere alle nødvendige variabler. I alle typer kode må du først deklarere variablene dine.

const int digit1 = 2;

const int digit2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int digit5 = 6;

int digitsum1 = 0;

int digitsum2 = 0;

int digitsum3 = 0;

int digitsum4 = 0;

int digitsum5 = 0;

char array1 = "Binær til desimal";

char array2 = "Omformer";

int tim = 500; // verdien av forsinkelsestid

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

I det ugyldige oppsettet () erklærer du pin -typen for alle variablene dine. Du vil også bruke en seriell start fordi vi bruker analogWrite ()

ugyldig oppsett ()

{

Serial.begin (9600);

pinMode (siffer1, INNGANG);

pinMode (digit2, INPUT);

pinMode (digit3, INPUT);

pinMode (digit4, INPUT);

pinMode (siffer5, INNGANG);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

I tomromsoppsettet () opprettet jeg en for loop for å lage en melding som sa navnet på dette prosjektet. Grunnen til at det ikke er i tomromsløyfen () er at hvis det er i det tomrommet, vil meldingen fortsette å gjenta

lcd.setCursor (15, 0); // sett markøren til kolonne 15, linje 0

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

{

lcd.scrollDisplayLeft (); // Ruller innholdet på displayet ett mellomrom til venstre.

lcd.print (array1 [positionCounter1]); // Skriv ut en melding til LCD -skjermen.

forsinkelse (tim); // vent på 250 mikrosekunder

}

lcd.clear (); // Tømmer LCD-skjermen og plasserer markøren i øvre venstre hjørne.

lcd.setCursor (15, 1); // sett markøren til kolonne 15, linje 1

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

{

lcd.scrollDisplayLeft (); // Ruller innholdet på displayet ett mellomrom til venstre.

lcd.print (array2 [positionCounter]); // Skriv ut en melding til LCD -skjermen.

forsinkelse (tim); // vent i 250 mikrosekunder

}

lcd.clear (); // Tømmer LCD-skjermen og plasserer markøren i øvre venstre hjørne.

}

Nå som vi er ferdige med oppsettet av tomrom (), la oss gå videre til tomromssløyfen (). I tomridsløyfen opprettet jeg flere if-else-setninger for å sikre at når visse lys er på eller av, vil det vise et bestemt desimaltall på displayet. Jeg har lagt ved et dokument som viser hva som er inne i tomromsløkken min og de mange andre tomrommene jeg har opprettet. Klikk her for å gå til dokumentet

Alt du trenger å gjøre er å kjøre koden og nyte den nye binære til desimalomformeren.

Anbefalt: