Talaan ng mga Nilalaman:

Binary to Decimal Calculator: 8 Hakbang
Binary to Decimal Calculator: 8 Hakbang

Video: Binary to Decimal Calculator: 8 Hakbang

Video: Binary to Decimal Calculator: 8 Hakbang
Video: Binary to Octal Conversion 2024, Hulyo
Anonim
Binary to Decimal Calculator
Binary to Decimal Calculator

Para sa grade labing isang computer engineering, kailangan kong magpasya sa isang pangwakas na proyekto. Sa una ay hindi ko alam kung ano ang gagawin dahil kailangan itong isama ang ilang mga bahagi ng hardware. Pagkatapos ng ilang araw, sinabi sa akin ng aking kamag-aral na gumawa ng isang proyekto batay sa apat na bit adder na nilikha namin ilang buwan na ang nakakaraan. Matapos ang araw na iyon, gamit ang aking apat na bit adder, nakalikha ako ng isang binary to decimal converter.

Ang paglikha ng proyektong ito ay nangangailangan ng maraming pagsasaliksik, na kinabibilangan ng pangunahin na pag-unawa kung paano gumagana ang isang buo at kalahating adder.

Hakbang 1: Kailangan ng Mga Materyales

Para sa proyektong ito, kakailanganin mo ang mga sumusunod na materyales:

  • Arduino UNO
  • apat na mga breadboard
  • siyam na volt na baterya
  • pitong XOR gate (2 XOR chips)
  • pitong AND gate (2 AT chips)
  • tatlong O gate (1 O maliit na tilad)
  • limang LEDs
  • walong 330 ohm resistors
  • LCD display
  • apat na male-female wires
  • maraming mga lalaking-lalaki na mga wire
  • wire stripper
  • karaniwang anode RGB LED

Gastos (hindi kasama ang mga wires): $ 79.82

Ang gastos ng lahat ng materyal ay matatagpuan sa electronics ng ABRA.

Hakbang 2: Pag-unawa sa 4 Bit Adder

Pag-unawa sa 4 Bit Adder
Pag-unawa sa 4 Bit Adder

Bago kami magsimula, dapat mong maunawaan kung paano gumagana ang isang apat na bit adder. Kapag una naming tiningnan ang circuit na ito, mapapansin mo na mayroong isang kalahating adder circuit at tatlong buong circuit ng adder. Dahil ang isang apat na bit na adder ay isang kumbinasyon ng isang buo at kalahating adder, nag-post ako ng isang video na nagpapaliwanag kung paano gumagana ang dalawang uri ng adder.

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

Hakbang 3: Pagbuo ng 4 Bit Adder

Pagbuo ng 4 Bit Adder
Pagbuo ng 4 Bit Adder
Pagbuo ng 4 Bit Adder
Pagbuo ng 4 Bit Adder

Ang pagpapaliwanag kung paano bumuo ng isang apat na bit adder ay napakahirap, dahil nagsasangkot ito ng maraming mga kable. Batay sa mga larawang ito, mabibigyan kita ng ilang mga trick upang maitayo ang circuit na ito. Una, ang paraan ng pag-aayos mo ng iyong mga chips ng lohika ay maaaring maging napakahalaga. Upang magkaroon ng isang maayos na circuit, mag-order ng iyong mga chips sa pagkakasunud-sunod na ito: XOR, AT, O, AT, XOR. Sa pagkakaroon ng order na ito, hindi lamang magiging maayos ang iyong circuit, ngunit magiging napakadali para sa iyo na ayusin.

Ang isa pang mahusay na trick ay upang buuin ang bawat adder nang paisa-isa at mula sa kanang bahagi hanggang sa kaliwang bahagi. Ang isang pangkaraniwang pagkakamali na nagawa ng maraming tao ay gawin ang lahat ng mga nagdaragdag nang sabay. Sa pamamagitan nito, maaari kang magulo sa mga kable. Ang isang pagkakamali sa 4-bit adder ay maaaring maging sanhi ng hindi gumana ang buong bagay,

Hakbang 4: Pagbibigay ng Lakas at Lupa sa Circuit

Gamit ang 9-volt na baterya, magbigay ng lakas at lupa sa breadboard na maglalaman ng four-bit adder. Para sa natitirang 3 mga breadboard, magbigay ng lakas at lupa dito sa pamamagitan ng Arduino UNO.

Hakbang 5: Mga LED LED

Mga LED LED
Mga LED LED

Para sa proyektong ito, ang limang LEDs ay gagamitin bilang isang input at output na aparato. Bilang isang output aparato, ang LED ay magpapailaw ng isang binary number, depende sa mga input na inilagay sa apat na bit adder. Bilang isang input aparato, depende sa kung aling mga LED ang naka-on at naka-off, magagawa naming i-project ang na-convert na numero ng binary sa display ng LCD bilang isang decimal number. Upang i-wire ang LED, ikonekta mo ang isa sa mga kabuuan na nabuo ng apat na bit adder sa anode leg ng LED (mahabang binti ng LED), gayunpaman sa pagitan ng dalawang ito, maglagay ng isang 330 ohm resistor. Pagkatapos ay ikonekta ang leg ng katod ng LED (maikling binti ng LED) sa ground rail. Sa pagitan ng risistor at ang kabuuan ng kawad, ikonekta ang isang lalaki sa lalaking kawad sa anumang digital na pin sa Arduino UNO. Ulitin ang hakbang na ito para sa tatlong natitirang kabuuan at ang isakatuparan. Ang mga digital na pin na ginamit ko ay 2, 3, 4, 5 at 6.

Hakbang 6: LED Karaniwang Anode RGB LED

Mga Kable Karaniwang Anode RGB LED
Mga Kable Karaniwang Anode RGB LED

Para sa proyektong ito, ang layunin ng RGB LED na ito ay upang baguhin ang mga kulay tuwing may bagong decimal number na nabuo sa LCD display. Kapag una mong tiningnan ang karaniwang anode na pinangunahan ng RGB, mapapansin mo na mayroon itong 4 na paa; isang pulang-ilaw na paa, isang lakas (anode) na binti, isang berdeng-ilaw na paa, at isang asul na ilaw na binti. Ang kapangyarihan (anode) na binti ay konektado sa power rail, na tumatanggap ng 5 volts. Ikonekta ang natitirang tatlong kulay na mga binti na may 330 ohm resistors. Sa kabilang dulo ng risistor, gumamit ng isang lalaki hanggang lalaking kawad upang ikonekta ito sa isang PWM dgital pin sa Arduino. Ang PWM digital pin ay anumang digital pin na may isang squiggly line sa tabi nito. Ang mga ginamit kong PWM na pin ay 9, 10, at 11.

Hakbang 7: Mga kable sa LCD Display

Kable ng LCD Display
Kable ng LCD Display

Para sa proyektong ito, ipapakita ng LCD display ang na-convert na numero ng binary sa isang decimal. Kapag tiningnan namin ang LCD display, mapapansin mo ang 4 na male pin. Ang mga pin na iyon ay VCC, GND, SDA at SCL. Para sa VCC, gumamit ng isang lalaki hanggang babae na kawad upang ikonekta ang VCC pin sa power rail sa breadboard. Magbibigay ito ng 5 volts sa VCC pin Para sa pin ng GND, ikonekta ito sa ground rail na may lalaking hanggang babaeng kawad. Gamit ang mga pin ng SDA at SCL, ikonekta ito sa isang analog pin na may isang lalaki hanggang femal wire. Ikinonekta ko ang SCL pin sa analog pin A5 at ang SDA pin sa analog pin A4.

Hakbang 8: Pagsulat ng Code

Ngayon na ipinaliwanag ko ang bahagi ng pagbuo ng proyektong ito, hinahayaan na ngayong simulan ang code. Una, kailangan muna nating i-download at i-import ang mga sumusunod na aklatan; LiquidCrystal_I2C library, at ang wire library.

# isama ang # isama

Kapag nagawa mo na ito, kailangan mong ideklara ang lahat ng kinakailangang mga variable. Sa anumang uri ng code, dapat mo munang ideklara ang iyong mga variable.

const int digit1 = 2;

const int digit2 = 3;

const int digit3 = 4;

Const int digit4 = 5;

Const int digit5 = 6;

int digitum1 = 0;

int digitum2 = 0;

int digitum3 = 0;

int digitum4 = 0;

int digitum5 = 0;

char array1 = "Binary to Decimal";

char array2 = "Converter";

int tim = 500; // ang halaga ng oras ng pagkaantala

Const int redPin = 9;

const int greenPin = 10;

Const int bluePin = 11;

# tukuyin ang KOMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

Sa void setup (), idedeklara mo ang uri ng pin para sa lahat ng iyong mga variable. Gumagamit ka rin ng isang panimulang serial dahil gumagamit kami ng analogWrite ()

walang bisa ang pag-setup ()

{

Serial.begin (9600);

pinMode (digit1, INPUT);

pinMode (digit2, INPUT);

pinMode (digit3, INPUT);

pinMode (digit4, INPUT);

pinMode (digit5, INPUT);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

Sa void setup (), lumikha ako ng isang para sa loop upang lumikha ng isang mensahe na sinasabi ang pangalan ng proyektong ito. Ang dahilan kung bakit wala ito sa void loop () ay kung ito ay nasa walang bisa, ang mensahe ay patuloy na paulit-ulit

lcd.setCursor (15, 0); // itakda ang cursor sa haligi 15, linya 0

para sa (int posisyonCounter1 = 0; posisyonCounter1 <17; posisyonCounter1 ++)

{

lcd.scrollDisplayLeft (); // Scroll ang mga nilalaman ng display ng isang puwang sa kaliwa.

lcd.print (array1 [posisyonCounter1]); // I-print ang isang mensahe sa LCD.

antala (tim); // maghintay ng 250 microseconds

}

lcd.clear (); // Nilinaw ang screen ng LCD at pinosisyon ang cursor sa kaliwang sulok sa itaas.

lcd.setCursor (15, 1); // itakda ang cursor sa haligi 15, linya 1

para sa (int posisyonCounter = 0; posisyonCounter <9; posisyonCounter ++)

{

lcd.scrollDisplayLeft (); // Scroll ang mga nilalaman ng display ng isang puwang sa kaliwa.

lcd.print (array2 [posisyonCounter]); // I-print ang isang mensahe sa LCD.

antala (tim); // maghintay ng 250 microseconds

}

lcd.clear (); // Nilinaw ang screen ng LCD at pinosisyon ang cursor sa kaliwang sulok sa itaas.

}

Ngayon na natapos na natin ang void setup (), lumipat tayo sa void loop (). Sa void loop, gumawa ako ng maraming mga if-else na pahayag upang matiyak na kapag ang ilang mga ilaw ay naka-on o naka-off, magpapakita ito ng isang tiyak na decimal number sa display. Nag-attach ako ng isang dokumento na ipinapakita kung ano ang nasa loob ng aking void loop at maraming iba pang mga void na nilikha ko. Mag-click dito upang bisitahin ang dokumento

Ngayon ang kailangan mo lang gawin ay patakbuhin ang code at masiyahan sa iyong bagong binary to decimal converter.

Inirerekumendang: