Բովանդակություն:
Video: Չորս տառ բառի ժամացույց ՝ Ակաֆուգու բառերի գեներատորով և ոգեշնչող արտահայտություններով ՝ 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Սա Չորս տառանոց ժամացույցի իմ տարբերակն է, գաղափար, որը ծագել է դեռ 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 հաջորդական բառերից հետո
Խորհուրդ ենք տալիս:
Բառի ժամացույց (գերմաներեն դասավորություն) ՝ 8 քայլ
Բառի ժամացույց (գերմանական դասավորություն). Hey, ich möchte Euch hier mal mein letztes Projekt vorstellen: Ich habe eine Uhr gebaut. Հայտարարություններ «նորմալ» Uhr, sondern eine Word ockամացույց: Zu solchen Bastelprojekten gibt es hier zwar schon ein paar Artikel, aber trotzdem möchte ich
Բյուջետային Arduino RGB բառի ժամացույց: 7 քայլ (նկարներով)
Budget Arduino RGB բառի ժամացույց. էժան բառային ժամացույց! Գործիքներ, որոնք ձեզ անհրաժեշտ կլինեն այս նախագծի համար oldոդման երկաթ & Oldոդման լարեր (իդեալականորեն առնվազն 3 տարբեր գույների) 3D տպիչ (Կամ մեկին մուտք գործելը, կարող եք նաև
«Կլոր» բառի ժամացույց (հոլանդերեն և անգլերեն!) ՝ 8 քայլ (նկարներով)
«Կլոր» բառի ժամացույց (հոլանդերեն և անգլերեն!). Մի քանի տարի առաջ ես առաջին անգամ տեսա բառի ժամացույց ինտերնետում: Այդ ժամանակից ի վեր, ես միշտ ցանկացել եմ ինքնուրույն պատրաստել: Կան բազմաթիվ հրահանգներ, բայց ես ուզում էի օրիգինալ բան պատրաստել: Ես շատ բան չգիտեմ էլեկտրոնիկայի մասին, այնպես որ ես օգտագործեցի
NeoMatrix 8x8 բառի ժամացույց ՝ 6 քայլ (նկարներով)
NeoMatrix 8x8 բառի ժամացույց. Ձեզ հիացե՞լ է ժամանակի ընթացքը: Wantանկանու՞մ եք ոճային, ժամանակակից և ֆունկցիոնալ ժամացույց ավելացնել ձեր ժամացույցների հավաքածուին: Clockամացույց բառը ժամանակն ասելու յուրահատուկ սարք է, որն օգտագործում է տառերի ցանց `ժամանակը նշելու համար: Մինչ դու կարող ես
Mրագրավորվող ժամացույց ՝ չորս նիշով ՝ 5 քայլ (նկարներով)
Mրագրավորվող ժամացույց չորս կերպարով. Դուք կդառնաք քաղաքի խոսափողը, երբ կրեք այս գարշելի, չափազանց մեծ, բոլորովին անիրագործելի ձեռքի ժամացույցները: Displayուցադրեք ձեր նախընտրած անպարկեշտ լեզուն, երգի բառերը, պարզ համարները և այլն: Ոգեշնչվելով Microreader- ի հավաքածուից ՝ ես որոշեցի հսկա ժամացույց պատրաստել `օգտագործելով