Բովանդակություն:
- Քայլ 1: Ինչպես է այն աշխատում
- Քայլ 2: Երկրպագուների փաստ
- Քայլ 3: Սկսելու համար
- Քայլ 4: Մի մատ տվյալների շղթայում
- Քայլ 5: Գտեք ինքներդ ձեզ
- Քայլ 6: Կոդավորում TinyGPS ++ - ով
- Քայլ 7: «ՉՈՐՐՈՐԴ ՉԱՓԸ»
- Քայլ 8: Գտեք ձեր ճանապարհը
- Քայլ 9: Առաջ գնալ
Video: Գտեք ձեր ճանապարհը GPS- ով. 9 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
GPS- ի տվյալները հասկանալու և կիրառելու արագ վարժություն
- Պահանջվող ժամանակը `2 ժամ
- Արժեքը `75-150 դոլար
Ստեղծողների համար բավականին էժան է դարձել էլեկտրոնիկայի նախագծերում բարձրորակ երկրատարածական տվյալների ներառումը: Եվ վերջին մի քանի տարիների ընթացքում GPS (Global Positioning System) ստացողի մոդուլները շատ ավելի բազմազան, հզոր և դյուրին են ինտեգրվել զարգացման տախտակներին, ինչպիսիք են Arduino- ն, PIC- ը, Teensy- ն և Raspberry Pi- ն: Եթե մտածում էիք GPS- ի շուրջ կառուցել, լավ ժամանակ եք ընտրել սկսելու համար:
Քայլ 1: Ինչպես է այն աշխատում
GPS մոդուլը մի փոքրիկ ռադիոընդունիչ է, որը մշակում է արբանյակների նավատորմի կողմից հայտնի հաճախականություններով հեռարձակվող ազդանշանները: Այս արբանյակները պտտվում են Երկրի շուրջը մոտավորապես շրջանաձև ուղեծրերով ՝ փոխանցելով ստորև գետնին չափազանց ճշգրիտ դիրքորոշման և ժամացույցի տվյալները: Եթե երկրային ընդունիչը կարող է բավականաչափ «տեսնել» այս արբանյակները, կարող է դրանք օգտագործել `իր գտնվելու վայրը և բարձրությունը հաշվարկելու համար:
Երբ GPS հաղորդագրություն է գալիս, ստացողը նախ ստուգում է իր հեռարձակման ժամկետը ՝ տեսնելու, թե երբ է այն ուղարկվել: Քանի որ տիեզերքում ռադիոալիքի արագությունը հայտնի հաստատուն է (գ), ստացողը կարող է համեմատել հեռարձակման և ստացման ժամանակները `ազդանշանի անցած տարածությունը որոշելու համար: Երբ նա հաստատեց իր հեռավորությունը չորս կամ ավելի հայտնի արբանյակներից, սեփական դիրքի հաշվարկը 3D եռանկյունացման բավականին պարզ խնդիր է: Բայց դա արագ և ճշգրիտ կատարելու համար ստացողը պետք է կարողանա միանգամից ճեղքել թվերը մինչև 20 տվյալների հոսքերից: Քանի որ GPS համակարգը Երկրի վրա ամենուր օգտագործելի լինելու հրապարակված նպատակ ունի, համակարգը պետք է ապահովի, որ առնվազն չորս արբանյակ - նախընտրելի է ավելի շատ - տեսանելի են բոլոր ժամանակներում աշխարհի ցանկացած կետից: Ներկայումս գործում է 32 GPS արբանյակ, որոնք մանրազնին խորեոգրաֆիկ պար են կատարում 20 000 կիլոմետր բարձրությամբ նոսր ամպի մեջ:
Քայլ 2: Երկրպագուների փաստ
GPS- ը չէր կարող աշխատել առանց Էյնշտեյնի հարաբերականության տեսության, քանի որ փոխհատուցում պետք է տրվի 38 միկրոսայրկյանների համար, որոնք օրական ստանում են պտտվող ատոմային ժամացույցները Երկրի գրավիտացիոն դաշտում ժամանակի ընդլայնումից:
Քայլ 3: Սկսելու համար
Ինչ էլ որ լինի ձեր նախագիծը, GPS- ը հեշտ է ինտեգրվել: Ստացողի մոդուլների մեծ մասը շփվում է ուղղակի սերիական արձանագրության հետ, այնպես որ, եթե վերահսկիչի տախտակի վրա կարող եք գտնել պահեստային սերիական նավահանգիստ, ֆիզիկական կապ հաստատելու համար կպահանջվի ընդամենը մի բուռ լար: Եվ նույնիսկ եթե ոչ, վերահսկիչների մեծ մասն աջակցում է «ծրագրային ապահովման» սերիական ռեժիմին, որը կարող եք օգտագործել կամայական կապումներին միանալու համար:
Սկսնակների համար Adafruit- ի Ultimate GPS Breakout մոդուլը լավ ընտրություն է: Շուկայում կան շատ մրցունակ ապրանքներ, բայց Ultimate- ը լավ կատարում է ողջամիտ գնով, մեծ անցքերով, որոնք հեշտությամբ կպցվում կամ միանում են հացահատիկին:
Նախ, միացրեք հողը և ուժը: Ըստ Arduino- ի ՝ սա նշանակում է միկրոկառավարիչի GND կապում միացնել մոդուլի GND- ին, իսկ +5V կապը ՝ մոդուլի VIN- ին: Տվյալների փոխանցումը կառավարելու համար անհրաժեշտ է նաև միացնել մոդուլի TX և RX կապումներն Arduino- ին: Այս նպատակով ես կամայականորեն կընտրեմ Arduino կապերը 2 (TX) և 3 (RX), չնայած որ 0 և 1 կապերը հատուկ նախագծված են որպես «ապարատային սերիական նավահանգիստ» կամ UART օգտագործելու համար: Ինչու՞: Քանի որ ես չեմ ուզում վատնել միակ UART- ի այս ցածրակարգ AVR պրոցեսորները: Arduino- ի UART- ը միացված է USB միակցիչին, և ես սիրում եմ այն միացված պահել իմ համակարգչին ՝ վրիպազերծման համար:
Քայլ 4: Մի մատ տվյալների շղթայում
GPS- ի մոդուլը միացնելուց անմիջապես հետո սկսում է տեքստային տվյալների կտորներ ուղարկել իր TX գծի վրա: Հնարավոր է, որ այն դեռևս չի տեսնում մեկ արբանյակ, առավել ևս «շտկում», բայց տվյալների ծորակն անմիջապես բացվում է, և հետաքրքիր է տեսնել, թե ինչ է դուրս գալիս: Մեր առաջին պարզ ուրվագիծը (ստորև) ոչ այլ ինչ է անում, քան ցուցադրել այս չմշակված տվյալները:
#ներառել #սահմանել RXPin 2
#սահմանեք TXPin 3#սահմանեք GPSBaud 4800
#սահմանեք ConsoleBaud 115200
// Սերիական միացում GPS սարքին oftրագրային ապահովում Սերիալ ss (RXPin, TXPin);
void setup () {
Serial.begin (ConsoleBaud);
ss.begin (GPSBaud);
Serial.println («GPS օրինակ 1»);
Serial.println («GPS մոդուլով փոխանցվող NMEA հումքի տվյալների ցուցադրում»);
Serial.println («Միկալ Հարթի կողմից»); Serial.println ();
}
դատարկ շրջան ()
{if (ss.available ()> 0) // Յուրաքանչյուր նիշ հասնելուն պես…
Serial.write (ss.read ()); //… գրեք այն մխիթարել:
}
Ո NOTՇԱԴՐՈԹՅՈՆ. Էսքիզը ընդունման քորոցը (RXPin) սահմանում է որպես 2, չնայած ավելի վաղ ասել էինք, որ փոխանցման (TX) կապը միացված կլինի 2 -րդ կապին: Սա շփոթության ընդհանուր աղբյուր է: RXPin- ը ընդունման քորոցն է (RX) Arduino- ի տեսանկյունից: Բնականաբար, այն պետք է միացված լինի մոդուլի հաղորդիչ (TX) քորոցին և հակառակը:
Վերբեռնեք այս ուրվագիծը և բացեք Serial Monitor- ը 115,200 baud- ով: Եթե ամեն ինչ աշխատում է, ապա պետք է տեսնեք տեքստային տողերի խիտ, անվերջ հոսք: Յուրաքանչյուրը նման կլինի երկրորդ նկարի ՝ պարբերության սկզբում:
Այս տարբերակիչ տողերը հայտնի են որպես NMEA նախադասություններ, այսպես կոչված, քանի որ ձևաչափը հորինել է Marովային էլեկտրոնիկայի ազգային ասոցիացիան: NMEA- ն սահմանում է այս նախադասությունների մի մասը ՝ նավարկության տվյալների համար ՝ սկսած էականից (գտնվելու վայրը և ժամանակը), մինչև էզոթերիկ (արբանյակային ազդանշան-աղմուկ հարաբերակցություն, մագնիսական շեղում և այլն): Արտադրողները անհետեւողական են, թե որ նախադասության տեսակներից են օգտվում իրենց ընդունողները, սակայն GPRMC- ն էական է: Երբ ձեր մոդուլը շտկվի, դուք պետք է տեսնեք այս GPRMC նախադասությունների արդար թիվը:
Քայլ 5: Գտեք ինքներդ ձեզ
Չնչին բան չէ մոդուլային հումքի արդյունքը փոխակերպելը ձեր ծրագրի իրական օգտագործման տեղեկատվության: Բարեբախտաբար, արդեն կան մի քանի հիանալի գրադարաններ, որոնք կարող են դա անել ձեզ համար: Լիմոր Ֆրիդի հանրաճանաչ Adafruit GPS գրադարանը հարմար ընտրություն է, եթե օգտագործում եք նրանց Ultimate breakout- ը: Այն գրված է Ultimate- ի համար յուրահատուկ գործառույթներ միացնելու համար (ինչպես տվյալների ներքին գրանցումը) և ավելացնում է որոշ ինքնատիպ զանգեր և սուլիչներ: Այնուամենայնիվ, իմ սիրելի վերլուծական գրադարանը, և ահա ես, իհարկե, լիովին անաչառ եմ, այն է, ինչ ես գրել եմ, որը կոչվում է TinyGPS ++: Ես նախագծեցի, որ այն լինի համապարփակ, հզոր, հակիրճ և հեշտ օգտագործման համար: Եկեք այն վերցնենք պտտվելու համար:
Քայլ 6: Կոդավորում TinyGPS ++ - ով
Merրագրավորողի տեսանկյունից, TinyGPS ++ օգտագործումը շատ պարզ է.
1) Ստեղծեք gps օբյեկտ:
2) Ուղղորդեք յուրաքանչյուր նիշ, որը մոդուլից հասնում է օբյեկտ `օգտագործելով gps.encode ():
3) Երբ դուք պետք է իմանաք ձեր դիրքը կամ բարձրությունը կամ ժամանակը կամ ամսաթիվը, պարզապես հարցրեք gps օբյեկտը:
#ներառել #ներառել
#սահմանի RXPin 2
#սահմանի TXPin 3
#սահմանեք GPSBaud 4800
#սահմանեք ConsoleBaud 115200
// Սերիական միացում GPS սարքին oftրագրային ապահովում Սերիալ ss (RXPin, TXPin);
// TinyGPS ++ օբյեկտը
TinyGPSPlus GPS;
void setup () {
Serial.begin (ConsoleBaud);
ss.begin (GPSBaud);
Serial.println («GPS օրինակ 2»);
Serial.println ("Պարզ որոնիչ, որն օգտագործում է TinyGPS ++:");
Serial.println («Միկալ Հարթի կողմից»);
Serial.println ();
}
դատարկ շրջան () {
// Եթե որևէ կերպար է ժամանել GPS- ից, /
/ ուղարկեք դրանք TinyGPS ++ օբյեկտին
while (ss.available ()> 0)
gps.encode (ss.read ());
// Եկեք ցուցադրենք նոր տեղադրությունն ու բարձրությունը
// երբ դրանցից որևէ մեկը թարմացվել է:
եթե (gps.location.isUpdated () || gps.altitude.isUpdated ())
{
Serial.print ("Որտեղից:");
Serial.print (gps.location.lat (), 6);
Serial.print (",");
Serial.print (gps.location.lng (), 6);
Serial.print ("Բարձրություն:");
Serial.println (gps.altitude.meters ());
}
}
Մեր երկրորդ հավելվածը անընդհատ ցուցադրում է ստացողի գտնվելու վայրը և բարձրությունը ՝ օգտագործելով TinyGPS ++ ՝ վերլուծելու համար: Իրական սարքում դուք կարող եք այս տվյալները մուտքագրել SD քարտ կամ ցուցադրել դրանք LCD- ով: Գրավեք գրադարանը և ուրվագծեք FindingYourself.ino (վերևում): Տեղադրեք գրադարանը, ինչպես միշտ, Arduino գրադարանների պանակում: Վերբեռնեք էսքիզը ձեր Arduino- ում և բացեք Serial Monitor- ը 115, 200 baud համարով: Դուք պետք է տեսնեք ձեր գտնվելու վայրի և բարձրության թարմացումը իրական ժամանակում: Exactlyշգրիտ տեղը տեսնելու համար տեղադրեք լայնության/երկայնության կոորդինատներից մի քանիսը Google Քարտեզներում: Այժմ միացրեք ձեր նոութբուքը և գնացեք զբոսանքի կամ քշելու: (Բայց հիշեք, որ ձեր աչքերը ճանապարհին պահեք):
Քայլ 7: «ՉՈՐՐՈՐԴ ՉԱՓԸ»
Թեև մենք GPS- ը կապում ենք տարածության գտնվելու վայրի հետ, մի մոռացեք, որ այդ արբանյակները փոխանցում են նաև ժամանակի և տվյալների դրոշմանիշներ: Միջին GPS ժամացույցը ճշգրիտ է վայրկյանի մեկ տասներորդ միլիոներորդից, իսկ տեսական սահմանը նույնիսկ ավելի բարձր է: Նույնիսկ եթե ձեզ անհրաժեշտ է ձեր նախագիծը միայն ժամանակին հետևելու համար, GPS մոդուլը կարող է լինել ամենաէժան և ամենահեշտ լուծումը:
FindingYourself.ino- ն գերճշգրիտ ժամացույցի վերածելու համար պարզապես փոխեք վերջին մի քանի տողերն այսպես.
եթե (gps.time.isUpdated ()) {
char buf [80];
sprintf (buf, "The time is%02d:%02d:%02d", gps.time.hour (), gps.time.minute (), gps.time.second ()); Serial.println (buf);
}
Քայլ 8: Գտեք ձեր ճանապարհը
Մեր երրորդ և վերջին կիրառումը անձնական մարտահրավերի արդյունքն է ՝ կարդալ TinyGPS ++ էսքիզ, ավելի քան 100 տող կոդով, որը օգտվողին կուղղորդի դեպի նպատակակետ ՝ օգտագործելով տեքստային պարզ հրահանգներ, ինչպիսիք են ՝ «ուղիղ պահել» կամ «շեղվել ձախ»:
#ներառել #ներառել
#սահմանի RXPin 2
#սահմանի TXPin 3
#սահմանեք GPSBaud 4800
#սահմանեք ConsoleBaud 115200
// Սերիական միացում GPS սարքին oftրագրային ապահովում Սերիալ ss (RXPin, TXPin);
// TinyGPS ++ օբյեկտ TinyGPSPlus gps;
անստորագիր երկար lastUpdateTime = 0;
#սահմանել EIFFEL_LAT 48.85823#սահմանել EIFFEL_LNG 2.29438
/* Այս օրինակը ցույց է տալիս հիմնական շրջանակը, թե ինչպես կարող եք օգտագործել ընթացքը և հեռավորությունը ՝ մարդուն (կամ անօդաչու թռչող սարքը) նպատակակետ ուղղորդելու համար: Այս նպատակակետը Էյֆելյան աշտարակն է: Փոխեք այն, ինչպես պահանջվում է:
Լատ/երկար կոորդինատը ստանալու ամենահեշտ ձևը ՝ Google Քարտեզներում (maps.google.com) աջ սեղմել նպատակակետին և ընտրել «Ի՞նչ է այստեղ»: Սա ճշգրիտ արժեքները դնում է որոնման դաշտում:
*/
void setup () {
Serial.begin (ConsoleBaud);
ss.begin (GPSBaud);
Serial.println («GPS օրինակ 3»);
Serial.println («Ուղղորդման ոչ այնքան համապարփակ համակարգ»);
Serial.println («Միկալ Հարթի կողմից»);
Serial.println ();
}
դատարկ շրջան () {
// Եթե GPS- ից որևէ կերպար է ժամանել, // ուղարկեք դրանք TinyGPS ++ օբյեկտին (ss.available ()> 0) gps.encode (ss.read ());
// Ամեն 5 վայրկյանը մեկ կատարեք թարմացում:
if (millis () - lastUpdateTime> = 5000)
{
lastUpdateTime = միլիարդ ();
Serial.println ();
// Ստեղծեք մեր ներկայիս կարգավիճակը
կրկնակի distanceToDestination = TinyGPSPlus:: distanceBetween
gps.location.lat (), gps.location.lng (), EIFFEL_LAT, EIFFEL_LNG);
կրկնակի courseToDestination = TinyGPSPlus:: courseTo
gps.location.lat (), gps.location.lng (), EIFFEL_LAT, EIFFEL_LNG);
const char *directionToDestination = TinyGPSPlus:: կարդինալ (courseToDestination);
int courseChangeNeeded = (int) (360 + courseToDestination - gps.course.deg ()) % 360;
// կարգաբերում Serial.print ("DEBUG: Course2Dest:");
Serial.print (courseToDestination);
Serial.print ("CurCourse:");
Serial.print (gps.course.deg ());
Serial.print ("Dir2Dest:");
Serial.print (directionToDestination);
Serial.print ("RelCourse:");
Serial.print (courseChangeNeeded);
Serial.print ("CurSpd:");
Serial.println (gps.speed.kmph ());
// Նշանակման վայրից 20 մետր հեռավորության վրա: Մենք այստեղ ենք
եթե (distanceToDestination <= 20.0)
{Serial.println ("ՇՆՈՐՀԱՎՈՐՈԹՅՈՆ. Դուք հասել եք");
ելք (1);
}
Serial.print ("DISTANCE:"); Serial.print (distanceToDestination);
Serial.println («մետր գնալ»);
Serial.print ("ՀԱSTRՈ:ՈԹՅՈ:Ն".);
// կանգնած? Պարզապես նշեք, թե որ ուղղությամբ գնալ:
եթե (gps.speed.kmph () <2.0)
{
Serial.print («Գլուխ»);
Serial.print (directionToDestination);
Serial.println (".");
վերադարձ;
}
if (courseChangeNeeded> = 345 || courseChangeNeeded <15) Serial.println ("Շարունակեք ուղիղ առաջ");
այլապես, եթե (courseChangeNeeded> = 315 && courseChangeNeeded <345)
Serial.println («Թեքվեք մի փոքր ձախ»);
այլապես, եթե (courseChangeNeeded> = 15 && courseChangeNeeded <45)
Serial.println («Թեթևակի դեպի աջ»);
այլապես, եթե (courseChangeNeeded> = 255 && courseChangeNeeded <315)
Serial.println («Թեքվեք ձախ»);
այլապես, եթե (courseChangeNeeded> = 45 && courseChangeNeeded <105)
Serial.println («Թեքվեք աջ»);
ուրիշ
Serial.println («Ամբողջովին շրջվեք»);
}
}
Ամեն 5 վայրկյանը մեկ կոդը գրավում է օգտվողի գտնվելու վայրը և ընթացքը (ճանապարհորդության ուղղություն) և հաշվարկում կրողը (ուղղությունը դեպի նպատակակետ) ՝ օգտագործելով TinyGPS ++ courseTo () մեթոդը: Երկու վեկտորների համեմատությունը առաջացնում է ուղիղ կամ շրջվել շարունակելու առաջարկ, ինչպես ցույց է տրված ստորև:
Պատճենեք FindingYourWay.ino էսքիզը (վերևում) և տեղադրեք Arduino IDE- ի մեջ: Տեղադրեք նպատակակետ 1 կմ կամ 2 կմ հեռավորության վրա, ներբեռնեք էսքիզը ձեր Arduino- ում, գործարկեք այն ձեր նոութբուքի վրա և տեսեք, արդյոք այն ձեզ կառաջնորդի այնտեղ: Բայց ավելի կարևոր է ՝ ուսումնասիրեք ծածկագիրը և հասկանաք, թե ինչպես է այն աշխատում:
Քայլ 9: Առաջ գնալ
GPS- ի ստեղծագործական ներուժը հսկայական է: Ամենագոհացուցիչ բաներից մեկը, որ ես երբևէ արել եմ, GPS- ով միացված հանելուկ տուփն է, որը բացվում է միայն մեկ նախապես ծրագրավորված վայրում: Եթե ձեր զոհը ցանկանում է գանձը ներսից փակել, նա պետք է պարզի, թե որտեղ է այդ գաղտնի վայրը և ֆիզիկապես տուփը բերում այնտեղ: Projectրագրի առաջին հանրաճանաչ գաղափարը անտառահատման մի տեսակ սարք է, որը արձանագրում է րոպե առ րոպե դիրքն ու բարձրությունը, ասենք, Տրանս-Փենինի արահետով քայլող արշավի: Կամ ի՞նչ կասեք Breaking Bad- ում DEA գործակալների այն ստոր մագնիսական հետքերից մեկի մասին, որոնք կպչում են վատ տղաների մեքենաներին: Երկուսն էլ լիովին իրագործելի են, և, հավանաբար, հաճելի կլիներ կառուցել, բայց ես ձեզ խրախուսում եմ ավելի ընդարձակ մտածել ՝ այն ապրանքներից դուրս, որոնք արդեն կարող եք գնել Amazon- ից: Այնտեղ մեծ աշխարհ է: Քայլեք որքան հնարավոր է հեռու և լայն:
Խորհուրդ ենք տալիս:
Գտեք ձեր գնահատականները Բելարմինի Moodle- ում ՝ 11 քայլ
Գտեք ձեր գնահատականները Bellarmine's Moodle- ում. Հեշտ է իմանալ ձեր գնահատականները, եթե ձեր պրոֆեսորը ձեր թերթը հետ է տալիս մեկնաբանություններով և ամբողջ գրված գրառումներով: Բայց նոր առցանց հարթակներով, որոնք օգտագործում են համալսարանների մեծ մասը, այն կարող է բարդանալ: Ահա ձեր գնահատականները գտնելու մի տարբերակ, եթե դուք
Խորամանկ շտկեք կոտրված երկրպագուին (աղքատ ճանապարհը). 5 քայլ
Tricky Fix a Broken Fan (The Poor Way). Բարև բոլորին, ահա թե ինչպես եմ ես լուծել կոտրված երկրպագուին, որը ստացել եմ այսպիսի բարդ, բայց արդյունավետ եղանակով: Հուսով եմ, որ դուք կգնահատեք, և եթե այո, քվեարկեք ինձ ինչ -որ մրցույթի: Շնորհակալություն դու
Գտեք WLAN գաղտնաբառ (պարզապես պետք է միացված լինել) ՝ 4 քայլ
Գտեք WLAN գաղտնաբառ (պարզապես պետք է միացված լինել). Այն, ինչ ես ուզում եմ ձեզ ցույց տալ այսօր, իրականում պարզապես հրաման է: Այնուամենայնիվ, կարող եք նաև կատակել ձեր ընկերների հետ: Ուշադրություն. Սա wlan գաղտնաբառ կոտրելու հակեր չէ: Կապված wlan- ի wlan գաղտնաբառը պարզելու ընդամենը մեկ միջոց է
Arduino CNC գծագրական մեքենա (կամ հաջողության ճանապարհը). 10 քայլ (նկարներով)
Arduino CNC գծագրական մեքենա (կամ հաջողության ճանապարհ). Այս նախագիծը հիմնված է հիմնականում այն իրերի վրա, որոնք հեշտ է գտնել: Գաղափարն այն է, որ վերցնենք երկու չօգտագործված համակարգչային սկավառակի միավոր և դրանք միացնենք ՝ ստեղծելով ավտոմատ գծագրման մեքենա, որը նման է CNC մեքենայի: Սկավառակից դուրս օգտագործված կտորները ներառում են ամսական
Անջատեք համակարգչի հեռավորությունը (իրական ճանապարհը). 4 քայլ
Անջատեք համակարգչային հեռակառավարումը (իրական ճանապարհը). Սա ուսանելի է, որը ցույց կտա ձեզ, թե ինչպես անջատել համակարգիչը (ձեր սեփականից) հեռակա կարգով: կարիք չկա ֆայլը գողանալ իրենց համակարգչին կամ որևէ կապ ունենալ նրանց հետ: Սա պահանջում է DOS- ի քիչ կամ ընդհանրապես ոչ մի հմտություն, չնայած դա կօգնի, եթե դուք 1337 տարեկան եք