Բովանդակություն:

Երկուականից տասնորդական հաշվիչ `8 քայլ
Երկուականից տասնորդական հաշվիչ `8 քայլ

Video: Երկուականից տասնորդական հաշվիչ `8 քայլ

Video: Երկուականից տասնորդական հաշվիչ `8 քայլ
Video: Ինչպե՞ս տասական համակարգի թվերը վերածել երկուական հաշվարկաման համակարգի թվերի - Fast and Curious 2024, Հուլիսի
Anonim
Երկուականից տասնորդական հաշվիչ
Երկուականից տասնորդական հաշվիչ

Համակարգչային տեխնիկայի տասնմեկերորդ դասարանի համար ես պետք է որոշեի վերջնական նախագիծը: Սկզբում ես չգիտեի, թե ինչ անել, քանի որ այն պետք է ներառեր որոշ ապարատային բաղադրիչներ: Մի քանի օր անց դասընկերս ասաց ինձ, որ մի նախագիծ կատարեմ, որը հիմնված է այն չորս բիթանոց գումարիչի վրա, որը մենք ստեղծել էինք մի քանի ամիս առաջ: Այդ օրվանից հետո, օգտագործելով իմ չորս բիթանոց գումարիչը, ես կարողացա ստեղծել երկուականից տասնորդական փոխարկիչ:

Այս նախագծի ստեղծումը պահանջում է բազմաթիվ հետազոտություններ, որոնք ներառում են հիմնականում հասկանալ, թե ինչպես է աշխատում լրիվ ու կես գումարողը:

Քայլ 1: Անհրաժեշտ նյութեր

Այս նախագծի համար ձեզ հարկավոր կլինեն հետևյալ նյութերը.

  • Arduino UNO
  • չորս տախտակ
  • ինը վոլտ մարտկոց
  • յոթ XOR դարպաս (2 XOR չիպ)
  • յոթ AND դարպաս (2 AND chips)
  • երեք OR դարպասներ (1 OR chip)
  • հինգ LED
  • ութ 330 օմ դիմադրություն
  • LCD էկրան
  • չորս արական-իգական լարեր
  • բազմաթիվ արական և արական լարեր
  • մետաղալար մերկացնող
  • ընդհանուր անոդ RGB LED

Արժեքը (առանց լարերի) `79,82 դոլար

Նյութի ամբողջ արժեքը հայտնաբերվել է ABRA էլեկտրոնիկայի վրա:

Քայլ 2. Հասկանալ 4 բիթանոց Adder- ը

Հասկանալով 4 Bit Adder- ը
Հասկանալով 4 Bit Adder- ը

Նախքան սկսելը, դուք պետք է հասկանաք, թե ինչպես է աշխատում չորս բիթանոց գումարիչը: Երբ մենք առաջին անգամ նայենք այս շղթային, կնկատեք, որ կա կես գումարիչ շրջան և երեք լրացնող լրացման սխեմաներ: Քանի որ չորս բիթանոց գումարիչը լրիվ և կես գումարիչի համակցություն է, ես տեղադրել եմ մի տեսանյութ, որը բացատրում է, թե ինչպես են աշխատում երկու տեսակի գումարողները:

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

Քայլ 3. Կառուցեք 4 բիթանոց Adder- ը

Կառուցեք 4 բիթանոց Adder
Կառուցեք 4 բիթանոց Adder
Կառուցեք 4 բիթանոց Adder
Կառուցեք 4 բիթանոց Adder

Շատ դժվար է բացատրել, թե ինչպես կարելի է կառուցել չորս բիթանոց գումարիչ, քանի որ այն ներառում է շատ լարեր: Այս նկարների հիման վրա ես կարող եմ ձեզ տալ մի քանի հնարքներ `այս շղթան կառուցելու համար: Նախ, ձեր տրամաբանական չիպերը դասավորելու ձևը կարող է շատ կարևոր լինել: Կոկիկ շրջան ունենալու համար պատվիրեք ձեր չիպսերն այս հերթականությամբ ՝ XOR, AND, OR, AND, XOR: Այս կարգը ունենալով ՝ ձեր շրջանը ոչ միայն կոկիկ կլինի, այլև ձեզ համար շատ հեշտ կլինի կազմակերպել:

Մեկ այլ հիանալի հնարք է կառուցել յուրաքանչյուր գումարիչ մեկ առ մեկ և աջ կողմից ձախ կողմում: Սովորական սխալը, որը շատերն են արել, դա միաժամանակ բոլոր գումարիչներն անելն է: Դրանով դուք կարող եք խառնաշփոթ առաջացնել էլեկտրագծերի մեջ: 4-բիթանոց գումարիչի մեկ սխալը կարող է պատճառ դառնալ, որ ամբողջը չաշխատի,

Քայլ 4. Էլեկտրաէներգիայի և գրունտի ապահովում շրջագծին

Օգտագործելով 9 վոլտ մարտկոցը, սնուցեք սնուցող տախտակին, որը պետք է պարունակի չորս բիթանոց հավելումը: Մնացած 3 տախտակների համար տրամադրեք ուժ և հող նրան Arduino UNO- ի միջոցով:

Քայլ 5: LED- ների միացում

Լարերի լուսադիոդներ
Լարերի լուսադիոդներ

Այս նախագծի համար հինգ LED- ները կօգտագործվեն որպես մուտքի և ելքի սարք: Որպես ելքային սարք, LED- ը կլուսավորի երկուական թիվ ՝ կախված չորս բիթանոց գումարիչում տեղադրված մուտքերից: Որպես մուտքագրման սարք, կախված այն լուսադիոդներից, որոնք միացված և անջատված են, մենք կկարողանանք LCD էկրանին ձևափոխված երկուական համարը ներկայացնել որպես տասնորդական թիվ: LED- ն մետաղալարելու համար դուք կմիացնեք չորս բիթանոց գումարիչից գոյացած գումարներից մեկը LED- ի անոդի ոտքին (LED երկար ոտք), սակայն այս երկուսի միջև տեղադրեք 330 օմ ռեզիստոր: Այնուհետեւ միացրեք LED- ի կաթոդի ոտքը (LED- ի կարճ ոտքը) գետնին: Ռեզիստորի և գումարի մետաղալարերի միջև, միացրեք արական և արական մետաղալարերին Arduino UNO- ի ցանկացած թվային կապի: Կրկնեք այս քայլը մնացած երեք գումարների և կատարման համար: Իմ օգտագործած թվային կապումներն էին 2, 3, 4, 5 և 6:

Քայլ 6. Միացման ընդհանուր անոդ RGB LED

Հաղորդալարերի ընդհանուր անոդ RGB LED
Հաղորդալարերի ընդհանուր անոդ RGB LED

Այս նախագծի համար այս RGB LED- ի նպատակն է փոխել գույները, երբ LCD էկրանին նոր տասնորդական թիվ է ձևավորվում: Երբ առաջին անգամ նայեք RGB- ի ընդհանուր անոդին, կնկատեք, որ այն ունի 4 ոտք; կարմիր լույսի ոտք, հզոր (անոդ) ոտք, կանաչ լույս ոտք և կապույտ լույս ոտք: Էլեկտրաէներգիայի (անոդի) ոտքը միացված կլինի հոսանքի ռելսին ՝ ստանալով 5 վոլտ: Մնացած երեք գունավոր ոտքերը միացրեք 330 օմ ռեզիստորներով: Ռեզիստորի մյուս ծայրում օգտագործեք արականից արական մետաղալար ՝ այն Arduino- ի PWM դիջիտալ կապին միացնելու համար: PWM թվային քորոցը ցանկացած թվային քորոց է, որի կողքին կա խճճված գիծ: Իմ օգտագործած PWM կապումներն էին 9, 10 և 11:

Քայլ 7: LCD էկրանին միացում

LCD էկրանին միացում
LCD էկրանին միացում

Այս նախագծի համար LCD էկրանը փոխակերպված երկուական թիվը կներկայացնի տասնորդականի: Երբ մենք նայում ենք LCD էկրանին, կնկատեք 4 արական կապում: Այդ կապում են VCC, GND, SDA և SCL: VCC- ի համար օգտագործեք արականից իգական մետաղալար `VCC կապը միացնելու համար տախտակին տեղադրված հոսանքի ռելսին: Սա 5 վոլտ կապահովի VCC- ի քորոցին GND- ի կապի համար այն միացրեք գետնին երկաթուղուն `արականից իգական մետաղալարով: SDA և SCL կապում այն միացրեք անալոգային կապին `արական և իգական մետաղալարով: Ես SCL կապը միացրեցի անալոգային կապի A5- ին, իսկ SDA կապը `անալոգային A4 կապին:

Քայլ 8: Գրեք օրենսգիրքը

Այժմ, երբ ես բացատրեցի այս նախագծի շինարարական մասը, եկեք սկսենք ծածկագիրը: Նախ, մենք պետք է նախ ներբեռնենք և ներմուծենք հետևյալ գրադարանները. LiquidCrystal_I2C գրադարանը և մետաղալար գրադարանը:

#ներառել #ներառել

Դա անելուց հետո դուք պետք է հայտարարեք բոլոր անհրաժեշտ փոփոխականները: Typeանկացած տիպի ծածկագրում դուք պետք է նախ հայտարարեք ձեր փոփոխականների մասին:

const int նիշ 1 = 2;

const int թվանշան 2 = 3;

const int digit3 = 4;

const int նիշ 4 = 5;

const int digit5 = 6;

int թվանշան 1 = 0;

int թվանշան 2 = 0;

int թվանշան 3 = 0;

int թվանշան 4 = 0;

int թվանշան 5 = 0;

char array1 = "Երկուականից տասնորդական";

char array2 = "Փոխարկիչ";

int tim = 500; // ուշացման ժամանակի արժեքը

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#սահմանեք COMMON_ANODE

LiquidCrystal_I2C LCD (0x27, 16, 2);

Void setup- ում () դուք հայտարարում եք ձեր բոլոր փոփոխականների համար քորոցի տեսակը: Դուք նաև կօգտագործեք սերիական սկիզբ, քանի որ մենք օգտագործում ենք analogWrite ():

դատարկ կարգավորում ()

{

Serial.begin (9600);

pinMode (թվանշան 1, Մուտք);

pinMode (թվանշան 2, Մուտք);

pinMode (digit3, INPUT);

pinMode (digit4, INPUT);

pinMode (digit5, INPUT);

lcd.init ();

lcd. լուսարձակը ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

Void setup- ում () ես ստեղծեցի for loop ՝ այս նախագծի անունը ասող հաղորդագրություն ստեղծելու համար: Պատճառը, թե ինչու այն դատարկ օղակում չէ () այն է, որ եթե այն այդ դատարկության մեջ է, հաղորդագրությունը կշարունակվի կրկնել:

lcd.setCursor (15, 0); // կուրսորը սահմանեք 15 -րդ սյունակ, տող 0

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

{

lcd.scrollDisplayLeft (); // Ոլորում է ցուցադրման բովանդակությունը մեկ տարածություն դեպի ձախ:

lcd.print (զանգված 1 [positionCounter1]); // Տպել հաղորդագրություն LCD- ին:

ուշացում (ժամանակ); // սպասեք 250 միկրո վայրկյան

}

lcd. հստակ (); // Մաքրում է LCD էկրանը և կուրսորը տեղադրում վերին ձախ անկյունում:

lcd.setCursor (15, 1); // սահմանեք կուրսորը 15 -րդ սյունակում, տող 1

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

{

lcd.scrollDisplayLeft (); // Ոլորում է ցուցադրման բովանդակությունը մեկ տարածություն դեպի ձախ:

lcd.print (array2 [positionCounter]); // Տպել հաղորդագրություն LCD- ին:

հետաձգում (ժամանակ); // սպասեք 250 միկրո վայրկյան

}

lcd. հստակ (); // Մաքրում է LCD էկրանը և կուրսորը տեղադրում վերին ձախ անկյունում:

}

Այժմ, երբ ավարտեցինք դատարկության կարգավորումը (), եկեք անցնենք դատարկ օղակին (): Անվավեր հանգույցում ես ստեղծեցի մի քանի այլ բան, եթե համոզված լինեմ, որ երբ որոշակի լույսեր միացված կամ անջատված են, այն կցուցադրի որոշակի տասնորդական համար: Ես կցել եմ մի փաստաթուղթ, որը ցույց է տալիս, թե ինչ կա իմ դատարկ օղակի և իմ ստեղծած բազմաթիվ այլ դատարկությունների մեջ: Կտտացրեք այստեղ ՝ փաստաթուղթը այցելելու համար:

Այժմ մնում է միայն գործարկել կոդը և վայելել ձեր երկուականից տասնորդական նոր փոխարկիչը:

Խորհուրդ ենք տալիս: