Obsah:

Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami: 3 kroky
Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami: 3 kroky

Video: Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami: 3 kroky

Video: Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami: 3 kroky
Video: Котенка просто оставили на обочине. Котенок по имени Роки 2024, Júl
Anonim
Image
Image
Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami
Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami
Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami
Hodiny so štyrmi písmenami s generátorom slova Akafugu a inšpiratívnymi frázami

Toto je moja verzia Štyrmenných slovných hodín, nápadu, ktorý vznikol už v 70. rokoch minulého storočia. Hodiny zobrazujú sériu štvorpísmenových slov, ktoré sú generované buď z algoritmu generátora náhodných slov, alebo z databázy príbuzných štvorpísmenových slov.

Táto verzia používa na zobrazenie slov a času modernejšie 14-segmentové LED displeje a mikrokontrolér Atmega 328p. Podporované sú dva režimy generovania slov. Prvý používa algoritmus na generovanie štvorpísmenových skupín slov, ktoré pravdepodobne budú skutočnými slovami, podobne ako originál. Každé nasledujúce slovo nesúvisí s predchádzajúcim. Druhý režim používa databázu relačných slov z „Edinburského asociatívneho tezauru“, dokumentu slovných asociácií založených na reakciách ľudí na položenie prvého slova, ktoré vám príde na myseľ po tom, ako im zadáte počiatočné slovo, a potom pokračuje v procese so slovom odpovede. Databázu prispôsobila na generovanie štyroch písmen slovo spoločnosť Akafugu Corporation, ktorá vytvorila dátový súbor s veľkosťou 57 kB, ktorý je uložený v externej EEPROM na spracovanie spoločnosťou Atmega. Výsledkom je, že hodiny používajú unixový čas ako náhodné semeno a generujú reťazec súvisiacich štvorpísmenových slov na základe ľudských reakcií, nie nejakého algoritmu.

Poznámka: Databáza slov Akafugu obsahuje niektoré sexuálne explicitné a potenciálne urážlivé slová. Ak vám to vadí, zapnite prosím režim náhodného slova. Môže to tiež generovať urážlivé slová, ale prinajmenšom sa nezobrazia toky súvisiacich urážlivých slov!

„Edinburgh Associative Thesaurus“bol zostavený na základe reakcií ľudí žijúcich v Anglicku na začiatku 60 -tych rokov. Slovo vzťahy rozhodne odráža túto zaujatosť! Napríklad za slovom „NAJLEPŠÍ“často nasleduje „PETE“. Neexistuje zrejmé prepojenie, pokiaľ človek nevie, že Pete Best bol pôvodným bubeníkom skupiny Beatles na začiatku 60. rokov! Ďalších predsudkov voči britskej kultúre 60. rokov je mnoho. Myslím, že je veľmi zaujímavé sledovať to!

Zariadenie tiež obsahuje I2C adresovateľný modul hodín reálneho času so zálohovaním nabíjateľnej batérie. Hodiny zobrazujú 5 slov z jedného z dvoch voliteľných algoritmov a potom zobrazujú čas, dátum, deň v týždni a rok. Hodiny a prevádzkový režim sa nastavujú pomocou troch tlačidiel. Prevádzkové režimy sú uložené v energeticky nezávislej pamäti EEPROM a prežijú reset alebo výpadok napájania. RTC pokračuje v prevádzke približne rok po odpojení napájania s extrémnou presnosťou kompenzovanou teplotou. Po obnovení napájania sa automaticky zobrazí správny čas.

Ďalšou funkciou je 107 citátov o čase, ktoré sa náhodne zobrazujú každých 10 minút. Tieto citáty sa posúvajú sprava doľava cez štyri postavy a poskytujú časté povzbudenie a inšpiráciu! Ukladanie fráz je v externej EEPROM s databázou slov Akafugu. Databáza zaberá iba 57 kB zo 64 kB dostupných v zariadení, takže zostáva priestor pre 107 fráz. Fráza „chvály“sa vždy zobrazí ako prvá pri prvom zapnutí hodín v nasledujúcom 10 -minútovom intervale.

Jednotka používa bežné katódové 14-segmentové displeje (2 katódy pre každú číslicu), ktoré sú multiplexované servisnou rutinou prerušenia časovača, čo má za následok obnovenie štvorznakového displeja pri 100 Hz. Kedykoľvek ISR beží, vypne predchádzajúci pol znak, vyhľadá 7 zo 14 segmentov pre jeden zo štyroch znakov, zapne zodpovedajúce kolíky segmentov a uzemní zodpovedajúcu katódu. Displeje sú trochu neobvyklé, ale mal som veľký prebytok, ktorý som chcel použiť. Duálna spoločná katóda znižuje počet pinov potrebných na jednu číslicu z 15 na 9. Na modeli Atmega 328p je pinov tak akurát, aby umožňovali priamy pohon displeja bez posuvného registra.

TO-DO: Upravte kód tak, aby používal 4-znakový alfanumerický modul LED Adafruit

Krok 1: História

História
História
História
História
História
História
História
História

Pôvodné hodiny FLW boli skonštruované s veľkými alfanumerickými prebytočnými trubicami Burroughs B7971, ktoré boli zachytené z vyradených zobrazovacích panelov s burzami. Tieto sú podobné časovým numerickým trubiciam, ale na vytvorenie všetkých znakov ASCII bol použitý 14-segmentový displej. Hodiny používali diskrétnu logiku a vyberali písmená z tabuľky tak, aby tvorili náhodné štyri kombinácie písmen, ktoré boli vážené tak, že pravdepodobne vytvoria skutočné slová.

Algoritmus V pôvodnom modeli z roku 1972 sa v každej polohe zobrazujú iba určité písmená. Bola vykonaná ručne tabuľková analýza niekoľkých stoviek štvorpísmenových slov a bola spočítaná frekvencia písmen v každej zo štyroch pozícií. Bolo použitých desať najčastejších písmen z každej polohy, okrem druhej polohy, ktorá obsahovala iba osem písmen.

Pre každú pozíciu voľne bežal jednoduchý počítadlo BCD (0-9) (74LS90 IC) a počítadlo bolo zachytené a držané približne raz za niekoľko sekúnd až raz za minútu, v závislosti od nastavenia rýchlosti. Protisnímok bol potom aplikovaný na diódovú dekódovaciu maticu (pomocou asi 150 diód) na vytvorenie znakov.

Pretože pre každú pozíciu bolo vybratých iba desať (alebo osem) najbežnejších písmen, bez ohľadu na kombinácie písmen, môže sa objaviť mnoho neslov, napríklad FRLR, LREE, LLLL atď.

Všimnite si toho, že druhá pozícia mala iba osem písmen, pretože deviate a desiate písmeno vo vzorke mali proporcionálne nízku frekvenciu, zatiaľ čo prvé a druhé písmeno mali extrémne vysokú frekvenciu-takže boli zdvojené. 10 x 8 x 10 x 10 = 8 000 permutácií. Písmená, ktoré boli naprogramované do prvého modelu z roku 1973, sú zobrazené na jednom z vyššie uvedených obrázkov.

Krok 2: Kód a schéma

Kód a schéma
Kód a schéma
Kód a schéma
Kód a schéma
Kód a schéma
Kód a schéma
Kód a schéma
Kód a schéma

Schéma je priložená.

Hodiny je možné zostaviť pomocou akéhokoľvek Arduina založeného na Atmega 328p.

Na použitie so samostatným procesorom Atmega 328p, ako je znázornené na schéme, je potrebné na programovanie mikrokontroléra pomocou Arduino IDE použiť programátor ISP. Po programovaní by ste mali poistky nastaviť pomocou nasledujúceho príkazu avrdude (musí byť nainštalovaný WinAVR). Nahraďte typ portu a programátora. Najľahšie je použiť Arduino ako programátora ISP. Podrobnosti získate na Googli.

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

Tieto nastavenia deaktivujú vektor resetovania bootloadera, takže kód sa okamžite spustí z hlavného vektora kódu. Poistky sú nastavené aj pre externý 16MHz oscilátor. Po spálení nebudete môcť čip znova naprogramovať, kým nie sú kryštál a kondenzátory prepojené podľa schémy, pretože pri týchto nastaveniach poistiek nie je predvolený interný oscilátor deaktivovaný.

Na prístup k rutinám hodín RTC musí byť nainštalovaná knižnica DS3231 Arduino. V knižnici je potrebné povoliť podporu unixového času odkomentovaním riadka „#define CONFIG_UNIXTIME“v súbore config.h knižnice DS3231 RTC. Unixový čas sa používa ako zárodok pre generátor náhodných čísel, takže sekvencie slov a fráz sa nebudú opakovať pri každom zapnutí hodín.

Samotný hodinový modul DS3231 RTC je bežnou odrodou predávanou na ebay. Modul je znázornený vyššie. Vyhľadajte typ s nabíjateľnou záložnou batériou.

Okrem naprogramovaného mikrokontroléra je potrebné získať a naprogramovať aj sériovú EEPROM Microchip 24LC512 s databázou slov a zoznamom fráz Akafugu. To sa deje pomocou jednoduchého obvodu postaveného na Arduine a karty SD naformátovanej ako FAT32 so súborom output2.dat. Skica načíta údaje z karty SD a zapíše ich do pamäte EEPROM. Podrobnosti nájdete v nasledujúcich dvoch odkazoch. Uistite sa, že použijete programovací náčrt a súbor s údajmi v tomto návode, pretože v tomto prepojení na odkaz Akafugu chýba databáza fráz. Postupujte podľa pokynov v odkazoch.

Prehľad databázy Akafugu FLW

Pokyny na napaľovanie dátového súboru do EEPROM

Krok 3: Nastavenie a ovládanie hodín

Na nastavenie hodín sa používajú nasledujúce kombinácie tlačidiel:

Nastavená hodina: Počas normálnej prevádzky podržte tlačidlo 1.

Nastavená minúta: Počas normálnej prevádzky podržte tlačidlo 2. Druhé sa automaticky resetujú na „00“

Sekundy vynulované: Počas normálnej prevádzky podržte tlačidlo 3, uvoľnením synchronizujete so začiatkom novej minúty

Nastaviť mesiac: Počas normálnej prevádzky podržte tlačidlá 1 a 2 spolu

Nastaviť dátum: Počas normálnej prevádzky podržte tlačidlá 1 a 3 spolu

Nastaviť rok: Počas normálnej prevádzky podržte tlačidlá 2 a 3 spolu

Nastavte deň v týždni: Počas normálnej prevádzky podržte tlačidlá 1, 2 a 3 spolu

Keď je jednotka prvýkrát zapnutá, pred spustením generovania slov sa rýchlo zobrazia prevádzkové režimy:

„EE“znamená, že bola zistená externá EEPROM I2C obsahujúca databázu slov a zoznam fráz Akafugu.

„NOEE“znamená, že EEPROM nebola zistená. Jednotka sa vráti k generovaniu náhodných slov a bez zobrazovania fráz.

„CK“znamená, že čas a dátum sa zobrazujú po zobrazení 5 po sebe nasledujúcich slov.

„NOCK“znamená, že čas/dátum je vypnutý. Neustále sa zobrazuje nepretržitý prúd slov, ktorý každých 10 minút preruší fráza.

„RND“znamená, že sa používa režim generovania náhodných slov

„REL“znamená, že sa používa režim generovania relačnej databázy slov „Akafugu“

Ak chcete zmeniť a uložiť režimy, odpojte hodiny a znova ich zapojte, pričom držte jedno z uvedených tlačidiel. Potom tlačidlo uvoľnite. Nový režim sa uloží a zobrazí:

Tlačidlo 1: Prepína a ukladá režim generovania náhodných alebo relačných slov

Tlačidlo 2: Zapína alebo vypína zobrazenie dátumu/času po 5 po sebe nasledujúcich slovách

Odporúča: