INHOUDSOPGAWE:

Binêr tot desimale sakrekenaar: 8 stappe
Binêr tot desimale sakrekenaar: 8 stappe

Video: Binêr tot desimale sakrekenaar: 8 stappe

Video: Binêr tot desimale sakrekenaar: 8 stappe
Video: Lesson 04: Introduction to Base number Binary, Decimal, Hexadecimal and Octal 2024, November
Anonim
Binêr tot desimale sakrekenaar
Binêr tot desimale sakrekenaar

Vir graad elf rekenaaringenieurswese moes ek besluit op 'n finale projek. Ek het eers nie geweet wat om te maak nie, omdat dit sekere hardeware -komponente moes insluit. Na 'n paar dae het my klasmaat vir my gesê ek moet 'n projek doen wat gebaseer is op die vier -bits adder wat ons 'n paar maande gelede geskep het. Na die dag kon ek 'n binêre na desimale omskakelaar gebruik deur my vierbit -adder te gebruik.

Om hierdie projek te skep, verg baie navorsing, wat hoofsaaklik insluit om te verstaan hoe 'n volledige en 'n half adder werk.

Stap 1: materiaal benodig

Vir hierdie projek benodig u die volgende materiaal:

  • Arduino UNO
  • vier broodborde
  • nege volt battery
  • sewe XOR -hekke (2 XOR -skyfies)
  • sewe EN hekke (2 EN skyfies)
  • drie OF hekke (1 OF chip)
  • vyf LED's
  • agt 330 ohm weerstande
  • LCD -skerm
  • vier man-vroulike drade
  • baie manlike-manlike drade
  • draadstropper
  • algemene anode RGB LED

Koste (drade uitgesluit): $ 79,82

Alle materiaal se koste is op ABRA -elektronika gevind.

Stap 2: Verstaan 4 -bitsadder

4 Bit Adder verstaan
4 Bit Adder verstaan

Voordat ons begin, moet u verstaan hoe 'n vierbit-opteller werk. As ons eers na hierdie stroombaan kyk, sal u sien dat daar 'n halwe byvoegingskring en drie vol byvoegingsbane is. Omdat 'n vier-bis-adder 'n kombinasie van 'n volle en 'n half adder is, het ek 'n video geplaas waarin verduidelik word hoe die twee tipes adder werk.

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

Stap 3: Bou die 4 bis -adder

Die bou van die 4 bis -adder
Die bou van die 4 bis -adder
Die bou van die 4 bis -adder
Die bou van die 4 bis -adder

Dit is baie moeilik om te verduidelik hoe u 'n vierbit-opteller moet bou, aangesien dit baie bedrading behels. Op grond van hierdie foto's kan ek u 'n paar truuks gee om hierdie kring te bou. Eerstens kan die manier waarop u u logika -skyfies rangskik, baie belangrik wees. Om 'n netjiese stroombaan te hê, bestel u skyfies in hierdie volgorde: XOR, AND, OF, AND, XOR. Deur hierdie bestelling te hê, sal u kring nie net netjies wees nie, maar dit sal ook baie maklik wees om te organiseer.

Nog 'n goeie truuk is om elke opteller een vir een en van die regterkant na die linkerkant te bou. 'N Algemene fout wat baie mense begaan het, is om al die byvoegers terselfdertyd te doen. Deur dit te doen, kan u die bedrading versteur. Een fout in die 4-bis adder kan veroorsaak dat die hele ding nie werk nie,

Stap 4: Voorsien krag en grond aan die stroombaan

Gee die broodbord wat die vier-bits byvoegsel bevat, krag en grond aan die broodbord met die 9-volt-battery. Gee vir die oorblywende 3 broodborde krag en grond daaraan via die Arduino UNO.

Stap 5: Bedrading LED's

Bedrading LED's
Bedrading LED's

Vir hierdie projek sal die vyf LED's as 'n invoer- en afvoertoestel gebruik word. As 'n uitsetapparaat, sal die LED 'n binêre getal verlig, afhangende van die insette wat in die vierbitsadder geplaas word. Afhangend van watter LED's aan en af is, kan ons die ingevoerde toestel as 'n desimale getal op die LCD -skerm as 'n desimale getal projekteer. Om die LED te bedraad, verbind u een van die somme wat deur die vier bisadder gevorm word, aan die anodebeen van die LED (lang been van LED), maar plaas 'n weerstand van 330 ohm tussen hierdie twee. Koppel dan die katodebeen van die LED (kort been van LED) aan die grondrail. Tussen die weerstand en die somdraad aan, verbind 'n manlike met 'n mannetjiesdraad met enige digitale pen op die Arduino UNO. Herhaal hierdie stap vir die drie oorblywende bedrae en die uitvoer. Die digitale penne wat ek gebruik het, was 2, 3, 4, 5 en 6.

Stap 6: Bedrading van gewone anode RGB LED

Bedrading Algemene Anode RGB LED
Bedrading Algemene Anode RGB LED

Vir hierdie projek is die doel van hierdie RGB LED om kleure te verander wanneer 'n nuwe desimale getal op die LCD -skerm verskyn. As u eers na die algemene anode RGB -LED kyk, sal u sien dat dit 4 bene het; 'n rooi lig been, 'n krag (anode) been, 'n groen lig been en 'n blou lig been. Die krag (anode) been sal aan die kragrail gekoppel word en 5 volt ontvang. Verbind die oorblywende drie kleurbene met 330 ohm weerstande. Aan die ander kant van die weerstand, gebruik 'n manlike tot manlike draad om dit aan 'n PWM dgital -pen op die Arduino te koppel. Die digitale PWM -pen is enige digitale pen met 'n kronkellyn langsaan. Die PWM -penne wat ek gebruik het, was 9, 10 en 11.

Stap 7: Bedrading van die LCD -skerm

Bedrading van die LCD -skerm
Bedrading van die LCD -skerm

Vir hierdie projek projekteer die LCD -skerm die omgeskakelde binêre getal in 'n desimaal. As ons na die LCD -skerm kyk, sien u 4 manlike penne. Die penne is VCC, GND, SDA en SCL. Vir die VCC, gebruik 'n manlike tot vroulike draad om die VCC -pen aan die kragrail op die broodbord te koppel. Dit verskaf 5 volt aan die VCC -pen. Vir die GND -pen, koppel dit aan die grondrail met 'n manlike tot vroulike draad. Koppel dit met die SDA- en SCL -penne aan 'n analoog pen met 'n manlike tot vroulike draad. Ek het die SCL -pen aan die analoog pen A5 gekoppel en die SDA -pen aan die analoog pen A4.

Stap 8: Skryf die kode

Noudat ek die boudeel van hierdie projek verduidelik het, kan ons nou begin met die kode. Eerstens moet ons eers die volgende biblioteke aflaai en invoer; LiquidCrystal_I2C biblioteek, en die draad biblioteek.

#include #include

Sodra u dit gedoen het, moet u al die nodige veranderlikes verklaar. In enige tipe kode moet u eers u veranderlikes verklaar.

const int syfer1 = 2;

const int digit2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int syfer5 = 6;

int digitsum1 = 0;

int digitsum2 = 0;

int digitsum3 = 0;

int digitsum4 = 0;

int digitsum5 = 0;

char array1 = "Binêr tot desimaal";

char array2 = "Omskakelaar";

int tim = 500; // die waarde van die vertragingstyd

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#definieer COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

In die nietige opstelling () verklaar u die tipe pen vir al u veranderlikes. U sal ook 'n seriële begin gebruik omdat ons analogWrite () gebruik

leemte opstelling ()

{

Serial.begin (9600);

pinMode (syfer1, INVOER);

pinMode (syfer2, INVOER);

pinMode (syfer3, INVOER);

pinMode (syfer4, INVOER);

pinMode (syfer5, INVOER);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

In die leemte -opstelling () het ek 'n for -lus gemaak om 'n boodskap te skep wat die naam van hierdie projek sê. Die rede waarom dit nie in die leemte -lus () is nie, is dat as dit in die leemte is, die boodskap sal bly herhaal

lcd.setCursor (15, 0); // stel die wyser in kolom 15, reël 0

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

{

lcd.scrollDisplayLeft (); // Rol die inhoud van die skerm een spasie na links.

lcd.print (array1 [positionCounter1]); // Druk 'n boodskap op die LCD.

vertraging (tim); // wag vir 250 mikrosekondes

}

lcd.clear (); // Maak die LCD-skerm skoon en plaas die wyser in die linker boonste hoek.

lcd.setCursor (15, 1); // stel die wyser in kolom 15, reël 1

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

{

lcd.scrollDisplayLeft (); // Rol die inhoud van die skerm een spasie na links.

lcd.print (array2 [positionCounter]); // Druk 'n boodskap op die LCD.

vertraging (tim); // wag vir 250 mikrosekondes

}

lcd.clear (); // Maak die LCD-skerm skoon en plaas die wyser in die linker boonste hoek.

}

Noudat ons die leemte -opstelling () voltooi het, gaan ons na die leemte -lus (). In die leemte-lus het ek verskeie as-anders-stellings geskep om seker te maak dat wanneer daar sekere ligte aan of af is, dit 'n sekere desimale getal op die skerm sal vertoon. Ek het 'n dokument aangeheg wat wys wat in my leemte -lus is en die vele ander leemtes wat ek geskep het. Klik hier om die dokument te besoek

Al wat u hoef te doen is om die kode uit te voer en u nuwe binêre na desimale omskakelaar te geniet.

Aanbeveel: