Tartalomjegyzék:

Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel: 3 lépés
Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel: 3 lépés

Videó: Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel: 3 lépés

Videó: Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel: 3 lépés
Videó: Négybetűs szavak | Aranyosi Péter önálló estje 2024, Július
Anonim
Image
Image
Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel
Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel
Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel
Négybetűs szóóra Akafugu szógenerátorral és inspiráló kifejezésekkel

Ez az én verzióm a Négybetűs Szó Clock -ról, egy ötlet, amely az 1970 -es években született. Az óra négybetűs szavak sorozatát jeleníti meg, amelyek vagy véletlenszerű szógenerátor algoritmusból, vagy a kapcsolódó négybetűs szavak adatbázisából generálódnak.

Ez a verzió modernebb 14 szegmenses LED-kijelzőket és Atmega 328p mikrokontrollert használ a szavak és az idő megjelenítésére. Két szógeneráló mód támogatott. Az első algoritmus segítségével négybetűs szócsoportokat hoz létre, amelyek valószínűleg eredeti szavak, az eredetihez hasonlóan. Minden egymást követő szó nem kapcsolódik az előzőhöz. A második mód az "Edinburgh Associative Thesaurus" relációs szóadatbázisát használja, amely a szó asszociációk dokumentuma, amely az emberek azon válaszain alapul, amelyek az emberek azon válaszaira épülnek, amelyek az első szó megkérdezésére jutnak, miután magszót adtak nekik, majd folytatják a folyamatot a válasz szóval. Az adatbázist az Akafugu Corporation négybetűs szó generálására adaptálta, és létrehozott egy 57 kbyte-os adatfájlt, amelyet egy külső EEPROM-ban tárol az Atmega. Az eredmény az, hogy az óra a Unix időt használja véletlenszerű vetőmagként, és a hozzá tartozó négybetűs szavak sorozatát generálja emberi válaszok, nem pedig valamilyen algoritmus alapján.

Megjegyzés: Az Akafugu szó adatbázis néhány szexuális jellegű és potenciálisan sértő szót tartalmaz. Ha ez zavarja, kapcsolja be a véletlenszerű szómódot. Ez néhány sértő szót is generálhat, de legalább nem jelenít meg kapcsolódó sértő szavakat!

Az "Edinburgh -i asszociatív tezauruszt" a 60 -as évek elején Angliában élő emberek válaszai alapján állítottuk össze. A kapcsolatok szó határozottan tükrözi ezt az elfogultságot! Például a "LEGJOBB" szót gyakran "PETE" követi. Nincs nyilvánvaló kapcsolat, hacsak nem tudjuk, hogy Pete Best volt a Beatles eredeti dobosa a 60 -as évek elején! A 60 -as évek brit kultúrája iránt más elfogultságok vannak. Szerintem nagyon érdekes nézni!

A készülék tartalmaz egy I2C címezhető Valós idejű óra modult is, újratölthető akkumulátorral. Az óra 5 szót jelenít meg a két választható algoritmus közül, majd megjeleníti az időt, a dátumot, a hét napját és az évet. Az óra és az üzemmódok három nyomógombos kapcsolóval állíthatók be. Az üzemmódok nem felejtő EEPROM-ban vannak tárolva, és túlélik az alaphelyzetbe állítást vagy az áramkimaradást. Az RTC az áramellátás megszüntetése után még körülbelül egy évig működik, extrém hőmérséklet-kompenzált pontossággal. Az áramellátás helyreállításakor automatikusan megjelenik a helyes idő.

Egy további funkció a 107 idézet az időről, amelyek véletlenszerűen jelennek meg 10 percenként. Ezek az idézetek jobbról balra görgetik a négy karaktert, gyakran bátorítva és inspirálva! A kifejezések tárolása a külső EEPROM -ban, az Akafugu szó adatbázisban található. Az adatbázis a készüléken rendelkezésre álló 64 kbyte -ból mindössze 57 kbyte -ot foglal el, és helyet hagy a 107 kifejezésnek. Mindig egy "kérkedés" kifejezés jelenik meg először, amikor az órát a következő 10 perces időközönként először bekapcsolják.

A készülék közös, 14 szegmenses katódos kijelzőket használ (minden számjegyhez 2 katód), amelyeket egy időzítő megszakítási szolgáltatási rutin multiplexel, ami azt eredményezi, hogy a négy karakteres kijelző 100 Hz-en frissül. Amikor az ISR fut, kikapcsolja az előző félkaraktert, lehívja a 14 szegmensből 7-et a négy karakter egyikére, bekapcsolja a megfelelő szegmenscsapokat és földeli a megfelelő katódot. A kijelzők kissé ritkák, de volt egy nagy felesleg, amit használni akartam. A kettős közös katód 15-ről 9-re csökkenti az egy számjegyhez szükséges csapok számát. Az Atmega 328p-n éppen annyi tű található, hogy lehetővé teszi a kijelző közvetlen meghajtását váltásregiszter nélkül.

TEENDŐ: Módosítsa a kódot az Adafruit 4 karakteres alfanumerikus LED-moduljának használatához

1. lépés: Előzmények

Történelem
Történelem
Történelem
Történelem
Történelem
Történelem
Történelem
Történelem

Az eredeti FLW órát nagyméretű Burroughs B7971 alfanumerikus neoncsövekből építették fel, amelyeket a leszerelt tőzsdei kijelző táblákról szedtek össze. Ezek hasonlóak az akkori numerikus nixie csövekhez, de 14 szegmenses kijelzőt használtak az összes ASCII karakter létrehozásához. Az óra diszkrét logikát használt, és a táblázatból betűket választott ki, hogy véletlenszerű négybetűs kombinációkat alkosson, amelyek súlya valószínűleg valódi szavakat eredményez.

Az algoritmussal Az eredeti 1972 -es modellben csak bizonyos betűk jelennek meg minden pozícióban. Több száz négybetűs szó kézi táblázatos elemzését végeztük el, és a négy pozíció mindegyikében számoltuk a betűk gyakoriságát. Minden pozíció tíz leggyakoribb betűjét használták, kivéve a második pozíciót, amely csak nyolc betűt tartalmazott.

Minden pozíciónál egy egyszerű BCD (0-9) számláló (74LS90 IC) szabadon futott, és a számlálást rögzítették, és körülbelül néhány másodpercenként-percenként egyszer tartották, a sebesség beállításától függően. A számláló pillanatképét ezután egy dióda dekódoló mátrixra (kb. 150 dióda segítségével) alkalmazták a karakterek kialakítására.

Mivel minden pozícióhoz csak a tíz (vagy nyolc) leggyakoribb betűt választottuk ki, a betűkombinációktól függetlenül, sok nem szó jelenhet meg, például FRLR, LREE, LLLL stb.

Ne feledje, hogy a második pozícióban csak nyolc betű volt, mivel a minta kilencedik és tizedik betűje arányosan alacsony volt, míg az első és a második rendkívül magas volt, így megduplázódtak. Így 10 x 8 x 10 x 10 = 8000 permutáció. Az első 1973 -as modellbe beprogramozott betűk a fenti képek egyikén láthatók.

2. lépés: Kód és vázlat

Kód és vázlat
Kód és vázlat
Kód és vázlat
Kód és vázlat
Kód és vázlat
Kód és vázlat
Kód és vázlat
Kód és vázlat

A vázlat mellékelve.

Az óra bármilyen Atmega 328p alapú Arduino segítségével készülhet.

Az önálló Atmega 328p -vel való használathoz, ahogyan az a rajzon látható, ISP programozót kell használni a mikrokontroller programozásához az Arduino IDE -n keresztül. A programozás után a biztosítékokat a következő avrdude paranccsal kell beállítani (a WinAVR -t telepíteni kell). Cserélje ki a com portot és a programozó típust. A legegyszerűbb az Arduino használata ISP programozóként. Google a részletekért.

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

Ezek a beállítások letiltják a rendszerbetöltő visszaállítási vektorát, így a kód azonnal a fő kódvektorból indul. A biztosítékok külső 16 MHz -es oszcillátorhoz is be vannak állítva. Az égetés után nem tudja újra programozni a chipet, amíg a kristály és a kondenzátorok nincsenek csatlakoztatva a vázlat szerint, mivel az alapértelmezett belső oszcillátor le van tiltva ezekkel a biztosítékbeállításokkal.

A DS3231 Arduino könyvtárat telepíteni kell, hogy hozzáférést biztosítson az RTC óra rutinokhoz. Engedélyeznie kell a Unix idő támogatását a könyvtárban a "#define CONFIG_UNIXTIME" sor megjegyzésének megszüntetésével a DS3231 RTC könyvtár config.h fájljában. A Unix időt a véletlenszám -generátor vetőmagjaként használják, így a szó- és kifejezéssorok nem ismétlődnek meg minden alkalommal, amikor az órát bekapcsolják.

Maga a DS3231 RTC órajelmodell az ebayen elterjedt fajta. A modul a fenti ábrán látható. Keresse meg a típust újratölthető tartalék akkumulátorral.

A programozott mikrokontroller mellett szükség van egy Microchip 24LC512 soros EEPROM beszerzésére és programozására az Akafugu szóadatbázissal és kifejezéslistával. Ez egy egyszerű áramkör segítségével történik, amely Arduino -val épült, és FAT32 formátumú SD -kártya, rajta a output2.dat fájllal. Egy vázlat kiolvassa az adatokat az SD -kártyáról, és beírja az EEPROM -ba. Részletek az alábbi két linken találhatók. Feltétlenül használja a programozási vázlatot és az adatfájlt ebben az utasításban, mivel az Akafugu linken található kifejezésből hiányzik a kifejezésadatbázis. Kövesse a linkeken található eljárást.

Akafugu FLW adatbázis áttekintése

Utasítások az adatfájl EEPROM -ba történő írásához

3. lépés: Az óra beállítása és vezérlése

A következő gombkombinációk használhatók az óra beállításához:

Óra beállítása: Tartsa lenyomva az 1 gombot normál működés közben.

Perc beállítása: Tartsa lenyomva a 2 gombot normál működés közben. A második automatikusan visszaáll "00" -ra

Másodpercek nullázása: Tartsa lenyomva a 3 gombot normál működés közben, engedje fel, hogy szinkronizáljon az új perc kezdetével

Hónap beállítása: Tartsa együtt az 1. és 2. gombot normál működés közben

Dátum beállítása: Tartsa együtt az 1. és 3. gombot normál működés közben

Év beállítása: Tartsa együtt a 2. és 3. gombot normál működés közben

A hét napjának beállítása: Tartsa együtt az 1, 2 és 3 gombokat normál működés közben

A készülék első bekapcsolásakor az üzemmódok gyorsan megjelennek, mielőtt a szó generálódik:

"EE": az I2C külső EEPROM, amely tartalmazza az Akafugu szóadatbázist és a kifejezéslistát.

A "NOEE" azt jelenti, hogy az EEPROM nem észlelhető. Az egység visszatér a véletlenszerű szógeneráláshoz, és nincs kifejezés.

A "CK" azt jelenti, hogy az idő és a dátum 5 egymást követő szó megjelenítése után jelenik meg.

A "NOCK" azt jelenti, hogy az idő/dátum ki van kapcsolva. Folyamatos szavak jelennek meg, amelyeket 10 percenként megszakít egy kifejezés.

Az "RND" azt jelenti, hogy véletlenszerű szógeneráló módot használnak

A "REL" azt jelenti, hogy a relációs "Akafugu" szó adatbázis generációs módot használják

Az üzemmódok megváltoztatásához és mentéséhez húzza ki az órát, és dugja vissza, miközben lenyomva tartja a jelzett gombok egyikét. Ezután engedje el a gombot. Az új mód eltárolódik és megjelenik:

1. gomb: Véletlen vagy relációs szógeneráló mód váltása és mentése

2. gomb: A dátum/idő megjelenítésének be- vagy kikapcsolása 5 egymást követő szó után

Ajánlott: