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

Չորս տառ բառի ժամացույց ՝ Ակաֆուգու բառերի գեներատորով և ոգեշնչող արտահայտություններով ՝ 3 քայլ
Չորս տառ բառի ժամացույց ՝ Ակաֆուգու բառերի գեներատորով և ոգեշնչող արտահայտություններով ՝ 3 քայլ

Video: Չորս տառ բառի ժամացույց ՝ Ակաֆուգու բառերի գեներատորով և ոգեշնչող արտահայտություններով ՝ 3 քայլ

Video: Չորս տառ բառի ժամացույց ՝ Ակաֆուգու բառերի գեներատորով և ոգեշնչող արտահայտություններով ՝ 3 քայլ
Video: Bari arev, barev (mankakan erg) 2024, Հուլիսի
Anonim
Image
Image
Չորս տառ բառի ժամացույց ՝ Ակաֆուգու բառերի գեներատորով և ոգեշնչող արտահայտություններով
Չորս տառ բառի ժամացույց ՝ Ակաֆուգու բառերի գեներատորով և ոգեշնչող արտահայտություններով
Չորս տառանոց բառի ժամացույց ՝ Akafugu բառերի գեներատորով և ոգեշնչող արտահայտություններով
Չորս տառանոց բառի ժամացույց ՝ Akafugu բառերի գեներատորով և ոգեշնչող արտահայտություններով

Սա Չորս տառանոց ժամացույցի իմ տարբերակն է, գաղափար, որը ծագել է դեռ 1970 -ականներին: Theամացույցը ցուցադրում է չորս տառից բաղկացած բառերի շարք, որոնք առաջանում են կամ պատահական բառ գեներացնող ալգորիթմից, կամ հարակից քառատառ բառերի տվյալների բազայից:

Այս տարբերակը օգտագործում է ավելի ժամանակակից 14 հատվածի LED էկրաններ և Atmega 328p միկրոկառավարիչ ՝ բառերն ու ժամանակը ցուցադրելու համար: Բառի սերնդի երկու ռեժիմ է ապահովվում: Առաջինը օգտագործում է ալգորիթմ ՝ չորս տառից բաղկացած բառախմբեր ստեղծելու համար, որոնք, ամենայն հավանականությամբ, իրական բառեր են ՝ բնօրինակին նման: Յուրաքանչյուր հաջորդ բառ կապ չունի նախորդի հետ: Երկրորդ ռեժիմը օգտագործում է «Էդինբուրգի ասոցիատիվ թեզաուրուս» բառերի տվյալների բազան, բառերի ասոցիացիաների փաստաթուղթ, որը հիմնված է մարդկանց ՝ սերմանող բառ տալուց հետո եկող առաջին բառը հարցնելու մարդկանց պատասխանների վրա, այնուհետև գործընթացը շարունակելով պատասխան բառով: Տվյալների բազան չորս տառից բաղկացած բառերի ստեղծման համար հարմարեցրեց Akafugu Corporation- ը, որը ստեղծեց 57 Կբայթ տվյալների ֆայլ, որը պահվում է արտաքին EEPROM- ում ՝ Atmega- ի կողմից մշակման համար: Արդյունքն այն է, որ ժամացույցը օգտագործում է Unix- ի ժամանակը որպես պատահական սերմ և ստեղծում է չորս տառից բաղկացած բառերի տող `հիմնված մարդու արձագանքների վրա, այլ ոչ թե ինչ-որ ալգորիթմի:

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

«Էդինբուրգի ասոցիատիվ թեզաուրուսը» կազմվել է 60 -ականների սկզբին Անգլիայում բնակվող մարդկանց արձագանքների հիման վրա: Հարաբերություններ բառը հաստատ արտացոլում է այդ կողմնակալությունը: Օրինակ ՝ «BEST» բառին հաճախ հաջորդում է «PETE»: Ոչ մի ակնհայտ կապ գոյություն չունի, եթե մեկը չգիտի, որ Փիթ Բեսթը 60 -ականների սկզբին «Բիթլզ» խմբի սկզբնական թմբկահարն էր: 60 -ականների Մեծ Բրիտանիայի մշակույթի նկատմամբ այլ նախասիրություններ կան: Կարծում եմ, որ շատ հետաքրքիր է դիտելը:

Սարքը պարունակում է նաև I2C հասցեագրվող իրական ժամանակի ժամացույցի մոդուլ ՝ վերալիցքավորվող մարտկոցի կրկնօրինակումով: Clockամացույցը ցուցադրում է 5 բառ երկու ընտրվող ալգորիթմներից մեկից, այնուհետև ցուցադրում է ժամանակը, ամսաթիվը, շաբաթվա և տարվա օրը: Clockամացույցի և ռեժիմի ռեժիմները սահմանվում են `օգտագործելով երեք կոճակ անջատիչներ: Գործող ռեժիմները պահվում են ոչ անկայուն EEPROM- ում և գոյատևում են վերագործարկման կամ հոսանքի խափանում: RTC- ն շարունակում է աշխատել մոտ մեկ տարի էներգիայի անջատումից հետո `ծայրահեղ ջերմաստիճանի փոխհատուցվող ճշգրտությամբ: Powerիշտ ժամանակը ինքնաբերաբար ցուցադրվում է, երբ էներգիան վերականգնվում է:

Լրացուցիչ գործառույթ է համարվում ժամանակի վերաբերյալ 107 մեջբերումները, որոնք պատահականորեն ցուցադրվում են յուրաքանչյուր 10 րոպեն մեկ: Այս մեջբերումները աջից ձախ պտտվում են չորս կերպարների վրա ՝ հաճախակի քաջալերելով և ոգեշնչելով: Արտահայտությունների պահպանումը արտաքին EEPROM- ում է ՝ Ակաֆուգու բառերի տվյալների շտեմարանով: Տվյալների բազան վերցնում է սարքում առկա 64 Կբայթից ընդամենը 57 Կբայթ, ինչը տեղ է թողնում 107 արտահայտությունների համար: «Պարծենալու» արտահայտությունը միշտ առաջինն է ցուցադրվում, երբ ժամացույցն առաջին անգամ սնվում է հաջորդ 10 րոպեանոց ընդմիջումից:

Սարքն օգտագործում է 14-հատվածանոց ընդհանուր կաթոդային ցուցադրումներ (յուրաքանչյուր թվանշանի համար 2 կաթոդ), որոնք բազմապատկվում են ժամաչափի ընդհատման ծառայության ռեժիմով, որի արդյունքում չորս նիշանոց էկրանը թարմացվում է 100 Հց հաճախականությամբ: Ամեն անգամ, երբ ISR- ն աշխատում է, այն անջատում է նախորդ կես նիշը, չորս նիշերից մեկի համար վերցնում է 14 հատվածներից 7-ը, միացնում համապատասխան հատվածի կապումներն ու հիմնավորում համապատասխան կաթոդը: Theուցադրումները մի փոքր անսովոր են, բայց ես ունեի մեծ հավելուրդ, որը ցանկանում էի օգտագործել: Երկակի ընդհանուր կաթոդը մեկ թվանշանի համար անհրաժեշտ քորոցների թիվը 15-ից նվազեցնում է 9-ի: Atmega 328p- ի վրա բավականաչափ կապում կա, որը թույլ է տալիս ցուցադրման ուղիղ քշել առանց հերթափոխի գրանցամատյան:

Անելիք. Փոփոխեք ծածկագիրը ՝ Adafruit- ի 4 նիշանոց այբբենական թվային LED մոդուլից օգտվելու համար:

Քայլ 1: Պատմություն

Պատմություն
Պատմություն
Պատմություն
Պատմություն
Պատմություն
Պատմություն
Պատմություն
Պատմություն

Օրիգինալ FLW ժամացույցը կառուցվել է Burroughs B7971 մեծ թվային նեոնային ավելցուկային խողովակներով, որոնք մաքրված են շահագործումից հանված ֆոնդային տիկերների ցուցատախտակներից: Սրանք նման են ժամանակի թվային nixie խողովակներին, բայց 14 հատվածից բաղկացած ցուցադրման միջոցով օգտագործվում էին ASCII- ի բոլոր նիշերը կազմելու համար: Theամացույցը օգտագործում էր դիսկրետ տրամաբանություն ՝ սեղանից ընտրելով տառեր ՝ ձևավորելով պատահական չորս տառերի համակցություններ, որոնք կշռված էին, հավանաբար, իրական բառեր արտադրելու համար:

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

Յուրաքանչյուր դիրքի համար պարզ BCD (0-9) հաշվիչ (74LS90 IC) ազատ վազում էր, և հաշվարկը գրանցվում և պահվում էր մոտ մի քանի վայրկյանից մեկ րոպեում մեկ անգամ `կախված արագության պարամետրից: Հաշվիչի պատկերն այնուհետև կիրառվեց դիոդների վերծանման մատրիցի վրա (օգտագործելով մոտ 150 դիոդ) ՝ կերպարները ձևավորելու համար:

Քանի որ յուրաքանչյուր պաշտոնի համար ընտրվել են ընդամենը տասը (կամ ութ) ամենատարածված տառերը, առանց հաշվի առնելու տառերի համակցությունները, շատ ոչ բառեր կարող են հայտնվել, օրինակ ՝ FRLR, LREE, LLLL և այլն:

Նկատի ունեցեք, որ երկրորդ դիրքը միայն ուներ ութ տառ, քանի որ նմուշի իններորդ և տասներորդ տառերը համաչափ ցածր հաճախականություն ունեին, մինչդեռ առաջինը և երկրորդը չափազանց բարձր հաճախականություն ունեին, ուստի դրանք կրկնապատկվել էին: Այսպիսով, 10 x 8 x 10 x 10 = 8000 փոփոխություն: Այն տառերը, որոնք ծրագրավորվել են 1973 թվականի առաջին մոդելի վրա, ցուցադրված են վերը նշված պատկերներից մեկում:

Քայլ 2: Կոդ և սխեմատիկ

Կոդ և սխեմատիկ
Կոդ և սխեմատիկ
Կոդ և սխեմատիկ
Կոդ և սխեմատիկ
Կոդ և սխեմատիկ
Կոդ և սխեմատիկ
Կոդ և սխեմատիկ
Կոդ և սխեմատիկ

Սխեման կցված է:

Clockամացույցը կարող է կառուցվել ցանկացած Atmega 328p- ի վրա հիմնված Arduino- ի միջոցով:

Ինքնուրույն Atmega 328p- ի հետ օգտագործելու համար, ինչպես ցույց է տրված սխեմատիկայում, պետք է օգտագործվի ինտերնետ մատակարարող ծրագրավորող `միկրոկոնտրոլերը Arduino IDE- ի միջոցով ծրագրավորելու համար: Mingրագրավորումից հետո ապահովիչները պետք է տեղադրվեն ՝ օգտագործելով հետևյալ avrdude հրամանը (պետք է տեղադրվի WinAVR): Փոխարինեք com պորտը և ծրագրավորողի տեսակը: Ամենահեշտը Arduino- ն օգտագործել որպես ISP ծրագրավորող: Մանրամասների համար Google- ում:

avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse: w: 0xFF: m -U hfuse: w: 0xDF: m -U efuse: w: 0x05: m

Այս պարամետրերն անջատում են bootloader- ի վերակայման վեկտորը, այնպես որ կոդը անմիջապես սկսվում է հիմնական ծածկագրի վեկտորից: Ապահովիչները տեղադրված են նաև արտաքին 16 ՄՀց տատանումների համար: Այրվելուց հետո դուք այլևս չեք կարողանա ծրագրավորել չիպը, մինչև բյուրեղը և կոնդենսատորները չմիացվեն, ինչպես ցույց է տրված սխեմատիկայում, քանի որ կանխադրված ներքին տատանումն անջատված է ապահովիչների այս պարամետրերով:

DS3231 Arduino գրադարանը պետք է տեղադրված լինի RTC ժամացույցի ռեժիմին հասանելիություն ապահովելու համար: Անհրաժեշտ է միացնել Unix- ի ժամանակային աջակցությունը գրադարանում `մեկնաբանելով DS3231 RTC գրադարանի config.h ֆայլում« #define CONFIG_UNIXTIME »տողը: Unix ժամանակը օգտագործվում է որպես պատահական թվերի գեներատորի սերմ, որպեսզի բառերի և արտահայտությունների հաջորդականությունները չկրկնվեն ամեն անգամ, երբ ժամացույցը միանում է:

DS3231 RTC ժամացույցի մոդուլն ինքնին ebay- ում վաճառվող սովորական բազմազանություն է: Մոդուլը նկարագրված է վերևում: Փնտրեք տեսակը վերալիցքավորվող պահեստային մարտկոցով:

Բացի ծրագրավորված միկրոկառավարիչից, անհրաժեշտ է նաև ձեռք բերել և ծրագրավորել Microchip 24LC512 սերիական EEPROM- ը `Ակաֆուգու բառերի տվյալների շտեմարանով և արտահայտությունների ցանկով: Դա արվում է Arduino- ով կառուցված պարզ սխեմայի և SD քարտի ձևաչափով ՝ FAT32 ձևաչափով, որի վրա կա ելքը2.dat ֆայլը: Էսքիզը կարդում է SD քարտի տվյալները և գրում դրանք EEPROM- ին: Մանրամասներին կարող եք ծանոթանալ հետևյալ երկու հղումներով: Համոզվեք, որ օգտագործեք ծրագրավորման ուրվագիծը և տվյալների ֆայլը այս Ուղեցույցում, քանի որ Ակաֆուգու հղման վրա գտնվողին բացակայում է արտահայտությունների շտեմարանը: Հետևեք հղումների ընթացակարգին:

Akafugu FLW տվյալների բազայի ակնարկ

Տվյալների ֆայլը EEPROM- ին այրելու հրահանգներ

Քայլ 3: Clամացույցի կարգավորում և կառավարում

Buttonամացույցի կարգավորման համար օգտագործվում են կոճակների հետևյալ համակցությունները

Setամացույց. Նորմալ աշխատանքի ընթացքում պահեք կոճակը 1:

Րոպեների հավաքածու. Սովորական աշխատանքի ընթացքում պահեք կոճակը 2: Երկրորդը ինքնաբերաբար վերակայվում են «00» -ին

Վայրկյանները զրոյի են վերածվում. Նորմալ աշխատանքի ընթացքում պահեք կոճակը 3, բաց թողեք ՝ նոր րոպեի սկզբի հետ համաժամացման համար

Սահմանել ամիսը. Սովորական աշխատանքի ընթացքում պահեք 1 և 2 կոճակները միասին

Սահմանել ամսաթիվը. Սովորական աշխատանքի ընթացքում պահեք 1 և 3 կոճակները միասին

Սահմանել տարին. Սովորական աշխատանքի ընթացքում պահեք 2 և 3 կոճակները միասին

Սահմանեք շաբաթվա օրը. Սովորական աշխատանքի ընթացքում պահեք 1, 2 և 3 կոճակները միասին

Երբ միավորն առաջին անգամ միացված է, գործառնական ռեժիմներն արագ ցուցադրվում են բառերի ստեղծումից առաջ.

«EE» նշանակում է I2C արտաքին EEPROM, որը պարունակում է ակաֆուգու բառերի տվյալների շտեմարան և արտահայտությունների ցուցակ, հայտնաբերված է:

«NOEE» նշանակում է, որ EEPROM- ը չի հայտնաբերվել: Միավորը վերադառնում է պատահական բառերի ստեղծման և արտահայտությունների ցուցադրման:

«CK» նշանակում է, որ ժամանակը և ամսաթիվը ցուցադրվում են 5 հաջորդական բառեր ցուցադրելուց հետո:

«NOCK» նշանակում է, որ ժամն/ամսաթիվը անջատված է: Բառերի կայուն հոսքը շարունակաբար ցուցադրվում է, ընդհատվում է յուրաքանչյուր 10 րոպեն մեկ մեկ արտահայտությամբ:

«RND» նշանակում է, որ օգտագործվում է բառերի ստեղծման պատահական ռեժիմ

«REL» նշանակում է, որ օգտագործվում է «Akafugu» բառերի տվյալների բազայի ստեղծման ռեժիմը

Ռեժիմները փոխելու և պահպանելու համար անջատեք ժամացույցը և միացրեք այն ՝ միաժամանակ պահելով նշված կոճակներից մեկը: Այնուհետեւ բաց թողեք կոճակը: Նոր ռեժիմը պահվում և ցուցադրվում է.

Կոճակ 1. Փոխել և պահպանել բառերի ստեղծման պատահական կամ հարաբերական ռեժիմը

Կոճակ 2. Միացրեք կամ անջատեք ամսաթվի/ժամի ցուցադրումը 5 հաջորդական բառերից հետո

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