Բովանդակություն:
- Քայլ 1: Անհրաժեշտ նյութեր
- Քայլ 2. Հասկանալ 4 բիթանոց Adder- ը
- Քայլ 3. Կառուցեք 4 բիթանոց Adder- ը
- Քայլ 4. Էլեկտրաէներգիայի և գրունտի ապահովում շրջագծին
- Քայլ 5: LED- ների միացում
- Քայլ 6. Միացման ընդհանուր անոդ RGB LED
- Քայլ 7: LCD էկրանին միացում
- Քայլ 8: Գրեք օրենսգիրքը
Video: Երկուականից տասնորդական հաշվիչ `8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Համակարգչային տեխնիկայի տասնմեկերորդ դասարանի համար ես պետք է որոշեի վերջնական նախագիծը: Սկզբում ես չգիտեի, թե ինչ անել, քանի որ այն պետք է ներառեր որոշ ապարատային բաղադրիչներ: Մի քանի օր անց դասընկերս ասաց ինձ, որ մի նախագիծ կատարեմ, որը հիմնված է այն չորս բիթանոց գումարիչի վրա, որը մենք ստեղծել էինք մի քանի ամիս առաջ: Այդ օրվանից հետո, օգտագործելով իմ չորս բիթանոց գումարիչը, ես կարողացա ստեղծել երկուականից տասնորդական փոխարկիչ:
Այս նախագծի ստեղծումը պահանջում է բազմաթիվ հետազոտություններ, որոնք ներառում են հիմնականում հասկանալ, թե ինչպես է աշխատում լրիվ ու կես գումարողը:
Քայլ 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- ը
Նախքան սկսելը, դուք պետք է հասկանաք, թե ինչպես է աշխատում չորս բիթանոց գումարիչը: Երբ մենք առաջին անգամ նայենք այս շղթային, կնկատեք, որ կա կես գումարիչ շրջան և երեք լրացնող լրացման սխեմաներ: Քանի որ չորս բիթանոց գումարիչը լրիվ և կես գումարիչի համակցություն է, ես տեղադրել եմ մի տեսանյութ, որը բացատրում է, թե ինչպես են աշխատում երկու տեսակի գումարողները:
www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s
Քայլ 3. Կառուցեք 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- ի նպատակն է փոխել գույները, երբ LCD էկրանին նոր տասնորդական թիվ է ձևավորվում: Երբ առաջին անգամ նայեք RGB- ի ընդհանուր անոդին, կնկատեք, որ այն ունի 4 ոտք; կարմիր լույսի ոտք, հզոր (անոդ) ոտք, կանաչ լույս ոտք և կապույտ լույս ոտք: Էլեկտրաէներգիայի (անոդի) ոտքը միացված կլինի հոսանքի ռելսին ՝ ստանալով 5 վոլտ: Մնացած երեք գունավոր ոտքերը միացրեք 330 օմ ռեզիստորներով: Ռեզիստորի մյուս ծայրում օգտագործեք արականից արական մետաղալար ՝ այն Arduino- ի PWM դիջիտալ կապին միացնելու համար: PWM թվային քորոցը ցանկացած թվային քորոց է, որի կողքին կա խճճված գիծ: Իմ օգտագործած PWM կապումներն էին 9, 10 և 11:
Քայլ 7: 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 էկրանը և կուրսորը տեղադրում վերին ձախ անկյունում:
}
Այժմ, երբ ավարտեցինք դատարկության կարգավորումը (), եկեք անցնենք դատարկ օղակին (): Անվավեր հանգույցում ես ստեղծեցի մի քանի այլ բան, եթե համոզված լինեմ, որ երբ որոշակի լույսեր միացված կամ անջատված են, այն կցուցադրի որոշակի տասնորդական համար: Ես կցել եմ մի փաստաթուղթ, որը ցույց է տալիս, թե ինչ կա իմ դատարկ օղակի և իմ ստեղծած բազմաթիվ այլ դատարկությունների մեջ: Կտտացրեք այստեղ ՝ փաստաթուղթը այցելելու համար:
Այժմ մնում է միայն գործարկել կոդը և վայելել ձեր երկուականից տասնորդական նոր փոխարկիչը:
Խորհուրդ ենք տալիս:
Այցելուների հաշվիչ `օգտագործելով 8051 և IR սենսոր LCD- ով` 3 քայլ
Այցելուների հաշվիչ `օգտագործելով 8051 և IR սենսոր LCD- ով. Հարգելի ընկերներ, ես բացատրել եմ, թե ինչպես պատրաստել այցելուների հաշվիչ` օգտագործելով 8051 և IR սենսորներ և ցուցադրել այն LCD- ում: 8051 -ը ամենահայտնի միկրոկառավարիչներից է, որն օգտագործվում է ամբողջ աշխարհում հոբբի, առևտրային ծրագրեր պատրաստելու համար: Ես տեսակցել եմ
Բանկային հաշվի խնայողությունների հաշվիչ `18 քայլ
Բանկային հաշվի խնայողությունների հաշվիչ. Շնորհակալություն իմ խնայողությունների հաշվիչն ընտրելու համար: Այսօր մենք կսովորենք, թե ինչպես ծրագրավորել BankAccount դաս `ձեր անձնական ծախսերն ու խնայողությունները հետևելու համար: Ձեր ծախսերին հետևելու համար բանկային հաշիվ ստեղծելու համար նախ անհրաժեշտ կլինի հիմնական
Ներքին օդի որակի հաշվիչ `5 քայլ (նկարներով)
Ներքին օդի որակի հաշվիչ. Ձեր տանը օդի որակը ստուգելու պարզ նախագիծ: Քանի որ վերջին շրջանում մենք շատ ենք մնում/աշխատում տնից, գուցե լավ գաղափար լինի վերահսկել օդի որակը և հիշեցնել ինքներդ ձեզ, երբ ժամանակն է բացել պատուհանը և մի քիչ մաքուր օդ ներս մտեք
Երկուականից տասնորդական համընկնող խաղ. 10 քայլ
Երկուականից տասնորդական համընկնող խաղ. Այս ուսանելի ծրագիրը ցույց կտա այն գործընթացը և մոդուլները, որոնք անհրաժեշտ են մեր Երկուականից տասնորդական համապատասխանող խաղ ստեղծելու համար: 60 վայրկյանի ընթացքում օգտվողները թարգմանելու և մուտքագրելու են յոթ հատվածի ցուցադրվող պատահականորեն արտադրված տասնորդական թվեր երկուական ՝ փոփոխելով
Ինչպես բաժանել տասնորդական թվեր- EDP 279: 5 քայլ
Ինչպես բաժանել տասնորդական թվեր- EDP 279: Ինչպես բաժանել թվերը տասնորդականներով