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

LED Strip Atari Pong Արկադային մեքենա ՝ 8 քայլ
LED Strip Atari Pong Արկադային մեքենա ՝ 8 քայլ

Video: LED Strip Atari Pong Արկադային մեքենա ՝ 8 քայլ

Video: LED Strip Atari Pong Արկադային մեքենա ՝ 8 քայլ
Video: Atari VCS 2600-ի շտկում և ամբողջական վերականգնում | Retro Repair Guy Սերիա 30 2024, Նոյեմբեր
Anonim
LED Strip Atari Pong Արկադային մեքենա
LED Strip Atari Pong Արկադային մեքենա

Իմ անունը Գաբրիել Պոդևին է, և սա իմ առաջին անուղղելի անձնավորությունն է: Ես ներկայումս 16 տարեկան ավագ դպրոցի աշակերտ եմ, ով սիրում է ստեղծել և կառուցել իրեր, մինչդեռ շատ հետաքրքրված է էլեկտրոնիկայով, ռոբոտաշինությամբ, սխեմաներով և ծրագրավորմամբ: Հուսով եմ, որ դուք կարող եք գտնել այս անխախտելիը, գտեք սա օգտակար:

Այս ուսանելի դասում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել ռետրո ոճով Atari Pong խաղ ռետրո արկադային պատյանում: Նախագծի ցուցադրման համար կարող եք տեսնել վերը նշված տեսանյութը, կարող եք տեսնել նաև ավարտված նախագիծը և գործը միայնակ և երկու նկարներում: Այս անխափանելիքի վերջում ես ավելի խորը կխորանամ կոդի մեջ և ինչպես խմբագրել այն `անհատականացնելու համար:

Հիմնական մասերի ցանկը կբաժանվի բաժինների ՝ Գործիքներ, հավաքման մասեր և բաղադրիչներ

Այն գործիքները, որոնք ձեզ անհրաժեշտ կլինեն, ներառում են հետևյալը.

- Գայլիկոն

- oldոդման երկաթ

- Պտուտակահան (համընկնում է այն պտուտակների հետ, որոնք որոշում եք օգտագործել)

- Բազմաչափ

- շրջանառու սղոց, ժապավենային սղոց կամ լազերային դանակ հասանելի է մեկին

-մետաղալար կտրող կամ մկրատ

- Սոսինձ ատրճանակ

Մասերը, որոնք ձեզ անհրաժեշտ կլինեն հավաքման համար, կներառեն

- փայտի սոսինձ

- 10 մեկ դյույմ մեկ մատնաչափ փայտանյութ

- քառորդ դյույմ շերտ կամ մեծ փայտ կամ ընտրովի փայտ

- 24 պտուտակ կես դյույմ երկարությամբ

- 14 x 6,5 դյույմ led ցրող պլաստիկ (ըստ ցանկության)

- կարմիր և կապույտ էլեկտրական ժապավեն

Ձեզ անհրաժեշտ բաղադրիչներն են.

- 2 100k ohm պոտենցիոմետր

- 8 մետր առանձին հասցեավորվող Led ժապավեն (30 լեդ մեկ մետրի համար)

www.amazon.ca/ALITOVE-WS2812B-Individively-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=1535323567&sr=1-

- մի քանի մետր մետաղալար կամ մետաղալարերի բազմաթիվ գույներ

- AC to DC հոսանքի ադապտեր, որը 6 վ ելք է տալիս տակառի վարդակից

- 1 arduino Uno R3

եթե ինձ հասանելի չէ Arduino Uno R3- ը, կարող եք կառուցել այնպիսին, ինչպիսին ես կօգտագործեմ այս նախագծում, որն օգտագործում է atmel328-pu պրոցեսոր: Հետևեք այս հղմանը ՝ սովորելու համար, թե ինչպես կառուցել ձեր սեփական

Եթե դուք օգտագործում եք arduino uno, շարունակեք առաջին քայլը:

Քայլ 1. LED զանգվածի կառուցում

LED զանգվածի կառուցում
LED զանգվածի կառուցում
LED զանգվածի կառուցում
LED զանգվածի կառուցում
LED զանգվածի կառուցում
LED զանգվածի կառուցում

Այս քայլը ամենապարզ ժամանակատար քայլն է `կապված այն բոլոր զոդման հետ, որոնք դուք պետք է անեք:

-Սկսելու համար ձեզ հարկավոր կլինի 10 3/4 դյույմ 6 1/2 դյույմ փայտի կտոր:

-մեկ անգամ, երբ ունեք ձեր փայտի կտորը, բռնեք ձեր Led ժապավենը և կտրեք 26 հատված յուրաքանչյուր 10 լուսարձակի կամ յուրաքանչյուր 6 1/2 դյույմի:

-հատվածները կտրելուց հետո դրանք ուղղահայաց կպցրեք ձեր փայտին, ինչպես ցույց է տրված վերևի առաջին նկարում ներկայացված հետևյալ նկարներում:

-մեկ անգամ, երբ դուք կպցրել եք շերտերը և թույլ տվել, որ դրանք տեղավորվեն, մենք կսկսենք եռակցել:

-Ձեզ անհրաժեշտ կլինի երեք տարբեր գույնի մետաղալարեր

-այն պետք է միացված լինի բոլոր դրական կողմերին, որոնք միանում են մեկ մետաղալարին և բոլոր բացասական կողմերը `մի լարին, մինչդեռ վերջին մետաղալարն օձի միջոցով կապում է առաջատար շերտերը: Այս քայլի սկզբում երկրորդ նկարները դիագրամ են, որոնք ցույց կտան, թե ինչպես միացնել լարերը:

-Վերջապես դրանք միացնելուց հետո պարզապես կպչեք էլեկտրական ժապավեն ձեր եռակցման միացումներին համապատասխան գույներով: ինչպես ցույց է տրված վերը նշված երրորդ նկարում:

-վերջապես մենք կկապվենք Arduino- ին: ձեր թվային մուտքը կամ ձեր միջին մետաղալարը կկապվի ձեզ թվային մուտքագրման 6 փինով, և ձեր հիմքն ու դրականը կմիանան տախտակի վրա դրված դրական և բացասական ռելսերին:

Քայլ 2: Թիավարման հսկիչներ

Թիավարման վերահսկիչ
Թիավարման վերահսկիչ
Թիավարման վերահսկիչ
Թիավարման վերահսկիչ
Թիավարման վերահսկիչ
Թիավարման վերահսկիչ

Այս շատ պարզ քայլի համար անհրաժեշտ է ընդամենը երեք լար ամրացնել յուրաքանչյուր պոտենցիոմետրին: եթե դուք պահում եք պոտենցիոմետրը, որտեղ զոդման կետերը նայում են ձեզանից, ձախ ճյուղը կլինի դրական, կենտրոնական ճյուղը դուրս է գալիս, իսկ աջը ՝ գետնին: ինչպես ցույց է տրված վերևի դիագրամում

լարերը միացնելուց հետո մենք դրանք կկապենք Arduino- ին: Դուք դրական և բացասական կողմերը կկապվեն այնտեղ համապատասխան դրական և բացասական անձրևների հետ: Դուք պոտենցիոմետրերի վրա լարեր եք միացնում arduino- ի տարբեր մուտքերին: մեկը կկապվի (A0) վարդակին, իսկ մյուսը ՝ (A1) վարդակին:

Քայլ 3: Գործը կտրելը

Գործը կտրելը
Գործը կտրելը
Գործը կտրելը
Գործը կտրելը
Գործը կտրելը
Գործը կտրելը
Գործը կտրելը
Գործը կտրելը

այս հատվածը կտա ձեզ չափսեր և անկյուններ, թե ինչ պետք է կտրեք

**** շատ կարևոր ***** համոզվեք, որ ձեր փայտի հաստությունը քառորդ դյույմ է (1/4 դյույմ)

նաև մասերը կտրելիս հիշեք, որ ձեր մասերը պիտակավորեք

հիմնական հատվածը, որը պետք է կտրվի, կնշվի ներքևի, հետևի, վերևի, առջևի վերևի, առջևի ներքևի…: ցուցադրվում է նկարների սկզբում

մասի չափերը

- Ստորին `13 3/4 դյույմ X 10 1/4 դյույմ

- Հետ ՝ 13 3/4 դյույմ X 15 1/2 դյույմ

- Վերև ՝ 13 3/4 դյույմ X 6 1/2 դյույմ

- Առջևի ներքև ՝ 13 3/4 դյույմ X 4 1/4 դյույմ

- Հավաքեք վահանակ ՝ 13 3/4 դյույմ X 6 դյույմ

- Ներքին գագաթ ՝ 13 3/4 դյույմ X 3 1/4 դյույմ

- LED երեսպատում ՝ 6 1/4 դյույմ X 1 դյույմ (կտրեք դրանցից երկուսը)

- LED Ներքին հատակ ՝ 13 1/4 դյույմ X 4 1/2 դյույմ

- ներքին հետևի LED վահանակ ՝ 13 1/4 դյույմ X 9 դյույմ

- բլոկներ. 1 դյույմ X 1 դյույմ X 1 դյույմ (կտրել 10 բլոկ)

- Ակրիլային վահանակ ՝ 13 3/4 դյույմ X 6 1/2 դյույմ

Վերոնշյալ նկարները ցույց կտան կողային վահանակի մասի անկյուններն ու չափերը: նաև ձեզ հարկավոր կլինի կտրել այս մասի երկուսը

Քայլ 4: Գործի հավաքում

Գործի ժողով
Գործի ժողով
Գործի ժողով
Գործի ժողով
Գործի ժողով
Գործի ժողով

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

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

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

-Հաջորդը, դուք պետք է մի քանի փորձնական անցքեր փորեք փայտի և բլոկների միջով: երբ դուք կատարեք այդ պտուտակը, ապա մինչև ներքև:

-Հաջորդը մենք կտեղադրենք կողային վահանակները: Տեղադրեք վահանակները բլոկի արտաքին կողմի քառորդ դյույմ բացվածքի վրա: փորձնական անցք անցեք կողային վահանակի և փայտե բլոկի միջով և պտուտակեք վահանակները: կրկնել մյուս կողմից:

-Կողային վահանակներն ավարտելուց հետո: մենք կտեղադրենք առջևի ներքևի վահանակը: տեղադրեք վահանակը ներքևի մասով, իսկ կողքերը փորեք բլոկների մեջ և պտուտակեք վահանակը:

-Վերջապես մենք հետ կքաշենք: արեք նույնը, ինչ արեցիք առջևի ներքևի վահանակի հետ և հետ պտուտակեցիք:

-Այս պահից դուք հիմք ունեք կառուցելու և հասկանալու, թե ինչպես ենք մենք հավաքում այս գործը:

-Այս հաջորդ մասը մի փոքր ավելի դժվար է, քանի որ դուք աշխատում եք ավելի փոքր տարածքի հետ: սկսելու համար մեզ անհրաժեշտ կլինեն բոլոր վերին մասերը և 6 բլոկ:

-Այն, ինչ մինչ այժմ կառուցել եք, դրեք դրա հետևի մասում և բլոկները տեղադրեք անկյուններում ՝ վերևից քառորդ դյույմ հեռավորության վրա: (ինչպես ցույց է տրված սկզբում երրորդ նկարում)

-փորել կողային և հետևի օդաչուների անցքերը և դրանք պտուտակել:

-այժմ մենք կհավաքենք մնացած գագաթը

-Վերցրեք ձեր վերին վահանակը և տեղադրեք այն բլոկների վրա, փորեք փորձնական անցքերը և պտուտակեք վերին հատվածը: կողային վահանակներից փորել փորձնական անցքեր և դրանք պտուտակել բլոկին: գործը հետ շուռ տվեք և փորձնական անցքեր բացեք վերևի հատվածների մեջ և պտուտակեք այն:

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

-Ձեզ պետք է մնա նման բան (ցույց է տրված այս քայլի առաջին նկարում)

հաջորդ քայլը կբացատրի ժողովի մնացած մասը:

Քայլ 5. Վեհաժողովի ավարտում

Ավարտելով վեհաժողովը
Ավարտելով վեհաժողովը
Ավարտելով վեհաժողովը
Ավարտելով վեհաժողովը
Ավարտելով վեհաժողովը
Ավարտելով վեհաժողովը

Այս պահին դուք գրեթե ավարտել եք գործը, և կառուցեք ընդամենը մի քանի բան, որոնք պետք է դրվեն տեղում, և դուք կավարտվեք:

Այժմ մնում է միայն էլեկտրոնիկայի տեղադրումը:

-Մենք կսկսենք ձեր պոտենցիոմետրի համար հավաքման վահանակի անցքեր հորատելով: ազատ զգացեք անցքեր փորել այնտեղ, որտեղ զգում եք, որ հարմար կլինի: իմ դեպքում ես անցքեր եմ տեղադրել ներքևից 2 1/2 դյույմ և կողքից 3 1/2 դյույմ երկու պոտենցիոմետրերի համար:

-Երբ դուք ձեր անցքերը փորեք, մենք այս վահանակը կդնենք գործի վրա: բայց այն սոսնձելու փոխարեն մենք կպցնելու ենք այն, պարզապես առատաձեռն քանակությամբ սոսինձ կպցրեք գործի եզրին և տեղադրեք վահանակը և պահեք այն սեղմակներով կամ ինչ -որ ծանր բանով:

-Սոսնձի չորացումն ավարտելուց հետո մենք կտեղադրենք էլեկտրոնային մասեր: Բայց նախ մենք ստիպված կլինենք հեռացնել հետևի վահանակը:

-Երբ հետևը անջատված է, խորհուրդ եմ տալիս պատյանը տեղադրել ներքև ՝ ավելի հեշտ դնելով LED- ները և այլ բաղադրիչները ներսում:

-Այժմ, երբ դուք հետ եք կանգնած, մենք պոտենցիոմետրը կտեղադրենք պատյանում `դրանք պարզապես փորած անցքերի միջով դնելով և մեծ քանակությամբ տաք սոսինձ դնելով:

*** զգուշություն ***-LED զանգվածը ներդնելիս չափազանց զգույշ եղեք, քանի որ զոդման կետերը կարող են փխրուն լինել:

-Այժմ մենք հասել ենք ամենակարևոր հատվածին ՝ տեղադրելով led զանգվածը: պարզապես տեղադրեք տախտակը, ինչպես ցույց է տրված երկրորդ նկարում:

-Մի անգամ ձեռք բերեք ձեր ներքին ներքին վահանակը և տեղադրեք այն պատյանների ներսում `LED զանգվածի հետևի վահանակի տակ: այս կտորը կարող է ինձ շատ լավ տեղավորել: նաև թողեք չորանա, նախքան շարունակելը:

-Դուք հասել եք վերջին հատվածին: Ես խորհուրդ եմ տալիս ներկել այս վերջին մասի մի կողմը (LED Inner Back) սև կամ սպիտակ `LED- ների և այս մասի միջև հակադրություն ստեղծելու համար:

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

**** Շնորհավորում եմ, ավարտեցիք ամբողջ հավաքը !!!

շարունակեք խաղը կոդավորելու վերջին քայլին

Քայլ 6: Կոդ

Եվս մեկ անգամ շնորհավորում եմ այսքան հեռու հասնելու համար:

Այս բաժնում ես ձեզ ցույց կտամ ծածկագիրը և ինչպես այն դարձնել աշխատող, բացի ծածկագրում եղած իրերից, որոնք կարող եք փոխել և անհատականացնել:

բայց մինչ դրա մեջ մտնելը ձեզ հարկավոր կլինի (adafruit_NeoPixel-master), ես նաև կապել եմ ներբեռնումը:

վարպետը տեղադրելու համար բացեք ձեր arduino ծրագիրը

1. գնալ ուրվագծի

2. բաց ներառել գրադարան

3. կտտացրեք (add.zip գրադարան)

4. ընտրեք (adafruit_NeoPixel-master) ֆայլը և կատարեք

Ստորև ես տեղադրել եմ խաղի կոդը:

#ներառում

#ներառում

երկար գնդակXabs = 12;

երկար գնդակYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

int ինդեքս;

int fps = 50;

int paddlewidth = 3;

int paddlemax = 9 - թիակի լայնություն + 1;

int knobseg = 1023 / (թիավարում);

int թիավարում 1 = 4;

int թիավարել 2 = 4;

#սահմանել NUMPIXELS 260

#սահմանեք PIN 6

Adafruit_NeoPixel պիքսել = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

void setup () {

pixels.begin ();

Serial.begin (9600);

}

դատարկ շրջան () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixels.show ();

deteCollision ();

ուշացում (fps);

}

void clearScreen () {

համար (int i = 0; i <NUMPIXELS; i ++) {

pixels.setPixelColor (i, pixels. Color (0, 0, 0));

}

}

void updateBall () {

ballXabs += ballvelX;

ballYabs += ballvelY;

}

void deteCollision () {

Serial.print (ballYabs);

Serial.print ("");

Serial.println (թիավարել 1);

եթե (ballvelX> 0 && ballXabs> = 25) {// բախվել աջ պատին

Serial.println ("CollisionX");

հաշիվ 1 (); // ballvelX*=-1;

}

եթե (ballvelX <0 && ballXabs <= 0) {// բախվել ձախ պատին

Serial.println ("CollisionX");

հաշիվ 2 (); // ballvelX*=-1;

}

եթե (ballvelY> 0 && ballYabs> = 9) {// բախվել վերին պատին

Serial.println ("CollisionY"); ballvelY *= -1;

}

եթե (ballvelY <0 && ballYabs <= 0) {// բախվել ստորին պատին

Serial.println ("CollisionY");

ballvelY *= -1;

}

// հայտնաբերել թիակ 2 -ի բախումը

եթե ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = թիակ 2) && (ballYabs <= թիակ 2 + թիավարություն - 1)))

{// բախվել աջ պատին

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

// հայտնաբերել թիակ 1 -ի բախումը

եթե ((ballvelX = թիավարել 1) && (ballYabs <= թիավարել 1 + թիավարություն - 1)))

{// բախվել աջ պատին

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

}

անվավեր updatePaddle1 () {

int կոճակ = analogRead (A0);

թիավարում 1 = կլոր ((երկար) բռնակ / (երկար) բռնակ);

}

անվավեր updatePaddle2 () {

int knob2 = analogRead (A1);

թիավարել 2 = կլոր ((երկար) կոճակ 2 / (երկար) բռնակ);

}

void displayBall () {

ballX = կլոր (ballXabs);

ballY = կլոր (ballYabs);

եթե (գնդակX % 2! = 0) {

ինդեքս = (9 - ballY) + 10 * ballX;

եթե (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), պիքսելներ. Color (30, 0, 0)); // գնդակի գույնի ձախ կողմը

}

եթե (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), պիքսել. Գույն (30, 0, 0)); // գնդակի գույնի աջ կողմը

}

եթե (ballY! = 9) {pixels.setPixelColor (ինդեքս - 1, պիքսել. Color (30, 0, 0)); // գնդակի գույնի ներքևի կողմերը

}

եթե (ballY! = 0) {pixels.setPixelColor (ինդեքս + 1, պիքսել. Գույն (30, 0, 0)); // գնդակի գույնի վերին կողմերը

}

}

ուրիշ {

ինդեքս = ballY + 10 * ballX; եթե (ballX! = 0) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), պիքսելներ: Color (30, 0, 0)); // գնդակի հավասար տող ձախ կողմում

}

եթե (գնդակ x! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), պիքսելներ: Color (30, 0, 0)); // գնդակի հավասար տող

}

եթե (ballY! = 9) {

pixels.setPixelColor (ինդեքս + 1, պիքսել. գույն (30, 0, 0)); // գնդակի ներքևի կողմերը հավասար շարքով

}

եթե (ballY! = 0) {pixels.setPixelColor (ինդեքս - 1, պիքսել. Գույն (30, 0, 0)); // գնդակի նույնիսկ շարանի վերին կողմերը

}

}

pixels.setPixelColor (ինդեքս, պիքսելներ. գույն (255, 0, 0)); /// գնդակի գույնի կենտրոն

}

դատարկ ցուցադրումPaddle1 () {

for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (paddle1+i, pixels. Color (0, 0, 255));

}

}

դատարկ ցուցադրումPaddle2 () {

(int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (NUMPIXELS - 1 - paddle2 - i, pixels. Color (0, 0, 255));

}

}

դատարկ հաշիվ 1 () {

resetBall (0);

}

դատարկ հաշիվ 2 () {

resetBall (1);

}

void resetBall (int նվագարկիչ) {

ուշացում (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = խաղացող? 1: -1;

ballvelY = 1;

clearScreen ();

ուշացում (1000);

displayBall ();

pixels.show ();

ուշացում (1000);

displayPaddle1 ();

displayPaddle2 (); pixels.show (); ուշացում (2000); }

Քայլ 7: Ավարտում

Ավարտում
Ավարտում

Երբ դուք վերբեռնեք ծածկագիրը, մի անցք կատարեք հետևի վահանակի մեջ, որը բավականաչափ մեծ է ձեր տակառային հոսանքի ադապտերի համար: միացրեք այն arduino- ին և վերջապես նորից հավաքեք մեջքը:

Ես մասերի ցանկում ներառեցի նաև LED ցրիչ ակրիլը, որն այժմ կարող եք տեղադրել LED- ների վրա և սոսնձել այն

Դա անելուց հետո դուք պատրաստ եք խաղալ և վայելել ընտանիքի և ընկերների դեմ մրցակցային խաղերի ժամերը:

Ի վերջո, ուզում եմ շնորհավորել ձեզ ծրագրի ավարտի համար:

Եթե որևէ խնդիր ունեք, դիմեք ինձ այստեղ, և ես կցանկանայի օգնել լուծել հարցը:

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