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

Շնչառական լույս, որը վերահսկվում է ազնվամորի պի միջոցով. 5 քայլ
Շնչառական լույս, որը վերահսկվում է ազնվամորի պի միջոցով. 5 քայլ

Video: Շնչառական լույս, որը վերահսկվում է ազնվամորի պի միջոցով. 5 քայլ

Video: Շնչառական լույս, որը վերահսկվում է ազնվամորի պի միջոցով. 5 քայլ
Video: как поднять тромбоциты в крови питанием и вылечить тромбоцитопению в домашних условиях? 2024, Նոյեմբեր
Anonim
Շնչառական լույս, որը վերահսկվում է Raspberry Pi- ի կողմից
Շնչառական լույս, որը վերահսկվում է Raspberry Pi- ի կողմից

Այստեղ նկարագրված «Շնչառական վարժությունների լույսը» պարզ և համեմատաբար էժան իմպուլսային լույս է, որը կարող է աջակցել ձեր շնչառական կատարումների ընթացքում և օգնել պահպանել շնչառության մշտական ռիթմը: Այն կարող է օգտագործվել նաև, օրինակ. որպես հանգստացնող գիշերային լույս երեխաների համար: Ներկա փուլում այն ավելի շատ աշխատող նախատիպ է:

Դուք կարող եք նաև օգտագործել այն որպես էժան և պարզ օրինակ ՝ Raspberry Pi- ով «ֆիզիկական հաշվարկ» կատարելու համար, օրինակ. սկսնակների համար որպես կրթական նախագիծ օգտագործելու համար. Այստեղ դուք ունեք անալոգային (պտտվող պոտենցիոմետր) և թվային մուտքագրումներ (սեղմիչ կոճակ), ինչպես նաև թվային (LED) և PWM ելք (LED շղթաներ), և փոփոխությունների հետևանքներն ուղղակիորեն տեսանելի են.

Լույսն անցնում է չորս փուլից բաղկացած կրկնվող շրջանակներով ՝ կանաչ (վերին) կարմիրից (ստորին) անցում, միայն կարմիր փուլ, կարմիրից կանաչ անցում և միայն կանաչ փուլ: Այս փուլերի երկարությունը որոշվում է հաստատուններով, որոնք կարող են փոփոխվել պոտենցիոմետրերով: Գործընթացը կարելի է սկսել, դադար տալ, վերսկսել և դադարեցնել ՝ սեղմելով կոճակները: LED- ները ցույց են տալիս ընթացիկ փուլը: Այն հիմնված է Պիմորոնիի «Firefly Light» օրինակի վրա (տես այստեղ): Նման է «Firefly Light» - ին, այն պահանջում է Raspberry Pi (Zero), Pimoroni Explorer pHAT (կամ HAT) և երկու IKEA SÄRDAL LED լուսաշղթաներ: Վերջինները միացված են pHAT- ի երկու PMW/շարժիչային նավահանգիստներին: Բանկա օգտագործելու փոխարեն ես LED- ները տեղադրել եմ IKEA- ի նկարի շրջանակում: Ես փորձում էի մի փոքր օպտիմալացնել «կրակոտ լուսավոր» պիթոնի սցենարը `կիրառելով կամընտիր սինուսային գործառույթ` պայծառության/ զարկերակի լայնության փոփոխությունների համար և ներմուծել եմ երկու «պահման» փուլ `թուլացման փուլերի միջև: Փոփոխելով պարամետրերը ՝ ավելի հարմարավետ զգացող թեթև նախշ գտնելու համար, ես գտա, որ սարքը կարող է օգնել աջակցել շատ հստակ սահմանված, կանոնավոր շնչառության օրինակին: Այսպիսով, ձեզանից ոմանք կարող են այս «Շնչառական լույսը» օգտակար համարել մեդիտացիայի կամ մարզման նպատակների համար: Քանի որ Explorer- ի pHAT- ն ունի չորս թվային և չորս անալոգային մուտք, շատ հեշտ է կարգավորել մինչև չորս տարբեր պարամետրեր `օգտագործելով սլայդ կամ պտտվող պոտենցիոմետրեր, և լույսերի մեկնարկի/վերագործարկման/դադարեցման գործառույթներ կիրառել` օգտագործելով կոճակները: Սա թույլ կտա օգտագործել սարքը և օպտիմալացնել ձեր պահանջներին համապատասխանող պարամետրերը ՝ առանց մոնիտորի կցելու Pi- ին:

Բացի այդ, Explorer pHAT- ն ունի չորս թվային ելքային պորտեր, որոնք թույլ են տալիս ավելացնել լուսադիոդներ կամ ազդանշաններ, գումարած երկու 5V և երկու Ground նավահանգիստներ և երկու PWM ելքային շարժիչներ շարժիչների կամ նման սարքերի համար: Խնդրում ենք համոզվել, որ դուք օգտագործում եք ճիշտ դիմադրիչներ ՝ ձեր LED- ների լարումը նվազեցնելու համար:

Pimoroni- ի Explorer pHAT պիթոնների գրադարանը չափազանց պարզ է դարձնում այս բոլոր մուտքային/ելքային նավահանգիստների կառավարումը:

Այս ուսանելի տարբերակներում նկարագրված են 0, 2 և 4 պոտենցիոմետրերով և կոճակներով սարքի տարբերակները: Ընտրեք մեկը, որը համապատասխանում է ձեր կարիքներին:

Սարքը ինքնավար աշխատելու համար կարելի է օգտագործել կամ էներգիայի տուփ, կամ Pimoroni LiPo շապիկի և LiPo մարտկոցի համադրություն, ինչպես նկարագրված է «Firefly Light» - ում:

Թարմացված տարբերակներ ՝ 28 դեկտեմբերի, 2018 թ. ՝ ավելացվել է «չորս պոտենցիոմետր և չորս կոճակ» տարբերակ: դեկ. 30: 4-պոտի տարբերակի ծածկագիր և ավելացվող ցնցող պատկերներ:

Քայլ 1: Օգտագործված / պահանջվող նյութեր

Օգտագործված / պահանջվող նյութեր
Օգտագործված / պահանջվող նյութեր
Օգտագործված / պահանջվող նյութեր
Օգտագործված / պահանջվող նյութեր
Օգտագործված / պահանջվող նյութեր
Օգտագործված / պահանջվող նյութեր

- Raspberry Pi Zero (4.80 GBP Pimoroni, Միացյալ Թագավորություն) և միկրո SD քարտ (> = 8 GB) w/ Raspian- ով

- Pimoroni Explorer pHAT (10 GBP Pimoroni, Միացյալ Թագավորություն): Լրացուցիչ `մեկ տողի վերնագիր, jumper մալուխներ

- IKEA SÄRDAL LED շղթայի լուսարձակներ 12 լուսադիոդով (2 x, 3.99 € յուրաքանչյուրը IKEA Germany- ում) կամ նմանատիպ 3-5V LED շղթա:- IKEA RIBBA նկարի շրջանակ (13 x 18 սմ, 2.49 € IKEA Գերմանիայում):

- PU փրփուրի կտոր (2 x 18 x 13.5 սմ), LED- ները պահելու համար: Այլապես կարող է օգտագործվել ստիրո փրփուր:

- անթափանց պլաստիկի մի կտոր (18 x 13.5 սմ), որը գործում է որպես դիֆուզոր:

- Երկու թերթ գունավոր թափանցիկ թուղթ (յուրաքանչյուրը 9 x 13.5 սմ): Ես օգտագործել եմ կարմիր և կանաչ:

- Բարակ, անթափանց պլաստմասե կտոր (18 x 13.5 սմ), որը գործում է որպես արտաքին էկրան: Ես օգտագործեցի բարակ սպիտակ պոլիկարբոնատ թերթ: Լրացուցիչ, կարգավորելի տարբերակի համար.

Կարգավորման ժամանակը և սարահարթի տևողությունը կամ այլընտրանքային այլ պարամետրեր, ինչպիսիք են պայծառությունը, հարմարեցնելու համար:- 10, 20 կամ 50 կՕմ պոտենցիոմետրեր (մինչև չորս, ես օգտագործել եմ երկու 10 կՕմ համապատասխանաբար չորս չորս 50 Օմ):

Որպես մեկնարկման/դադարեցման/դադարների/վերսկսման կոճակներ.- Հրել կոճակներ (մինչև չորս, ես օգտագործել եմ չորս կամ երկու)

Որպես շրջագծի փուլերի ցուցանիշներ.

  1. մոտ 140 Օմ 5.2 -> 2, 2 Վ (դեղին, նարնջագույն, կարմիր; որոշ կանաչ LED),
  2. մոտ 100 Օմ 5.3 -> 3.3 Վ (որոշ կանաչ; կապույտ, սպիտակ LED)

- Jumper մալուխներ և տախտակ

Լրացուցիչ ՝ մարտկոցով աշխատող տարբերակի համար.

  • 5V Micro-USB հոսանքի փաթեթ, կամ
  • Pimoroni Zero LiPo փայլ և LiPo մարտկոց

Քայլ 2: Lazout և հավաքում

Lazout and Assembly
Lazout and Assembly
Lazout and Assembly
Lazout and Assembly
Lazout and Assembly
Lazout and Assembly

Հավաքեք Explorer- ի pHAT- ը, ինչպես նկարագրված է արտադրողի կողմից: Ես ավելացրել եմ մեկ տող իգական վերնագիր `jumper մալուխների պարզեցված միացման համար pHATs I/O նավահանգիստներին: Կարգավորեք ձեր Pi- ն և տեղադրեք Pimoroni գրադարանը Explorer HAT/pHAT- ի համար, ինչպես նկարագրված է Pimoroni- ի կողմից: Անջատեք Pi- ն և կցեք pHAT- ը Pi- ի վրա: Հեռացրեք մարտկոցների տուփերը LED շղթաներից `կտրելով լարերը և թիթեղելով լարերի ծայրը: Կտրեք երկու 2x արական jumper մալուխներ մեջտեղում, թիթեղացրեք լարերի ծայրը: Jոդեք մալուխները LED շղթաներին և մեկուսացրեք զոդման կետերը `օգտագործելով սոսինձ ժապավեն կամ սեղմվող խողովակներ: Soldոդումից առաջ ստուգեք, թե որ լարերը պետք է միացված լինեն գումարած կամ գրունտային նավահանգիստներին և համապատասխանաբար նշեք դրանք: Ես օգտագործել եմ տարբեր գույների ցատկող լարեր: Կտրեք փրփուրը ՝ LED- ները, դիֆուզորը և էկրանի թերթերը համապատասխան չափի պահելու համար: LED պահման ափսեի վրա նշեք այն դիրքերը, որտեղ պետք է տեղադրվեն LED- ները և փրփուրի մեջ անցեք 3-5 մմ անցքերով: Այնուհետեւ տեղադրեք 24 LED- ները տվյալ դիրքերում: Տեղադրեք գունավոր թերթերն ու դիֆուզորային թիթեղները LED սալիկի վրա (տես նկարները), դրանք շրջանակը տեղադրեք տուփի վերևում: Շրջանակի մեջ ամրացրեք փրփուրի շերտերը, օրինակ. օգտագործելով սոսինձ ժապավեն: Կցեք LED շերտի մալուխները Explorer- ի pHAT- ի «շարժիչային» նավահանգիստներին: Կարգավորելի տարբերակի համար տեղադրեք պոտենցիոմետրեր, սեղմիչ կոճակներ, կառավարման լուսադիոդներ (և/կամ ազդանշաններ) և դիմադրիչներ տախտակի վրա և դրանք միացրեք համապատասխան նավահանգիստներին Explorer pHAT- ով:

Սկսեք ձեր Pi- ն և տեղադրեք անհրաժեշտ գրադարանները, ինչպես նկարագրված է Pimoroni կայքում, այնուհետև գործարկեք տրամադրված Python 3 սցենարը: Եթե LED շղթաներից մեկը չի աշխատում, այն կարող է միացված լինել սխալ ուղղությամբ: Այնուհետև կարող եք կամ փոխել pH/pH- ի գումարած/մինուս կապերը կամ փոփոխություն կատարել ծրագրում, օրինակ. փոխել «eh.motor.one.backwards ()» - ը «… առաջ ()»:

Կից կարող եք գտնել ֆիքսված պարամետրերով սցենարներ, որոնք կարող եք փոխել ծրագրի շրջանակներում և օրինակ, որտեղ կարող եք փոփոխել որոշ պարամետրեր պոտենցիոմետրերով և սկսել և դադարեցնել լուսային ցիկլը `սեղմելով կոճակները: Չպիտի չափազանց դժվար լինի սցենարները հարմարեցնել «շնչառական լույսի» ձեր սեփական դասավորությանը:

Քայլ 3: Python սցենարներ

Pimoroni- ի Python գրադարանը Explorer HAT/pHAT- ի համար չափազանց պարզ է դարձնում HATs- ի I/O նավահանգիստներին ամրացված բաղադրիչների հասցեավորումը: Երկու օրինակ. «Eh.two.motor.backwards (80)» - ը վարում է սարքը, որը կցված է PWM/շարժիչային պորտ 2 -ին 80% առավելագույն ինտենսիվությամբ հետընթաց ուղղությամբ, «eh.output.three.flash () - ը միացնում է LED Թիվ երեք նավահանգիստը բռնկվում է, մինչև այն դադարեցվի: Ես առաջացրել եմ լույսի մի քանի տատանումներ ՝ հիմնականում ավելացնելով վերահսկողության մակարդակի ավելացում ՝ ավելացնելով մինչև չորս կոճակ և պոտենցիոմետր: Կից դուք գտնում եք Python ծրագիր, որը կոչվում է «Շնչառական թեթև ֆիքսված լին կոսին».py », որտեղ բոլոր չորս պարամետրերի կարգավորումները պետք է փոփոխվեն ծրագրի շրջանակներում: Բացի այդ, «Breathing light var lin cosin.py» անվանումով տարբերակ, որտեղ երկու լուսավորող փուլի երկարությունը կարող է ճշգրտվել երկու պոտենցիոմետրերի և «Շնչառական լույս var lin cosin3.py» առավել մշակված տարբերակի համար ՝ չորս պոտենցիոմետրերի և սեղմման կոճակների տարբերակի համար:. Րագրերը գրված են Python 3 -ում:

Բոլոր դեպքերում հեծանվավազքի գործընթացը կարող է առաջանալ և դադարեցվել ՝ օգտագործելով երկու կոճակ, չորս կոճակով տարբերակում կարող եք նաև ընդհատել և վերագործարկել գործընթացը: Բացի այդ, չորս (գունավոր) LED- ներ կարող են միացվել թվային ելքային նավահանգիստներին ՝ նշելով կոնկրետ փուլերը: Սարքի ցիկլը բաղկացած է չորս փուլից.

- «ներշնչման» փուլը, որտեղ վերին LED- ները ցածր են մարում, իսկ ներքևի LED- ները մեծացնում են ինտենսիվությունը

- «պահեք ձեր շունչը» փուլը, որտեղ վերին LED- ները անջատված են, իսկ ներքևի LED- ները `առավելագույնը

- «արտաշնչում» փուլը, որտեղ ցածր LED- ները ցածր են մարում, իսկ վերին LED- ները մեծացնում են ինտենսիվությունը

- «մնալ արտաշնչված» փուլը, որտեղ ստորին LED- ները անջատված են, իսկ վերին LED- ները ՝ առավելագույնը միացված:

Բոլոր չորս փուլերի տևողությունը որոշվում է անհատական թվային պարամետրով, որը կարող է կամ ամրագրվել ծրագրում և/կամ կարող է ճշգրտվել պոտենցիոմետրի միջոցով:

Հինգերորդ պարամետրը սահմանում է առավելագույն ինտենսիվությունը: Այն թույլ է տալիս սահմանել LED- ների առավելագույն պայծառությունը, որը կարող է հարմար լինել, եթե ցանկանում եք այն օգտագործել որպես գիշերային լույս: Բացի այդ, դա կարող է թույլ տալ բարելավել լուսամփոփության գործընթացը, քանի որ ես այնպիսի տպավորություն ունեմ, որ դժվար է տարբերություն տեսնել 80 և 100% ինտենսիվության միջև:

Ես ավելացնում էի կամընտիր (համա) սինուսի գործառույթը պայծառության բարձրացման/նվազման համար, քանի որ այն ավելի սահուն կապ է տալիս փուլերի միջև: Ազատորեն փորձեք այլ գործառույթներ: Օրինակ ՝ Դուք կարող եք վերացնել ընդմիջումները և օգտագործել երկու տարբեր (բարդ) սինուսային գործառույթներ LED շղթաների համար և հարմարեցնել հաճախականությունն ու ամպլիտուդը պոտենցիոմետրերով:

# «Շնչառական» լամպ. Երկու կոճակ և երկու պոտենցիոմետր տարբերակ

# firefly- ի օրինակի փոփոխում Pimoroni Explorer- ի pHAT- ի համար # այստեղ. շարժիչի/PWM արժեքների սինոիդ ավելացում/նվազում # գծային ֆունկցիայի համար միաձուլել գծային և համր կորզանի գործառույթը թվային մուտքագրում, Pi- ն միացնելուց սկսելու և դադարեցնելու կոճակներ կարող եք օգտագործել Cron: Cron- ը Unix ծրագիր է, որն օգտագործվում է աշխատատեղեր պլանավորելու համար, և այն ունի @reboot հարմար գործառույթ, որը թույլ է տալիս գործարկել սցենար երբ ձեր Pi- ն կոշիկ է բացում: Բացեք տերմինալ և մուտքագրեք crontab -e ՝ ձեր crontab- ը խմբագրելու համար: Ոլորեք մինչև ֆայլի ներքևը, անցեք #-ով սկսվող բոլոր տողերը և ավելացրեք հետևյալ տողը (ենթադրելով, որ ձեր ծածկագիրը գտնվում է /home/pi/firefly.py). @reboot sudo python /home/pi/filename.py & Փակել և պահպանել ձեր crontab- ը (եթե օգտագործում եք նանո, ապա սեղմեք control-x, y և մուտքագրեք ՝ ելքի և պահպանման համար): "" "ներմուծման ժամանակ ներմուծել explorerhat ինչպես eh ներմուծել մաթեմատիկական հաստատուն արժեքներ #sinus xmax = 316 քայլ = 5 # քայլի լայնություն, օր. 315/5 տալիս է 63 քայլ/ցիկլ start_button = 0 # սա սահմանում է մուտքի պորտին միացված մեկ կոճակի վիճակը 1 stop_button = 0 # սա սահմանում է մուտքային պորտին միացված մեկ կոճակի վիճակը 3 pause_1 = 0.02 # սահմանում է երկարություն «ներշնչել» փուլում քայլերի ընթացքում ընդմիջումներ, դրանով իսկ թեքման արագություն և տևողություն pause_2 = 0.04 # սահմանում է «արտաշնչել» թեքահարթակ pause_3 = 1.5 # ընդմիջում ներշնչման և արտաշնչման փուլերի միջև (պահել ներշնչումը) pause_4 = 1.2 # ընդմիջում արտաշնչման վերջում փուլ (արտաշնչել) max_intens = 0.9 # առավելագույն ինտենսիվություն/պայծառություն max_intens_100 = 100*max_intens # նույնը % - ում # Կարող է թույլ տալ օպտիմալացնել LED- ների «շնչառական» տպավորությունը և նվազեցնել թարթումը: l_cosin = # ցուցակ ՝ կորինուսից ստացված արժեքներով (100> = x> = 0) l_lin = # գծային արժեքներով # ցուցակ (100> = x> = 0) # գեներացնել cosinus գործառույթի ցուցակ i տիրույթում i (0, 316, 3). # 315 մոտ Pi*100, 105 քայլ # տպել (i) n_cosin = [(((math.cos (i/100))+1)/2)*100] # արտադրել արժեք # տպել (n_cosin) l_cosin = l_cosin + n_cosin # ավելացնել արժեք ցուցակին # print (l_cosin) # գեներացնել գծային ցուցակ i- ի համար (100, -1, -1): # հետհաշվարկել 100 -ից զրոյից n_lin = l_lin = l_lin + n_lin # print (l_lin) # ցույց է տալիս ձանձրալի ցուցակի տպում () print ("" "Լույսի ցիկլերը սկսելու համար սեղմեք" Start "կոճակը (Input One)" "") print () print ("" "To stop լույսը, սեղմիր և պահիր «Stop» կոճակը (Մուտք երեք) "")) print () # սպասիր, մինչև Start կոճակը սեղմվի մինչ (start_button == 0): start_button = eh.input.one.read () # կարդալ կոճակ թիվ մեկ = է.ան alog.one.read () # սահմանում է կարմիր-> կանաչ թեքության արագություն pause_1 = set_1*0.02 # արժեքները կտատանվեն 0 -ից 0.13 վրկ/քայլ տպման միջև ("set_1:", set_1, " -> դադար _1:", դադար #) set_2 = eh.analog.two.read () # սահմանում է կանաչ -> կարմիր թեքության արագություն pause_2 = set_2*0.02 # արժեքները կտատանվեն 0 -ից 0.13 վրկ/քայլ տպման միջև ("set_2:", set_2, " -> դադար _2: ", pause_2) #" ինհալացիա "փուլ eh.output.one.on () # կարող է վարել LED կամ ազդանշանային ազդանշան '' 'x միջակայքում (len (l_lin)): fx = max_intens*l_lin [x] # գծային կոր eh.motor.one.backwards (fx) eh.motor.two.backwards (max_intens_100-fx) time.sleep (pause_1) eh.output.one.off () '' '' x տիրույթում (len (l_cosin)) ՝ fx = max_intens*l_cosin [x] # գծային կոր eh.motor.one.backwards (fx) eh.motor.two.backwards (max_intens_100-fx) time.sleep (pause_1) eh.output.one.off () # ստուգեք, արդյոք Stop Button- ը սեղմված է stop_button = eh.input.three.read () # «Շունչդ պահեք» դադար ինհալացիոն փուլի ավարտին eh.output.two.on () # միացրեք LED երկու eh.motor.one. ետ (0) eh.motor.two.backwards (max_intens_100) time.sleep (pause_3) eh.output.two.off () # ստուգեք, եթե Stop Button- ը սեղմված է stop_button = eh.input.three.read () # "exhale" փուլ eh.output.three.on () # միացրեք LED երեք «» x- ի համար միջակայքում (len (l_lin)). fx = max_intens*l_lin [x] # գծային կորը eh.motor.one.backwards (max_intens_100-fx)) time.sleep (pause_2) '' 'x միջակայքում (len (l_cosin)): fx = max_intens*l_cosin [x] # գծային կորը eh.motor.one.backwards (max_intens_100-fx) eh.motor.two: հետընթաց (fx) time.sleep (pause_2) eh.output.three.off () # ստուգեք, եթե Stop կոճակը սեղմված է stop_button = eh.input.three.read () # դադար «արտաշնչման» և «ներշնչման» փուլերի միջև eh. output.four.on () eh.motor.one.backwards (max_intens_100) eh.motor.two.backwards (0) time.sleep (pause_4) eh.output.four.off () #ստուգել, եթե Stop կոճակը սեղմված է stop_button = eh.input.three.read () # անջատում, բոլոր ելքային նավահանգիստների շրջադարձ eh.motor.one.stop () eh.motor.two.stop () eh.output.one.off () eh.output.two.off () eh.output.three.off () eh.output.four.off () տպել () տպել («yeտեսություն»)

Եթե ցանկանում եք օգտագործել լույսը որպես ինքնուրույն սարք, օրինակ. որպես քնելու կամ արթնանալու լույս, կարող եք Pi- ին ավելացնել շարժական էներգիայի աղբյուր և ծրագիրը սկսել սկսելուց հետո և օգտագործել «Cron» ՝ այն որոշակի ժամանակ միացնելու կամ անջատելու համար: Ինչպես օգտագործել «Cron» - ը, մանրամասն նկարագրված է այլուր:

Քայլ 4: Տեսանյութերի օրինակներ

Այս քայլում դուք կգտնեք մի շարք տեսանյութեր, որոնք ցույց են տալիս լույսը նորմալ (այսինքն ՝ բոլոր արժեքները> 0, #1) և ծայրահեղ պայմաններում, քանի որ բոլոր արժեքները հավասար են զրոյի (#2) ՝ միայն թեքումով (#3 և #4), և ոչ մի թեքություն (#5 և #6):

Քայլ 5: Որոշ դիտողություններ

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

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