Obsah:

Hodiny se čtyřmi písmeny s generátorem slova Akafugu a inspirativními frázemi: 3 kroky
Hodiny se čtyřmi písmeny s generátorem slova Akafugu a inspirativními frázemi: 3 kroky

Video: Hodiny se čtyřmi písmeny s generátorem slova Akafugu a inspirativními frázemi: 3 kroky

Video: Hodiny se čtyřmi písmeny s generátorem slova Akafugu a inspirativními frázemi: 3 kroky
Video: Klauzurní film - Kráska Láska 2024, Červenec
Anonim
Image
Image
Hodiny se čtyřmi písmeny Word s generátorem slova Akafugu a inspirativními frázemi
Hodiny se čtyřmi písmeny Word s generátorem slova Akafugu a inspirativními frázemi
Hodiny se čtyřmi písmeny Word s generátorem slova Akafugu a inspirativními frázemi
Hodiny se čtyřmi písmeny Word s generátorem slova Akafugu a inspirativními frázemi

Toto je moje verze čtyřpísmenových slovních hodin, nápadu, který vznikl už v 70. letech minulého století. Hodiny zobrazují sérii čtyřpísmenných slov, která jsou generována buď z algoritmu generátoru náhodných slov, nebo z databáze souvisejících čtyřpísmenných slov.

Tato verze používá k zobrazení slov a času modernější 14segmentové LED displeje a mikrokontrolér Atmega 328p. Podporovány jsou dva režimy generování slov. První používá algoritmus ke generování čtyřpísmenných skupin slov, která jsou pravděpodobně skutečná slova, podobná originálu. Každé následující slovo nesouvisí s předchozím. Druhý režim používá relační databázi slov z „edinburského asociativního tezauru“, dokumentu asociací slov založených na reakcích lidí na dotaz na první slovo, které vám přijde na mysl poté, co jim dáte počáteční slovo, a poté pokračuje v procesu se slovem odpovědi. Databáze byla přizpůsobena generování čtyřpísmenných slov společností Akafugu Corporation, která vytvořila datový soubor 57 kB, který je uložen v externí EEPROM pro zpracování Atmega. Výsledkem je, že hodiny používají unixový čas jako náhodné semeno a generují řetězec přidružených čtyřpísmenných slov na základě lidských reakcí, nikoli nějakého algoritmu.

Poznámka: Databáze slov Akafugu obsahuje některá sexuálně explicitní a potenciálně urážlivá slova. Pokud vám to vadí, zapněte prosím režim náhodných slov. Může to také generovat urážlivá slova, ale přinejmenším nezobrazí proudy souvisejících urážlivých slov!

„Edinburgh asociativní tezaurus“byl sestaven na základě odpovědí lidí žijících v Anglii na počátku 60. let. Slovo vztahy rozhodně odráží tuto předpojatost! Například za slovem „NEJLEPŠÍ“často následuje „PETE“. Neexistuje zjevné spojení, pokud člověk neví, že Pete Best byl původní bubeník Beatles na počátku 60. let! Další předpojatost vůči britské kultuře 60. let je hojná. Myslím, že je velmi zajímavé to sledovat!

Zařízení také obsahuje I2C adresovatelný modul hodin reálného času se zálohou dobíjecí baterie. Hodiny zobrazují 5 slov z jednoho ze dvou volitelných algoritmů a poté zobrazují čas, datum, den v týdnu a rok. Hodiny a provozní režimy se nastavují pomocí tří tlačítkových spínačů. Provozní režimy jsou uloženy v energeticky nezávislé paměti EEPROM a přežijí reset nebo výpadek napájení. RTC pokračuje v provozu přibližně rok po odpojení napájení s extrémní přesností kompenzovanou teplotou. Po obnovení napájení se automaticky zobrazí správný čas.

Přidanou funkcí je 107 citací o čase, které se zobrazují náhodně každých 10 minut. Tyto citáty se posouvají zprava doleva přes čtyři postavy a poskytují časté povzbuzení a inspiraci! Úložiště frází je v externí EEPROM s databází slov Akafugu. Databáze zabírá pouze 57 kB ze 64 kB dostupných v zařízení, takže zbývá místo pro 107 frází. Fráze „chvála“se vždy zobrazí jako první při prvním zapnutí hodin v dalším 10minutovém intervalu.

Přístroj používá běžné katodové 14segmentové displeje (2 katody pro každou číslici), které jsou multiplexovány rutinou služby časového přerušení, což má za následek obnovení čtyřznakového displeje na 100 Hz. Kdykoli ISR běží, vypne předchozí poloviční znak, načte 7 ze 14 segmentů pro jeden ze čtyř znaků, zapne odpovídající kolíky segmentů a uzemní odpovídající katodu. Displeje jsou trochu neobvyklé, ale měl jsem velký přebytek, který jsem chtěl použít. Duálně společná katoda snižuje počet pinů potřebných na číslici z 15 na 9. Kolíků Atmega 328p je právě tolik, aby umožňovaly přímý pohon displeje bez posuvného registru.

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

Krok 1: Historie

Dějiny
Dějiny
Dějiny
Dějiny
Dějiny
Dějiny
Dějiny
Dějiny

Původní hodiny FLW byly postaveny s velkými alfanumerickými přebytečnými trubičkami Burroughs B7971 zachycenými z vyřazených zobrazovacích desek burzovních lístků. Ty jsou podobné tehdejším numerickým nixie elektronkám, ale pro vytvoření všech znaků ASCII byl použit 14segmentový displej. Hodiny používaly diskrétní logiku, vybíraly písmena z tabulky a vytvářely náhodné kombinace čtyř písmen, u nichž byla vážena pravděpodobnost, že budou produkovat skutečná slova.

Algoritmus V původním modelu z roku 1972 se v každé pozici objevují pouze určitá písmena. Byla provedena ručně tabelovaná analýza několika stovek čtyřpísmenných slov a byla spočítána četnost písmen v každé ze čtyř pozic. Bylo použito deset nejčastějších písmen z každé pozice, kromě druhé pozice, která obsahovala pouze osm písmen.

Pro každou pozici běžel jednoduchý čítač BCD (0-9) (74LS90 IC) a počet byl zachycen a držen přibližně jednou za několik sekund až jednou za minutu, v závislosti na nastavení rychlosti. Snímek snímku byl poté aplikován na matici dekódování diod (pomocí asi 150 diod) pro vytvoření znaků.

Protože pro každou pozici bylo vybráno pouze deset (nebo osm) nejběžnějších písmen, bez ohledu na kombinace písmen, může se objevit mnoho nesloví, např. FRLR, LREE, LLLL atd.

Všimněte si, že druhá pozice měla pouze osm písmen, protože deváté a desáté písmeno ve vzorku mělo poměrně nízkou frekvenci, zatímco první a druhé mělo extrémně vysokou frekvenci-takže byly zdvojnásobeny. Tedy 10 x 8 x 10 x 10 = 8000 permutací. Písmena, která byla naprogramována do prvního modelu z roku 1973, jsou zobrazena na jednom z výše uvedených obrázků.

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 přiloženo.

Hodiny lze sestavit pomocí libovolného Arduina založeného na Atmega 328p.

Pro použití se samostatným Atmega 328p, jak je znázorněno na schématu, musí být k programování mikrokontroléru přes Arduino IDE použit programátor ISP. Po programování by měly být pojistky nastaveny pomocí následujícího příkazu avrdude (musí být nainstalován WinAVR). Nahraďte typ portu a programátoru. Nejjednodušší je použít Arduino jako programátora ISP. Podrobnosti získáte na Googlu.

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

Tato nastavení deaktivují resetovací vektor bootloaderu, takže kód okamžitě začíná z hlavního vektorového kódu. Pojistky jsou také nastaveny pro externí 16MHz oscilátor. Po vypálení nebudete moci čip znovu naprogramovat, dokud nejsou krystal a kondenzátory připojeny, jak ukazuje schéma, protože při tomto nastavení pojistek není deaktivován výchozí interní oscilátor.

K přístupu k rutinám hodin RTC je nutné nainstalovat knihovnu DS3231 Arduino. Je nutné povolit unixovou časovou podporu v knihovně odkomentováním řádku „#define CONFIG_UNIXTIME“v souboru config.h knihovny DS3231 RTC. Unixový čas se používá jako zárodek generátoru náhodných čísel, takže se sekvence slov a frází nebudou opakovat při každém zapnutí hodin.

Samotný hodinový modul DS3231 RTC je běžnou odrůdou prodávanou na ebay. Modul je znázorněn výše. Vyhledejte typ s dobíjecí záložní baterií.

Kromě naprogramovaného mikrokontroléru je také nutné získat a naprogramovat sériovou EEPROM Microchip 24LC512 s databází slov a seznamem frází Akafugu. To se provádí pomocí jednoduchého obvodu vytvořeného pomocí Arduina a karty SD naformátované jako FAT32 se souborem output2.dat. Skica načte data z karty SD a zapíše je do EEPROM. Podrobnosti najdete na následujících dvou odkazech. Ujistěte se, že používáte programovou skicu a datový soubor v tomto Instructable, protože ten na odkazu Akafugu postrádá databázi frází. Postupujte podle pokynů v odkazech.

Přehled databáze Akafugu FLW

Pokyny pro vypalování datového souboru do EEPROM

Krok 3: Nastavení a ovládání hodin

K nastavení hodin se používají následující kombinace tlačítek:

Nastavení hodin: Během normálního provozu podržte tlačítko 1.

Nastavení minut: Během normálního provozu podržte tlačítko 2. Druhé se automaticky resetují na „00“

Sekundy resetovány na nulu: Během normálního provozu podržte tlačítko 3, uvolněním synchronizujete se začátkem nové minuty

Nastavit měsíc: Během normálního provozu podržte tlačítka 1 a 2 pohromadě

Nastavit datum: Během normálního provozu podržte tlačítka 1 a 3 pohromadě

Nastavit rok: Během normálního provozu podržte tlačítka 2 a 3 pohromadě

Nastavit den v týdnu: Během normálního provozu podržte tlačítka 1, 2 a 3 pohromadě

Když je jednotka poprvé zapnuta, provozní režimy se rychle zobrazí před zahájením generování slov:

„EE“znamená, že byla detekována externí EEPROM I2C obsahující databázi slov Akafugu a seznam frází.

„NOEE“znamená, že nebyla detekována EEPROM. Jednotka se vrátí k generování náhodných slov a bez zobrazení frází.

„CK“znamená čas a datum, které se zobrazí po zobrazení 5 po sobě jdoucích slov.

„NOCK“znamená, že čas/datum je vypnutý. Neustále se zobrazuje nepřetržitý proud slov, který každých 10 minut přeruší fráze.

„RND“znamená, že se používá režim generování náhodných slov

„REL“znamená, že se používá režim generování relační databáze slov „Akafugu“

Chcete -li změnit a uložit režimy, odpojte hodiny a znovu je zapojte, zatímco držíte jedno z uvedených tlačítek. Poté tlačítko uvolněte. Nový režim se uloží a zobrazí:

Tlačítko 1: Přepíná a ukládá režim generování náhodných nebo relačních slov

Tlačítko 2: Zapíná nebo vypíná zobrazení data/času po 5 po sobě jdoucích slovech

Doporučuje: