Talaan ng mga Nilalaman:

Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases: 3 Mga Hakbang
Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases: 3 Mga Hakbang

Video: Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases: 3 Mga Hakbang

Video: Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases: 3 Mga Hakbang
Video: Сказка о потерянном времени (сказка, реж. Александр Птушко, 1964 г.) 2024, Nobyembre
Anonim
Image
Image
Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases
Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases
Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases
Apat na Liham na Word Clock Na May Akafugu Word Generator at Inspirational Phrases

Ito ang aking bersyon ng Four Letter Word Clock, isang ideya na nagmula noong 1970s. Ipinapakita ng orasan ang isang serye ng mga salitang may apat na letra na nabuo mula sa alinman sa isang random na algorithm ng salitang generator o mula sa isang database ng mga nauugnay na apat na titik na salita.

Gumagamit ang bersyon na ito ng mas modernong mga 14-segment LED display at isang Atmega 328p microcontroller upang ipakita ang mga salita at oras. Sinusuportahan ang dalawang mga mode ng pagbuo ng salita. Gumagamit ang una ng isang algorithm upang makabuo ng mga pangkat ng salita na may apat na titik na malamang na maging mga aktwal na salita, katulad ng orihinal. Ang bawat sunud-sunod na salita ay walang kaugnayan sa naunang. Ang pangalawang mode ay gumagamit ng database ng salitang magkakaugnay mula sa "Edinburgh Associative Thesaurus", isang dokumento ng mga asosasyon ng salita batay sa mga tugon ng mga tao sa pagtatanong sa unang salita na nasa isip pagkatapos bigyan sila ng isang salitang binhi, pagkatapos ay ipagpatuloy ang proseso sa salitang tumutugon. Ang database ay inangkop sa pagbuo ng salita ng apat na letra ng Akafugu Corporation, na lumikha ng isang 57 Kbyte data file na nakaimbak sa isang panlabas na EEPROM para sa pagproseso ng Atmega. Ang resulta ay ang orasan na gumagamit ng oras ng Unix bilang isang random na binhi at bumubuo ng isang string ng nauugnay na apat na titik na mga salita batay sa mga tugon ng tao, hindi ilang algorithm.

Tandaan: Ang database ng salita ng Akafugu ay naglalaman ng ilang mga tahasang sekswal at potensyal na nakakasakit na mga salita. Kung nakakaabala ito sa iyo, mangyaring i-on ang random na mode ng salita. Maaari rin itong makabuo ng ilang mga nakakasakit na salita, ngunit hindi bababa sa hindi ipapakita ang mga stream ng mga kaugnay na nakakasakit na salita!

Ang "Edinburgh Associative Thesaurus" ay naipon batay sa mga tugon mula sa mga taong naninirahan sa England noong unang bahagi ng 60. Ang salitang relasyon ay tiyak na sumasalamin sa bias na iyon! Halimbawa, ang salitang "MAHALAGA" ay madalas na sinusundan ng "PETE". Walang halatang koneksyon ang mayroon, maliban kung may nakakaalam na ang Pete Best ay ang orihinal na drummer para sa Beatles noong unang bahagi ng 60! Iba pang mga bias patungo sa kultura ng UK noong dekada 60 ay masagana. Sa palagay ko ay napaka-kagiliw-giliw na panoorin!

Naglalaman din ang aparato ng isang I2C address na Real Time Clock module na may rechargeable backup ng baterya. Nagpapakita ang orasan ng 5 salita mula sa isa sa dalawang mapipiling algorithm, pagkatapos ay ipinapakita ang oras, petsa, araw ng linggo at taon. Ang orasan at mga operating mode ay itinakda gamit ang tatlong mga switch ng switch ng pindutan. Ang mga mode ng pagpapatakbo ay nakaimbak sa di-pabagu-bago na EEPROM at makaligtas sa isang pag-reset o pagkabigo sa kuryente. Patuloy na tumatakbo ang RTC ng halos isang taon matapos matanggal ang lakas, na may katumpakan na binabayaran ng temperatura. Ang tamang oras ay awtomatikong ipinapakita kapag naibalik ang lakas.

Ang isang idinagdag na tampok ay ang 107 mga sipi tungkol sa oras na ipinapakita nang sapalaran bawat 10 minuto. Ang mga quote na ito ay nag-scroll mula kanan pakanan sa apat na mga character, na nagbibigay ng madalas na paghihikayat at inspirasyon! Ang imbakan para sa mga parirala ay nasa panlabas na EEPROM kasama ang Akafugu word database. Ang databse ay tumatagal lamang ng 57 Kbytes ng 64 Kbytes na magagamit sa aparato, na nag-iiwan ng puwang para sa 107 parirala. Ang isang "pagmamayabang" parirala ay palaging ang unang ipinapakita kapag ang orasan ay unang pinalakas sa susunod na 10 minutong agwat.

Gumagamit ang unit ng karaniwang mga ipinapakitang cathode na 14-segment (2 cathode para sa bawat digit) na multiplexed ng isang timer na nakakagambala sa serbisyo na nagreresulta sa pag-refresh ng apat na character na 100 Hz. Tuwing tumatakbo ang ISR, pinapatay nito ang dating kalahating karakter, kinukuha ang 7 sa 14 na mga segment para sa isa sa apat na character, binubuksan ang kaukulang mga segment na segment at pinagbabatayan ang kaukulang cathode. Ang mga ipinapakita ay medyo hindi pangkaraniwan, ngunit mayroon akong isang labis na suplay ng labis na nais kong gamitin. Ang dalawahang-karaniwang katod ay binabawasan ang bilang ng mga pin na kinakailangan bawat digit mula 15 hanggang 9. Mayroong sapat na mga pin lamang sa isang Atmega 328p upang payagan ang direktang drive ng display nang walang isang rehistro ng shift.

TO-DO: Baguhin ang code upang magamit ang Adafruit 4-character na alphanumeric LED module

Hakbang 1: Kasaysayan

Kasaysayan
Kasaysayan
Kasaysayan
Kasaysayan
Kasaysayan
Kasaysayan
Kasaysayan
Kasaysayan

Ang orihinal na orasan ng FLW ay itinayo na may malalaking mga Burroughs B7971 alphanumeric neon surplus na tubo na na-scavenged mula sa mga na-decommission na mga board ng display na ticker. Ito ay katulad ng mga numeric nixie tubes ng oras, ngunit gumamit ng isang 14-segment na display upang mabuo ang lahat ng mga character na ASCII. Gumamit ang relo ng discrete lohika, na pumipili ng mga titik mula sa isang talahanayan upang makabuo ng random na apat na mga kumbinasyon ng titik na tinitimbang upang magkaroon ng tunay na mga salita.

Gamit ang algorithm Sa orihinal na modelo ng 1972, ang ilang mga titik lamang ang lilitaw sa bawat posisyon. Ang isang hand-tabulated analysis ng ilang daang mga titik na may apat na titik ay tapos na at ang dalas ng mga titik sa bawat isa sa apat na posisyon ay binibilang. Ang sampung pinakamadalas na titik ng bawat posisyon ay ginamit, maliban sa pangalawang posisyon na naglalaman lamang ng walong titik.

Para sa bawat posisyon, isang simpleng counter ng BCD (0-9) (isang 74LS90 IC) ang malayang tumakbo at ang bilang ay nakuha at gaganapin halos isang beses bawat ilang segundo hanggang isang beses bawat minuto, depende sa setting ng bilis. Ang counter snapshot ay inilapat sa isang diode decoding matrix (gamit ang halos 150 diode) upang mabuo ang mga character.

Sapagkat ang sampung (o walong) pinakakaraniwang mga titik lamang ang napili para sa bawat posisyon, nang walang pagsasaalang-alang sa mga kumbinasyon ng titik, maraming mga hindi salita na maaaring lumitaw, hal., FRLR, LREE, LLLL, atbp.

Tandaan na ang pangalawang posisyon ay mayroon lamang walong mga titik, dahil ang ikasiyam at ikasampu ng mga titik sa sample ay may proporsyonal na mababang dalas, habang ang una at pangalawa ay may napakataas na dalas-kaya't dinoble sila. Sa gayon 10 x 8 x 10 x 10 = 8000 permutations. Ang mga titik na na-program sa unang modelo ng 1973 ay ipinapakita sa isa sa mga imahe sa itaas.

Hakbang 2: Code at Schematic

Code at Skema
Code at Skema
Code at Skema
Code at Skema
Code at Skema
Code at Skema
Code at Skema
Code at Skema

Nakalakip ang eskematiko.

Ang orasan ay maaaring itayo gamit ang anumang Atmega 328p-based Arduino.

Para magamit sa isang nakapag-iisang Atmega 328p, tulad ng ipinakita sa eskematiko, dapat gamitin ang isang programmer ng ISP upang mai-program ang microcontroller sa pamamagitan ng Arduino IDE. Pagkatapos ng programa, dapat itakda ang mga piyus gamit ang sumusunod na utos ng avrdude (Dapat na mai-install ang WinAVR). Palitan ang uri ng com port at programmer. Ang pinakamadali ay ang paggamit ng isang Arduino bilang isang programmer ng ISP. Google para sa mga detalye.

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

Hindi pinagana ng mga setting na ito ang vector ng pag-reset ng bootloader kaya't nagsisimula kaagad ang code mula sa pangunahing code vector. Ang mga piyus ay naka-set din para sa isang panlabas na 16MHz oscillator. Kapag nasunog na, hindi mo magagawang i-program muli ang maliit na tilad hanggang sa ang kristal at mga capacitor ay konektado tulad ng ipinakita sa eskematiko, dahil ang default na panloob na oscillator ay hindi pinagana sa mga setting ng piyus na ito.

Ang DS3231 Arduino library ay dapat na mai-install upang magbigay ng pag-access sa mga gawain sa RTC na orasan. Kinakailangan upang paganahin ang suporta ng oras ng Unix sa silid-aklatan sa pamamagitan ng pag-aalis ng linya ng "#define CONFIG_UNIXTIME" sa DS3231 RTC library config.h file. Ang oras ng Unix ay ginagamit bilang isang binhi para sa random na generator ng numero upang ang salita at mga pagkakasunud-sunod ng parirala ay hindi na uulitin sa tuwing pinapagana ang orasan.

Ang module ng orasan ng DS3231 RTC mismo ay isang pangkaraniwang pagkakaiba-iba na ibinebenta sa ebay. Ang modyul ay nakalarawan sa itaas. Hanapin ang uri na may isang rechargeable backup na baterya.

Bilang karagdagan sa isang naka-program na microcontroller, kinakailangan ding kumuha at mag-program ng isang Microchip 24LC512 serial EEPROM na may Akafugu word database at listahan ng parirala. Ginagawa ito gamit ang isang simpleng circuit na binuo gamit ang isang Arduino, at ang SD card na nai-format bilang FAT32 na may output2.dat file dito. Binabasa ng isang sketch ang data mula sa SD card at isusulat ito sa EEPROM. Ang mga detalye ay maaaring matagpuan sa sumusunod na dalawang mga link. Siguraduhing gamitin ang sketch ng programa at file ng data sa Instructable na ito, dahil ang isa sa link ng Akafugu ay wala ang pariralang database. Sundin ang pamamaraan sa mga link.

Pangkalahatang-ideya ng Akafugu FLW database

Mga tagubilin para sa pagsunog ng file ng data sa EEPROM

Hakbang 3: Pag-setup ng Clock at Pagkontrol

Ang mga sumusunod na kumbinasyon ng pindutan ay ginagamit para sa pag-setup ng orasan:

Itakda sa oras: Pindutin nang matagal ang pindutan 1 habang normal na ang operasyon.

Minuto set: Pindutin ang pindutan ng 2 habang normal na ang operasyon. Pangalawa ay awtomatikong i-reset sa "00"

Ang mga segundo ay nai-reset sa zero: pindutin nang matagal ang pindutan 3 sa normal na operasyon, bitawan upang mai-synchronize sa pagsisimula ng bagong minuto

Itakda ang Buwan: Hawakan nang magkasama ang mga pindutan na 1 at 2 sa normal na operasyon

Itakda ang Petsa: Pindutin nang matagal ang mga pindutan na 1 at 3 sa normal na operasyon

Itakda ang Taon: Maghawak ng mga pindutan 2 at 3 nang magkasama sa normal na operasyon

Itakda ang Araw ng Linggo: Pindutin nang matagal ang mga pindutan na 1, 2 at 3 sa normal na operasyon

Kapag ang yunit ay unang pinapagana, ang mga operating mode ay mabilis na ipinapakita bago magsimula ang pagbuo ng salita:

Ang "EE" ay nangangahulugang ang panlabas na E2PR ng I2C na naglalaman ng Akafugu salita database at listahan ng parirala ay nakita.

Ang ibig sabihin ng "NOEE" ay hindi nakita ang EEPROM. Ang yunit ay bumalik sa random na pagbuo ng salita at walang pagpapakita ng parirala.

Ang "CK" ay nangangahulugang ang oras at petsa ay ipinapakita pagkatapos ipakita ang 5 magkasunod na salita.

Ang ibig sabihin ng "NOCK" ay nakapatay ang oras / petsa. Ang isang matatag na stream ng mga salita ay patuloy na ipinapakita, nagambala bawat 10 minuto sa pamamagitan ng isang parirala.

Ang "RND" ay nangangahulugang random mode ng pagbuo ng salita ang ginamit

Ang "REL" ay nangangahulugang ang pamamagitang "Akafugu" na mode ng pagbuo ng salita sa database ay ginamit

Upang baguhin at i-save ang mga mode, i-unplug ang orasan at i-plug in muli habang hawak ang isa sa mga tinukoy na pindutan. Pagkatapos ay palabasin ang pindutan. Ang bagong mode ay nakaimbak at ipinapakita:

Button 1: I-toggle at i-save ang Random o Relational na mode ng pagbuo ng salita

Button 2: I-toggle ang pagpapakita ng petsa / oras pagkatapos ng 5 magkasunod na mga salita na naka-on o naka-off

Inirerekumendang: