INHOUDSOPGAWE:
- Stap 1: materiaal benodig
- Stap 2: Verstaan 4 -bitsadder
- Stap 3: Bou die 4 bis -adder
- Stap 4: Voorsien krag en grond aan die stroombaan
- Stap 5: Bedrading LED's
- Stap 6: Bedrading van gewone anode RGB LED
- Stap 7: Bedrading van die LCD -skerm
- Stap 8: Skryf die kode
Video: Binêr tot desimale sakrekenaar: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
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
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
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
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
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
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:
Sakrekenaar vir bankrekeninge: 18 stappe
Bankrekening Spaarrekenaar: Dankie dat u my spaarrekenaar gekies het. Vandag leer ons hoe u 'n BankAccount -klas kan programmeer om u persoonlike uitgawes en besparings by te hou. Om 'n bankrekening te maak om u uitgawes na te gaan, benodig u eers 'n basiese
Die binêre tot desimale matcher -spel: 10 stappe
Die Binary to Decimal Matcher -spel: hierdie instruksies sal die proses en modules wys wat nodig is om ons Binary to Decimal Matching -spel te skep. Binne 60 sekondes sal gebruikers soveel willekeurig gegenereerde desimale getalle op die sewe segmentvertoning in binêre vertaal en invoer deur te skakel
Hoe om desimale te verdeel- EDP 279: 5 stappe
Hoe om desimale te verdeel- EDP 279: Hoe om getalle met desimale te verdeel
Inleiding tot 'n eenvoudige Java -sakrekenaar: 9 stappe
Inleiding tot eenvoudige Java -sakrekenaar: eenvoudige Java -sakrekenaar Inleiding: In hierdie projek leer ons u hoe u 'n eenvoudige sakrekenaar in Java kan skep. Ons neem aan dat u reeds die Eclipse IDE (Integrated Development Environment) geïnstalleer het. As u nog nie hierdie bank het nie
1A tot 40A huidige BOOST -omskakelaar vir tot 1000W DC -motor: 3 stappe
1A tot 40A huidige BOOST-omskakelaar vir tot 1000W DC-motor: Hallo! In hierdie video leer u hoe u 'n stroomversterker vir u hoë ampere DC-motors tot 1000W en 40 Ampère met transistors en 'n middelkraan-transformator kan maak. die stroom by die uitgang is baie hoog, maar die spanning sal r wees