Turinys:

Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis: 3 žingsniai
Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis: 3 žingsniai

Video: Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis: 3 žingsniai

Video: Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis: 3 žingsniai
Video: Nosinių raidžių rašyba žodžių šaknyje 2024, Lapkritis
Anonim
Image
Image
Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis
Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis
Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis
Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis

Tai mano keturių raidžių žodžio laikrodžio versija, idėja, kilusi dar aštuntajame dešimtmetyje. Laikrodis rodo keturių raidžių žodžių seriją, sugeneruotą pagal atsitiktinių žodžių generatoriaus algoritmą arba iš susijusių keturių raidžių žodžių duomenų bazės.

Šioje versijoje žodžiai ir laikas rodomi naudojant modernesnius 14 segmentų LED ekranus ir „Atmega 328p“mikrovaldiklį. Palaikomi du žodžių generavimo režimai. Pirmasis naudoja algoritmą, kad sugeneruotų keturių raidžių žodžių grupes, kurios tikriausiai yra tikri žodžiai, panašūs į originalą. Kiekvienas paskesnis žodis nesusijęs su ankstesniu. Antrasis režimas naudoja reliatyvių žodžių duomenų bazę iš „Edinburgo asociatyvaus tezauro“- žodžių asociacijų dokumento, pagrįsto žmonių atsakymais į pirmojo žodžio, kuris ateina į galvą, užduodant jiems pradinį žodį, klausimą, tada tęsiant procesą atsakymo žodžiu. Duomenų bazę keturių raidžių žodžių generavimui pritaikė „Akafugu Corporation“, sukūrusi 57 Kbyte duomenų failą, kuris saugomas išoriniame EEPROM, kad jį galėtų apdoroti „Atmega“. Rezultatas yra tas, kad laikrodis naudoja „Unix“laiką kaip atsitiktinę sėklą ir generuoja susijusių keturių raidžių žodžių eilutę, pagrįstą žmogaus atsakymais, o ne kokiu nors algoritmu.

Pastaba: Akafugu žodžių duomenų bazėje yra keletas seksualiai aiškių ir galimai įžeidžiančių žodžių. Jei tai jums trukdo, įjunkite atsitiktinio žodžio režimą. Tai taip pat gali sugeneruoti įžeidžiančius žodžius, bet bent jau nerodys susijusių įžeidžiančių žodžių srautų!

„Edinburgo asociatyvusis tezauras“buvo sudarytas remiantis 60 -ųjų pradžioje Anglijoje gyvenusių žmonių atsakymais. Žodis santykiai neabejotinai atspindi šį šališkumą! Pavyzdžiui, po žodžio „GERIAUSIA“dažnai seka „PETE“. Akivaizdus ryšys neegzistuoja, nebent žinotume, kad Pete'as Bestas buvo originalus „The Beatles“būgnininkas 60 -ųjų pradžioje! Kiti 60 -ojo dešimtmečio JK kultūros šališkumo gausa. Manau, labai įdomu žiūrėti!

Įrenginyje taip pat yra I2C adresuojamas realaus laiko laikrodžio modulis su įkraunama baterija. Laikrodis rodo 5 žodžius iš vieno iš dviejų pasirenkamų algoritmų, tada rodo laiką, datą, savaitės dieną ir metus. Laikrodis ir darbo režimai nustatomi trimis mygtukais. Veikimo režimai saugomi nepastoviame EEPROM ir išgyvena iš naujo nustatant ar nutrūkus elektros tiekimui. Išjungus maitinimą, RTC ir toliau veikia maždaug metus, ypač tiksliai kompensuojant temperatūrai. Atnaujinus maitinimą, automatiškai rodomas teisingas laikas.

Papildoma funkcija yra 107 citatos apie laiką, kurios rodomos atsitiktinai kas 10 minučių. Šios citatos slenka iš dešinės į kairę per keturis simbolius, dažnai skatindamos ir įkvėpdamos! Frazių saugykla yra išoriniame EEPROM su Akafugu žodžių duomenų baze. Duomenų bazė užima tik 57 kbitus iš įrenginyje esančių 64 KB, paliekant vietos 107 frazėms. „Pagyrimo“frazė visada pirmoji rodoma, kai laikrodis pirmą kartą įjungiamas kas 10 minučių.

Prietaisas naudoja įprastus 14 segmentų katodo ekranus (2 katodai kiekvienam skaitmeniui), kurie yra multipleksuojami laikmačio pertraukos aptarnavimo tvarka, todėl keturių simbolių ekranas atnaujinamas 100 Hz dažniu. Kai ISR veikia, jis išjungia ankstesnį pusės simbolį, nuskaito 7 iš 14 segmentų vienam iš keturių simbolių, įjungia atitinkamus segmento kaiščius ir įžemina atitinkamą katodą. Ekranai yra šiek tiek neįprasti, tačiau turėjau didelį perteklių, kurį norėjau naudoti. Dvigubas bendras katodas sumažina reikalingų smeigtukų skaičių vienam skaitmeniui nuo 15 iki 9. „Atmega 328p“kaiščių yra pakankamai, kad būtų galima tiesiogiai valdyti ekraną be poslinkių registro.

VEIKLA: Pakeiskite kodą, kad būtų naudojamas „Adafruit“4 simbolių raidinis ir skaitmeninis LED modulis

1 žingsnis: istorija

Istorija
Istorija
Istorija
Istorija
Istorija
Istorija
Istorija
Istorija

Originalus FLW laikrodis buvo pagamintas naudojant didelius „Burroughs B7971“raidinius ir skaitmeninius neoninius pertekliaus vamzdelius, išimtus iš nebenaudojamų vertybinių popierių rodyklių. Jie yra panašūs į to meto skaitmeninius „nixie“vamzdelius, tačiau naudojo 14 segmentų ekraną, kad sudarytų visus ASCII simbolius. Laikrodis naudojo diskretišką logiką, pasirinkdamas raides iš lentelės, kad sudarytų atsitiktines keturių raidžių kombinacijas, kurios buvo įvertintos taip, kad būtų galima išgauti tikrus žodžius.

Su algoritmu Pradiniame 1972 m. Modelyje kiekvienoje pozicijoje rodomos tik tam tikros raidės. Buvo atlikta kelių šimtų keturių raidžių žodžių rankiniu būdu analizė ir suskaičiuotas raidžių dažnis kiekvienoje iš keturių pozicijų. Buvo naudojamos dešimt dažniausiai kiekvienos pozicijos raidžių, išskyrus antrąją, kurioje buvo tik aštuonios raidės.

Kiekvienai padėčiai paprastas BCD (0-9) skaitiklis (74LS90 IC) laisvai važiavo, o skaičius buvo užfiksuotas ir laikomas maždaug kartą per kelias sekundes-kartą per minutę, atsižvelgiant į nustatytą greitį. Tada skaitiklio momentinė nuotrauka buvo pritaikyta diodų dekodavimo matricai (naudojant apie 150 diodų), kad būtų suformuoti simboliai.

Kadangi kiekvienai pozicijai buvo pasirinktos tik dešimt (arba aštuonios) dažniausiai pasitaikančios raidės, neatsižvelgiant į raidžių derinius, gali atsirasti daug ne žodžių, pvz., FRLR, LREE, LLLL ir kt.

Atkreipkite dėmesį, kad antroji pozicija turėjo tik aštuonias raides, nes devintoji ir dešimtoji imties raidės buvo proporcingai žemos, o pirmoji ir antroji-itin aukšto dažnio, todėl jos buvo padvigubintos. Taigi 10 x 8 x 10 x 10 = 8000 permutacijų. Pirmame 1973 m. Modelyje užprogramuotos raidės parodytos viename iš aukščiau pateiktų vaizdų.

2 žingsnis: kodas ir schema

Kodas ir schema
Kodas ir schema
Kodas ir schema
Kodas ir schema
Kodas ir schema
Kodas ir schema
Kodas ir schema
Kodas ir schema

Schema pridedama.

Laikrodis gali būti sukurtas naudojant bet kurį „Atmega 328p“pagrįstą „Arduino“.

Jei norite naudoti su autonominiu „Atmega 328p“, kaip parodyta schemoje, norint valdyti mikrokontrolerį per „Arduino IDE“, reikia naudoti ISP programuotoją. Po programavimo saugikliai turi būti nustatyti naudojant šią avrdude komandą (turi būti įdiegta „WinAVR“). Pakeiskite kom portą ir programuotojo tipą. Lengviausia naudoti „Arduino“kaip ISP programuotoją. Išsamesnės informacijos ieškokite „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

Šie nustatymai išjungia įkrovos tvarkyklės atstatymo vektorių, todėl kodas iškart prasideda nuo pagrindinio kodo vektoriaus. Saugikliai taip pat nustatyti išoriniam 16MHz osciliatoriui. Kai sudegsite, nebegalėsite užprogramuoti lusto, kol kristalas ir kondensatoriai nebus prijungti, kaip parodyta schemoje, nes numatytasis vidinis osciliatorius yra išjungtas naudojant šiuos saugiklių nustatymus.

Norint suteikti prieigą prie RTC laikrodžio tvarkos, turi būti įdiegta DS3231 „Arduino“biblioteka. Būtina įgalinti „Unix“laiko palaikymą bibliotekoje, nekomentuojant eilutės „#define CONFIG_UNIXTIME“DS3231 RTC bibliotekos config.h faile. „Unix“laikas naudojamas kaip atsitiktinių skaičių generatoriaus sėkla, kad žodžių ir frazių sekos nebūtų kartojamos kiekvieną kartą įjungus laikrodį.

Pats DS3231 RTC laikrodžio modulis yra įprasta įvairovė, parduodama „ebay“. Modulis iliustruotas aukščiau. Ieškokite tipo su įkraunama atsargine baterija.

Be užprogramuoto mikrovaldiklio, taip pat būtina įsigyti ir užprogramuoti „Microchip 24LC512“serijos EEPROM su Akafugu žodžių duomenų baze ir frazių sąrašu. Tai daroma naudojant paprastą grandinę, sukurtą naudojant „Arduino“, ir SD kortelę, suformatuotą kaip FAT32, ir failą output2.dat. Eskizas nuskaito duomenis iš SD kortelės ir įrašo juos į EEPROM. Išsamią informaciją rasite dviejose toliau pateiktose nuorodose. Būtinai naudokite programavimo eskizą ir duomenų failą šioje instrukcijoje, nes nuorodoje „Akafugu“nėra frazių duomenų bazės. Atlikite nuorodose nurodytą procedūrą.

Akafugu FLW duomenų bazės apžvalga

Duomenų failo įrašymo į EEPROM instrukcijos

3 veiksmas: laikrodžio nustatymas ir valdymas

Nustatant laikrodį naudojami šie mygtukų deriniai:

Valandos nustatymas: laikykite nuspaudę 1 mygtuką įprasto darbo metu.

Minutės nustatymas: laikykite nuspaudę 2 mygtuką įprasto darbo metu. Antrasis automatiškai atstatomas į „00“

Sekundės atstatomos į nulį: laikykite nuspaudę 3 mygtuką įprasto darbo metu, atleiskite, kad sinchronizuotumėte su naujos minutės pradžia

Mėnesio nustatymas: laikykite 1 ir 2 mygtukus kartu įprasto darbo metu

Nustatykite datą: laikykite 1 ir 3 mygtukus kartu įprasto darbo metu

Nustatyti metus: laikykite 2 ir 3 mygtukus kartu įprasto darbo metu

Nustatykite savaitės dieną: laikykite 1, 2 ir 3 mygtukus kartu įprasto darbo metu

Pirmą kartą įjungus įrenginį, darbo režimai greitai rodomi prieš prasidedant žodžių generavimui:

„EE“reiškia I2C išorinį EEPROM, kuriame yra Akafugu žodžių duomenų bazė ir frazių sąrašas.

„NOEE“reiškia, kad EEPROM nebuvo aptiktas. Prietaisas grįžta prie atsitiktinio žodžių generavimo ir nerodo frazių.

„CK“reiškia, kad laikas ir data rodomi po 5 žodžių iš eilės.

„NOCK“reiškia, kad laikas/data yra išjungti. Nuolat rodomas žodžių srautas, kurį kas 10 minučių pertraukia frazė.

„RND“reiškia atsitiktinį žodžių generavimo režimą

„REL“reiškia reliatyvų „Akafugu“žodžių duomenų bazės generavimo režimą

Norėdami pakeisti ir išsaugoti režimus, atjunkite laikrodį ir vėl įjunkite, laikydami vieną iš nurodytų mygtukų. Tada atleiskite mygtuką. Naujas režimas išsaugomas ir rodomas:

1 mygtukas: perjunkite ir išsaugokite atsitiktinio arba reliatyvaus žodžio generavimo režimą

2 mygtukas: įjunkite arba išjunkite datos/laiko rodymą po 5 žodžių iš eilės

Rekomenduojamas: