Orodha ya maudhui:

Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji: 3 Hatua
Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji: 3 Hatua

Video: Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji: 3 Hatua

Video: Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji: 3 Hatua
Video: DEMU ALIWA NYUMA HADI KINYESI CHATOKA (ANGALIA VIDEO HADI MWISHO) 2024, Novemba
Anonim
Image
Image
Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji
Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji
Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji
Saa Nne ya Neno la Saa Pamoja na Jenereta ya Neno la Akafugu na Misemo ya Uhamasishaji

Hii ndio toleo langu la Saa Nne ya Neno Clock, wazo ambalo lilianzia miaka ya 1970. Saa huonyesha safu ya maneno ya herufi nne ambayo hutolewa kutoka kwa algorithm ya jenereta ya neno la nasibu au kutoka hifadhidata ya maneno yanayohusiana ya herufi nne.

Toleo hili linatumia maonyesho ya kisasa zaidi ya sehemu 14 za LED na mdhibiti mdogo wa Atmega 328p kuonyesha maneno na wakati. Njia mbili za kizazi cha maneno zinaungwa mkono. Ya kwanza hutumia algorithm kuunda vikundi vya maneno ya herufi nne ambazo zinaweza kuwa maneno halisi, sawa na asili. Kila neno linalofuatana halihusiani na lililopita. Njia ya pili hutumia hifadhidata ya neno la uhusiano kutoka kwa "Thesaurus ya Ushirika wa Edinburgh", hati ya vyama vya maneno kulingana na majibu ya watu kuuliza neno la kwanza linalokujia akilini baada ya kuwapa neno la mbegu, kisha kuendelea na mchakato na neno la kujibu. Hifadhidata hiyo ilibadilishwa kuwa kizazi cha maneno ya herufi nne na Shirika la Akafugu, ambalo liliunda faili ya data ya Kbyte 57 ambayo imehifadhiwa kwenye EEPROM ya nje ili kusindika na Atmega. Matokeo yake ni kwamba saa hutumia wakati wa Unix kama mbegu isiyo na mpangilio na hutengeneza mfuatano wa maneno yenye herufi nne kulingana na majibu ya wanadamu, sio algorithm fulani.

Kumbuka: Hifadhidata ya neno Akafugu ina maneno dhahiri ya kingono na yanayoweza kukera. Ikiwa hii inakusumbua, tafadhali washa modi ya maneno ya nasibu. Hii pia inaweza kutoa maneno ya kukera, lakini angalau hayataonyesha mito ya maneno ya kukera yanayohusiana!

"Thesaurus Associative Associative" ya Edinburgh iliandaliwa kulingana na majibu kutoka kwa watu wanaoishi Uingereza mwanzoni mwa miaka ya 60. Mahusiano ya neno dhahiri yanaonyesha upendeleo huo! Kwa mfano, neno "BORA" hufuatwa mara kwa mara na "PETE". Hakuna muunganisho dhahiri uliopo, isipokuwa mtu ajue kuwa Pete Best alikuwa mpiga ngoma wa asili wa Beatles mwanzoni mwa miaka ya 60! Upendeleo mwingine kuelekea utamaduni wa Uingereza wa miaka ya 60 ni mwingi. Nadhani ni ya kupendeza kutazama!

Kifaa hicho pia kina moduli ya I2C inayoweza kushughulikiwa ya Saa Saa na chelezo cha betri inayoweza kuchajiwa. Saa huonyesha maneno 5 kutoka kwa mojawapo ya algorithms mbili zinazochaguliwa, kisha huonyesha wakati, tarehe, siku ya wiki na mwaka. Saa na njia za uendeshaji zimewekwa kwa kutumia swichi tatu za kitufe cha kushinikiza. Njia za kufanya kazi zinahifadhiwa katika EEPROM isiyo na tete na kuishi kwa kuweka upya au kufeli kwa nguvu. RTC inaendelea kukimbia kwa karibu mwaka baada ya nguvu kuondolewa, na usahihi uliokithiri wa fidia ya joto. Wakati sahihi unaonyeshwa kiatomati wakati nguvu imerejeshwa.

Kipengele kilichoongezwa ni nukuu 107 juu ya wakati ambazo zinaonyeshwa kwa nasibu kila dakika 10. Nukuu hizi hutembea kutoka kulia kwenda kushoto katika wahusika wanne, ikitoa kutia moyo na msukumo wa mara kwa mara! Uhifadhi wa misemo iko kwenye EEPROM ya nje na hifadhidata ya neno Akafugu. Hifadhidata hiyo inachukua Kbyte 57 tu za Kbyte 64 zinazopatikana kwenye kifaa, ikiacha nafasi kwa misemo 107. Maneno ya "kujisifu" daima huwa ya kwanza kuonyeshwa wakati saa inapewa nguvu kwanza kwa muda wa dakika 10 ijayo.

Kitengo hicho hutumia maonyesho ya sehemu ya kawaida ya sehemu 14 (cathode 2 kwa kila tarakimu) ambazo huzidishwa na utaratibu wa huduma ya kukatisha timer ambayo inasababisha onyesho la herufi nne kuburudishwa kwa 100 Hz. Wakati wowote ISR inapoendesha, inazima mhusika aliyepita wa nusu, hupata sehemu 7 kati ya 14 kwa moja ya herufi nne, inageuka pini za sehemu inayolingana na misingi ya cathode inayofanana. Maonyesho ni ya kawaida kidogo, lakini nilikuwa na usambazaji mkubwa wa ziada ambao nilitaka kutumia. Cathode ya kawaida-mbili hupunguza idadi ya pini zinazohitajika kwa kila tarakimu kutoka 15 hadi 9. Kuna pini tu za kutosha kwenye Atmega 328p kuruhusu kuendeshwa kwa moja kwa moja kwa onyesho bila rejista ya mabadiliko.

TO-DO: Rekebisha msimbo ili utumie moduli ya LED ya Adafruit 4-alphanumeric LED

Hatua ya 1: Historia

Historia
Historia
Historia
Historia
Historia
Historia
Historia
Historia

Saa asili ya FLW ilijengwa na mirija mikubwa ya ziada ya Burroughs B7971 ya alphanumeric neon iliyochomwa kutoka kwa bodi za maonyesho za hisa zilizokataliwa. Hizi ni sawa na neli za nambari za wakati huo, lakini zilitumia onyesho la sehemu 14 kuunda herufi zote za ASCII. Saa hiyo ilitumia mantiki tofauti, ikichagua herufi kutoka kwenye meza kuunda mchanganyiko wa herufi nne ambazo zilipimwa kuwa na uwezekano wa kutoa maneno halisi.

Na algorithm Katika mfano wa asili wa 1972, herufi fulani tu zinaonekana katika kila nafasi. Uchambuzi uliowekwa kwa mkono wa maneno mia kadhaa ya herufi nne ulifanywa na mzunguko wa herufi katika kila nafasi nne ulihesabiwa. Herufi kumi za kawaida za kila nafasi zilitumika, isipokuwa katika nafasi ya pili ambayo ilikuwa na herufi nane tu.

Kwa kila nafasi, kaunta rahisi ya BCD (0-9) (74LS90 IC) iliendesha kwa uhuru na hesabu ilinaswa na kushikiliwa mara moja kila sekunde chache hadi mara moja kwa dakika, kulingana na mipangilio ya kasi. Picha ya kaunta kisha ilitumika kwa tumbo la kusimbua diode (ikitumia diode 150) kuunda wahusika.

Kwa kuwa tu herufi kumi (au nane) za kawaida zilichaguliwa kwa kila nafasi, bila kuzingatia mchanganyiko wa herufi, maneno mengi yasiyo ya maneno yanaweza kuonekana, kwa mfano, FRLR, LREE, LLLL, nk.

Kumbuka kuwa nafasi ya pili ilikuwa na herufi nane tu, kwani herufi ya tisa na ya kumi katika sampuli ilikuwa na kiwango cha chini sawa, wakati ya kwanza na ya pili ilikuwa na masafa ya juu sana-kwa hivyo ziliongezeka maradufu. Kwa hivyo 10 x 8 x 10 x 10 = 8000 ruhusa. Barua ambazo zilipangwa kwenye mfano wa kwanza wa 1973 zinaonyeshwa kwenye moja ya picha hapo juu.

Hatua ya 2: Kanuni na Mpangilio

Kanuni na Mpangilio
Kanuni na Mpangilio
Kanuni na Mpangilio
Kanuni na Mpangilio
Kanuni na Mpangilio
Kanuni na Mpangilio
Kanuni na Mpangilio
Kanuni na Mpangilio

Mpangilio umeambatanishwa.

Saa inaweza kujengwa kwa kutumia Arduino yoyote ya Atmega 328p.

Kwa matumizi ya Atmega 328p ya kawaida, kama inavyoonekana katika mpango, programu ya ISP lazima itumike kupanga mdhibiti mdogo kupitia IDE ya Arduino. Baada ya programu, fuses inapaswa kuwekwa kwa kutumia amri ifuatayo ya avrdude (WinAVR lazima iwekwe). Badilisha bandari ya com na aina ya programu. Rahisi zaidi ni kutumia Arduino kama programu ya ISP. Google kwa maelezo.

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

Mipangilio hii inalemaza vector ya kuweka upya bootloader ili nambari ianze mara moja kutoka kwa vector kuu ya nambari. Fuses pia imewekwa kwa oscillator ya nje ya 16MHz. Baada ya kuchomwa moto, hautaweza kusanidi chip tena hadi kioo na vitendaji viunganishwe kama inavyoonekana katika mpango, kwani oscillator ya ndani ya ndani imezimwa na mipangilio hii ya fuse.

Maktaba ya DS3231 Arduino lazima iwekwe ili kutoa ufikiaji wa njia za saa za RTC. Inahitajika kuwezesha msaada wa wakati wa Unix kwenye maktaba kwa kuondoa laini "#fafanua CONFIG_UNIXTIME" katika faili ya config.h ya DS3231 RTC. Wakati wa Unix hutumiwa kama mbegu kwa jenereta ya nambari ya nasibu ili mfuatano wa maneno na kifungu usirudie kila wakati saa inapowashwa.

Moduli ya saa ya DS3231 RTC yenyewe ni anuwai ya kawaida inayouzwa kwenye ebay. Moduli imeonyeshwa hapo juu. Tafuta aina hiyo na betri mbadala inayoweza kuchajiwa.

Mbali na mdhibiti mdogo aliyepangwa, inahitajika pia kupata na kupanga mpango wa Microchip 24LC512 EEPROM na hifadhidata ya neno la Akafugu na orodha ya maneno. Hii imefanywa kwa kutumia mzunguko rahisi uliojengwa na Arduino, na kadi ya SD iliyoundwa kama FAT32 na faili ya output2.dat juu yake. Mchoro unasoma data kutoka kwa kadi ya SD na kuiandika kwa EEPROM. Maelezo yanaweza kupatikana kwenye viungo viwili vifuatavyo. Hakikisha kutumia mchoro wa programu na faili ya data katika hii inayoweza kufundishwa, kwani ile iliyo kwenye kiunga cha Akafugu haina database ya maneno. Fuata utaratibu kwenye viungo.

Maelezo ya jumla ya hifadhidata ya Akafugu FLW

Maagizo ya kuchoma faili ya data kwa EEPROM

Hatua ya 3: Usanidi na Udhibiti wa Saa

Mchanganyiko wa vifungo vifuatavyo hutumiwa kwa usanidi wa saa:

Saa imewekwa: Shikilia kitufe 1 wakati wa operesheni ya kawaida.

Kuweka dakika: Shikilia kitufe cha 2 wakati wa operesheni ya kawaida. Pili zinawekwa upya kuwa "00" kiotomatiki

Sekunde zilizowekwa upya hadi sifuri: Shikilia kitufe cha 3 wakati wa operesheni ya kawaida, toa ili kusawazisha na kuanza kwa dakika mpya

Weka Mwezi: Shikilia vifungo 1 na 2 pamoja wakati wa operesheni ya kawaida

Weka Tarehe: Shikilia vifungo 1 na 3 pamoja wakati wa operesheni ya kawaida

Weka Mwaka: Shikilia vifungo 2 na 3 pamoja wakati wa operesheni ya kawaida

Weka Siku ya Wiki: Shikilia vifungo 1, 2 na 3 pamoja wakati wa operesheni ya kawaida

Wakati kitengo kinapowashwa kwanza, njia za kufanya kazi huonyeshwa haraka kabla ya kizazi cha neno kuanza:

"EE" inamaanisha I2C ya nje ya EEPROM iliyo na hifadhidata ya neno la Akafugu na orodha ya maneno imegunduliwa.

"NOEE" inamaanisha kuwa EEPROM haikugunduliwa. Kitengo hicho kinarudi kwa kizazi cha maneno bila mpangilio na hakuna onyesho la kifungu.

"CK" inamaanisha wakati na tarehe zinaonyeshwa baada ya kuonyesha maneno 5 mfululizo.

"NOKI" inamaanisha wakati / tarehe imezimwa. Mtiririko thabiti wa maneno unaonyeshwa kila wakati, unaingiliwa kila dakika 10 na kifungu.

"RND" inamaanisha hali ya kizazi cha neno la nasibu hutumiwa

"REL" inamaanisha hali ya kizazi cha database "Akafugu" ya kizazi hutumiwa

Kubadilisha na kuhifadhi njia, ondoa saa na unganisha tena huku ukishikilia kitufe kilichoonyeshwa. Kisha kutolewa kifungo. Njia mpya imehifadhiwa na kuonyeshwa:

Kitufe 1: Geuza na uhifadhi Njia ya kizazi ya neno Random au ya Uhusiano

Kitufe cha 2: Badili onyesho la tarehe / saa baada ya kuzima au kuzima maneno 5 mfululizo

Ilipendekeza: