Satura rādītājs:

Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm: 3 soļi
Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm: 3 soļi

Video: Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm: 3 soļi

Video: Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm: 3 soļi
Video: Мальвы цветут_Рассказ_Слушать 2024, Novembris
Anonim
Image
Image
Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm
Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm
Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm
Četru burtu vārdu pulkstenis ar Akafugu vārdu ģeneratoru un iedvesmojošām frāzēm

Šī ir mana četru burtu vārdu pulksteņa versija - ideja, kas radās jau pagājušā gadsimta 70. gados. Pulkstenis parāda četru burtu vārdu sēriju, kas tiek ģenerēta no nejaušu vārdu ģeneratora algoritma vai no saistītu četru burtu vārdu datu bāzes.

Šajā versijā tiek izmantoti modernāki 14 segmentu LED displeji un Atmega 328p mikrokontrolleris, lai parādītu vārdus un laiku. Tiek atbalstīti divu vārdu ģenerēšanas režīmi. Pirmais izmanto algoritmu, lai ģenerētu četru burtu vārdu grupas, kas, visticamāk, ir īsti vārdi, līdzīgi oriģinālam. Katrs secīgais vārds nav saistīts ar iepriekšējo. Otrajā režīmā tiek izmantota relāciju vārdu datu bāze no "Edinburgas asociētā tēzaura" - vārdu asociāciju dokumenta, kas balstīts uz cilvēku atbildēm uz pirmā vārda uzdošanu, kas ienāk prātā pēc tam, kad viņiem ir dots sākotnējais vārds, pēc tam turpinot procesu ar atbildes vārdu. Datu bāzi četru burtu vārdu ģenerēšanai pielāgoja korporācija Akafugu, kas izveidoja 57 kbitu datu failu, kas tiek saglabāts ārējā EEPROM, lai to varētu apstrādāt Atmega. Rezultāts ir tāds, ka pulkstenis izmanto Unix laiku kā nejaušu sēklu un ģenerē virkni saistītu četru burtu vārdu, pamatojoties uz cilvēku reakcijām, nevis kādu algoritmu.

Piezīme. Akafugu vārdu datu bāzē ir daži seksuāla rakstura un potenciāli aizvainojoši vārdi. Ja tas jūs traucē, lūdzu, ieslēdziet izlases vārdu režīmu. Tas var arī radīt dažus aizvainojošus vārdus, bet vismaz netiks parādīti saistītu aizvainojošu vārdu straumi!

"Edinburgas asociētais tēzaurs" tika apkopots, pamatojoties uz Anglijā dzīvojošo cilvēku atbildēm 60. gadu sākumā. Vārds attiecības noteikti atspoguļo šo neobjektivitāti! Piemēram, pēc vārda "LABĀKĀ" bieži seko "PETE". Nav acīmredzamas saiknes, ja vien nezināt, ka Pīts Bests 60. gadu sākumā bija Bītlu oriģinālais bundzinieks! Ir arī citi aizspriedumi pret 60. gadu Apvienotās Karalistes kultūru. Manuprāt, ir ļoti interesanti skatīties!

Ierīce satur arī I2C adresējamu reālā laika pulksteņa moduli ar uzlādējamu akumulatoru. Pulkstenis parāda 5 vārdus no viena no diviem atlasāmajiem algoritmiem, pēc tam parāda laiku, datumu, nedēļas dienu un gadu. Pulkstenis un darba režīmi tiek iestatīti, izmantojot trīs spiedpogas slēdžus. Darba režīmi tiek saglabāti nemainīgā EEPROM un izdzīvo pēc atiestatīšanas vai strāvas padeves pārtraukuma. RTC turpina darboties apmēram gadu pēc strāvas padeves izslēgšanas ar ārkārtīgi precīzu temperatūras kompensāciju. Atjaunojot strāvu, automātiski tiek parādīts pareizais laiks.

Papildu funkcija ir 107 citāti par laiku, kas tiek parādīti nejauši ik pēc 10 minūtēm. Šie citāti ritina no labās uz kreiso pāri četrām rakstzīmēm, sniedzot biežu iedrošinājumu un iedvesmu! Frāžu krātuve atrodas ārējā EEPROM kopā ar vārdu datubāzi Akafugu. Datu bāze aizņem tikai 57 KB no ierīcē pieejamajiem 64 KB, atstājot vietu 107 frāzēm. Frāze "lielīties" vienmēr tiek parādīta pirmā, kad pulkstenis pirmo reizi tiek ieslēgts nākamo 10 minūšu intervālā.

Ierīce izmanto parastos katoda 14 segmentu displejus (2 katodi katram ciparam), kurus multipleksē ar taimera pārtraukšanas pakalpojuma rutīnu, kā rezultātā četru rakstzīmju displejs tiek atsvaidzināts ar 100 Hz. Ikreiz, kad ISR darbojas, tas izslēdz iepriekšējo pusi rakstzīmi, izgūst 7 no 14 segmentiem vienai no četrām rakstzīmēm, ieslēdz atbilstošās segmenta tapas un pamato atbilstošo katodu. Displeji ir nedaudz neparasti, taču man bija liels pārpalikums, ko vēlējos izmantot. Divkāršais katods samazina tapu skaitu, kas nepieciešams vienam ciparam no 15 līdz 9. Atmega 328p ir pietiekami daudz tapu, lai displeju varētu vadīt bez pārslēgšanās reģistra.

TO-DO: Modificējiet kodu, lai izmantotu Adafruit 4 rakstzīmju burtciparu LED moduli

1. darbība: vēsture

Vēsture
Vēsture
Vēsture
Vēsture
Vēsture
Vēsture
Vēsture
Vēsture

Sākotnējais FLW pulkstenis tika uzbūvēts ar lielām Burroughs B7971 burtu un ciparu neona pārpalikuma caurulēm, kas izvilktas no ekspluatācijas pārtrauktajiem biržas rādītāju paneļiem. Tie ir līdzīgi tā laika skaitliskajām nixie caurulēm, taču visu ASCII rakstzīmju veidošanai tika izmantots 14 segmentu displejs. Pulkstenis izmantoja diskrētu loģiku, izvēloties burtus no tabulas, lai izveidotu nejaušas četru burtu kombinācijas, kuras tika svērtas, lai varētu radīt īstus vārdus.

Ar algoritmu Sākotnējā 1972. gada modelī katrā pozīcijā parādās tikai noteikti burti. Tika veikta ar roku apkopota vairāku simtu četru burtu vārdu analīze un saskaitīta burtu biežums katrā no četrām pozīcijām. Tika izmantoti desmit visbiežāk sastopamie burti katrā pozīcijā, izņemot otro pozīciju, kurā bija tikai astoņi burti.

Katrai pozīcijai vienkāršs BCD (0-9) skaitītājs (74LS90 IC) darbojās brīvi, un skaitīšana tika uztverta un turēta aptuveni reizi dažās sekundēs līdz vienai minūtei atkarībā no ātruma iestatījuma. Pēc tam skaitītāja momentuzņēmums tika izmantots diodes dekodēšanas matricai (izmantojot aptuveni 150 diodes), lai veidotu rakstzīmes.

Tā kā katrai pozīcijai tika atlasīti tikai desmit (vai astoņi) visbiežāk sastopamie burti, neņemot vērā burtu kombinācijas, var parādīties daudzi citi vārdi, piemēram, FRLR, LREE, LLLL utt.

Ņemiet vērā, ka otrajā pozīcijā bija tikai astoņi burti, jo parauga devītajam un desmitajam burtam bija proporcionāli zema frekvence, bet pirmajam un otrajam-ārkārtīgi augsta frekvence, tāpēc tie tika dubultoti. Tādējādi 10 x 8 x 10 x 10 = 8000 permutācijas. Burti, kas tika ieprogrammēti pirmajā 1973. gada modelī, ir parādīti vienā no attēliem iepriekš.

2. darbība: kods un shēma

Kods un shēma
Kods un shēma
Kods un shēma
Kods un shēma
Kods un shēma
Kods un shēma
Kods un shēma
Kods un shēma

Shēma ir pievienota.

Pulksteni var veidot, izmantojot jebkuru Amega 328p bāzes Arduino.

Lai izmantotu ar atsevišķu Atmega 328p, kā parādīts shēmā, mikrokontrollera programmēšanai, izmantojot Arduino IDE, jāizmanto ISP programmētājs. Pēc programmēšanas drošinātāji jāiestata, izmantojot šādu avrdude komandu (jāinstalē WinAVR). Aizstājiet kom portu un programmētāja tipu. Vienkāršākais ir izmantot Arduino kā ISP programmētāju. Sīkāku informāciju meklējiet 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 iestatījumi atspējo sāknēšanas ielādētāja atiestatīšanas vektoru, tāpēc kods nekavējoties sākas no galvenā koda vektora. Drošinātāji ir iestatīti arī ārējam 16MHz oscilatoram. Pēc sadedzināšanas jūs vairs nevarēsit programmēt mikroshēmu, kamēr kristāls un kondensatori nav pievienoti, kā parādīts shēmā, jo noklusējuma iekšējais oscilators ir atspējots ar šiem drošinātāju iestatījumiem.

DS3231 Arduino bibliotēka ir jāinstalē, lai nodrošinātu piekļuvi RTC pulksteņa kārtībai. Bibliotēkā ir jāiespējo Unix laika atbalsts, DS3231 RTC bibliotēkas config.h failā nekomentējot rindu "#define CONFIG_UNIXTIME". Unix laiks tiek izmantots kā nejaušo skaitļu ģeneratora sākums, lai vārdu un frāžu secības neatkārtotos katru reizi, kad pulkstenis tiek ieslēgts.

Pats DS3231 RTC pulksteņa modulis ir izplatīta šķirne, ko pārdod ebay. Modulis ir parādīts iepriekš. Meklējiet tipu ar uzlādējamu rezerves akumulatoru.

Papildus ieprogrammētam mikrokontrolleram ir nepieciešams arī iegūt un programmēt Microchip 24LC512 sērijas EEPROM ar Akafugu vārdu datubāzi un frāžu sarakstu. Tas tiek darīts, izmantojot vienkāršu shēmu, kas veidota, izmantojot Arduino, un SD karti, kas formatēta kā FAT32, un tajā ir fails output2.dat. Skice nolasa datus no SD kartes un ieraksta tos EEPROM. Sīkāka informācija atrodama šajās divās saitēs. Šajā instrukcijā noteikti izmantojiet programmēšanas skici un datu failu, jo saitei Akafugu trūkst frāžu datu bāzes. Izpildiet saitēs norādīto procedūru.

Akafugu FLW datu bāzes pārskats

Norādījumi par datu faila ierakstīšanu EEPROM

3. darbība: pulksteņa iestatīšana un vadība

Pulksteņa iestatīšanai tiek izmantotas šādas pogu kombinācijas:

Stundu iestatīšana: normālas darbības laikā turiet nospiestu pogu 1.

Minūtes iestatīšana: normālas darbības laikā turiet pogu 2. Otrais tiek automātiski atiestatīts uz "00"

Sekundes tiek atiestatītas uz nulli: normālas darbības laikā turiet pogu 3, atlaidiet, lai sinhronizētu ar jaunas minūtes sākumu

Iestatīt mēnesi: normālas darbības laikā turiet kopā pogas 1 un 2

Iestatīt datumu: normālas darbības laikā turiet kopā pogas 1 un 3

Iestatīt gadu: normālas darbības laikā turiet kopā pogas 2 un 3

Iestatiet nedēļas dienu: normālas darbības laikā turiet kopā pogas 1, 2 un 3

Pirmoreiz ieslēdzot ierīci, darbības vārdi tiek ātri parādīti pirms vārdu ģenerēšanas sākuma:

"EE" nozīmē I2C ārējo EEPROM, kas satur Akafugu vārdu datubāzi un frāžu sarakstu.

"NOEE" nozīmē, ka EEPROM netika atklāts. Ierīce atgriežas pie nejaušas vārdu ģenerēšanas un bez frāžu parādīšanas.

"CK" nozīmē, ka laiks un datums tiek parādīti pēc 5 secīgu vārdu parādīšanas.

"NOCK" nozīmē, ka laiks/datums ir izslēgts. Pastāvīgi tiek parādīta nepārtraukta vārdu plūsma, ko ik pēc 10 minūtēm pārtrauc frāze.

"RND" nozīmē nejaušu vārdu ģenerēšanas režīmu

"REL" nozīmē relāciju "Akafugu" vārdu datu bāzes ģenerēšanas režīmu

Lai mainītu un saglabātu režīmus, atvienojiet pulksteni un pievienojiet to atpakaļ, turot vienu no norādītajām pogām. Pēc tam atlaidiet pogu. Jaunais režīms tiek saglabāts un parādīts:

1. poga: pārslēdziet un saglabājiet izlases vai relāciju vārdu ģenerēšanas režīmu

2. poga: ieslēdziet vai izslēdziet datuma/laika displeju pēc 5 vārdiem pēc kārtas

Ieteicams: