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

Arduino Hangman in Morse: 9 քայլ
Arduino Hangman in Morse: 9 քայլ

Video: Arduino Hangman in Morse: 9 քայլ

Video: Arduino Hangman in Morse: 9 քայլ
Video: Morse Code Converter with arduino 2024, Հունիսի
Anonim
Արդուինո կախիչը Մորսում
Արդուինո կախիչը Մորսում

Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես ստեղծել ձեր սեփական Arduino- ն ՝ Hangman խաղալու համար ՝ ուղարկելով Մորզեի կոդը պարզ լապտերով կամ ջահի գործառույթով ձեր հեռախոսից:

Այն ամենը, ինչ ձեզ հարկավոր է հետևել ՝

Քայլ 1: LED լուսարձակների տեղադրում

LED լուսարձակների տեղադրում
LED լուսարձակների տեղադրում

Morse- ի այս խաղը կօգտագործի 4 լույս ՝ բառի 4 տառերը նշելու համար, որոնք պետք է կռահել, և 5 լույս ՝ կյանքերը, որոնցով խաղացողը թողել է կռահելու համար, ուստի առաջին հերթին պետք է միացնել 9 LED -լույսերը սովորական եղանակով, ինչպես երևում է նկարում:

Քայլ 2: Ավելացրեք ինքնաշեն լույսի ցուցիչ

Մենք չենք կարող փողեր նետել էլեկտրոնային խանութների վրա, ուստի ես որոշեցի էժան պահել այս նախագիծը ՝ օգտագործելով պարզ LED լույս ՝ որպես ժամանակավոր լույսի ցուցիչ:

Մնում է միայն լուսադիոդի լույսի կողմը միացնել ձեր անալոգային նավահանգիստներից մեկին (իմ դեպքում ՝ A0) և մինուս կողմը ՝ ձեր գետնին:

Քայլ 3: Ավելացրեք ձեր բառարանը

Ավելացրեք ձեր բառարանը
Ավելացրեք ձեր բառարանը

Նախևառաջ, եկեք սկսենք ՝ ավելացնելով մի տեսակ բառարան ՝ տառերը նրանց համապատասխան Մորզեի ծածկագրերին թարգմանելու համար: Դա անելու համար մենք պարզապես կազմում ենք զանգված 26 -ից 5 -ով, յուրաքանչյուր երկրորդական զանգվածի առաջին սլոթը ունի տառը, իսկ հաջորդ 4 սլոթներն ունեն համապատասխան Մորզեի ծածկագիրը կամ բացատ, եթե կոդ չի մնացել: Օրինակ, s տառով, առաջին բնիկում կա «s», երկրորդը, երրորդը և չորրորդը ՝ «»: և վերջնական անցքն ունի '':

Քայլ 4. Լույսերը լռելյայն դարձրեք կանխադրված

Լռելյայն լուսավորեք լռելյայն
Լռելյայն լուսավորեք լռելյայն
Լռելյայն լուսավորեք լռելյայն
Լռելյայն լուսավորեք լռելյայն

Այս քայլում մենք համոզվում ենք, որ լույսերը միացված են ծրագրի մեկնարկից հետո և Մորզը ներկայացնում է այն տառը, երբ օգտվողը ճիշտ կռահում է դրանք (դրա կոդը կգրվի 6 -րդ քայլում): Մենք նաև համոզվում ենք, որ կան միայն այնքան լույսեր, որքան խաղացողի կյանքն է մնացել:

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

Քայլ 5: Ներածման ավելացում

Ավելացնելով ներածումը
Ավելացնելով ներածումը

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

Ընթերցումը ճիշտ լինելու համար մենք միջինում յուրաքանչյուր 20 ընթերցում ենք կատարում LED լույսի օգնությամբ և օգտագործում ենք այդ թիվը ՝ հետևելու համար, թե արդյոք լույսը անջատված է կամ միացված: Որպեսզի դա անենք, ծրագրի սկզբում մենք NUM_AVG- ն սահմանում ենք այն անգամների քանակը, երբ մենք ցանկանում ենք, որ այն ստուգի լույսը միջինից միջին դուրս գալուց առաջ: Որքան մեծ է այս թիվը, այնքան ավելի ճշգրիտ է ընթերցումը, բայց դա կարող է նաև ուշացումների պատճառ դառնալ:

msBtnPushed- ը ներկայացնում է այն ժամանակը, որի համար լույսը միացված է:

Քայլ 6: Ներածման կարգավորում

Ներածման կարգավորում
Ներածման կարգավորում
Ներածման կարգավորում
Ներածման կարգավորում

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

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

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

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

GoodTimer- ը և badTimer- ը պարզապես արժեքներ են, եթե դուք պլանավորում եք օգտագործել Piezo տարր ձայնը ավելացնելու համար: Եթե ցանկանում եք դա անել, ապա պետք է նաև երկրորդ նկարի վրա ավելացնեք ծածկագիրը, որը նվագում է հնչյունները:

Քայլ 7: orsիշտ կռահված տառերի մորսինգ

Orsիշտ կռահված տառերի մորսինգ
Orsիշտ կռահված տառերի մորսինգ

Ինչպես և նախկինում խոստացել էինք, այս քայլում մենք պետք է մորսենք իրենց տառերը պատկերող տառերը պատկերող ճիշտ տառերը:

Դրա համար ես գրել եմ երկու գործառույթ.

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

Քայլ 8: Վերանայեք մեր կարգավորումը և վերակայումը

Վերանայելով մեր կարգավորումը և վերականգնումը
Վերանայելով մեր կարգավորումը և վերականգնումը

Իհարկե, ծրագիրը չի գործի, եթե լույսերը միացված չեն ելքի և մուտքի: Ես նաև ավելացնում եմ պատահական թվերի գեներատոր `բառեր ավելացնելու համար բառերի ցանկից, որոնք ես դրել եմ բառեր, որոնք կոչվում են wordsToGuess:

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

Քայլ 9: Բոլոր փոփոխականները մեկ նկարի մեջ

Բոլոր փոփոխականները մեկ նկարի մեջ
Բոլոր փոփոխականները մեկ նկարի մեջ

Ի վերջո, դուք կարող եք օգտագործել սա ՝ ստուգելու համար, թե արդյոք բոլոր անհրաժեշտ փոփոխականները ճիշտ են կազմված:

Այժմ վայելեք խաղալ Hangman in Morse- ում:

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