Sisukord:
Video: Neli tähega sõnakell Akafugu sõnageneraatori ja inspireerivate fraasidega: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
See on minu versioon neljatähelisest sõnakellast, ideest, mis sai alguse juba 1970ndatel. Kell kuvab neljatäheliste sõnade seeria, mis on loodud kas juhusliku sõnageneraatori algoritmi või seotud neljatäheliste sõnade andmebaasist.
See versioon kasutab sõna ja aja kuvamiseks kaasaegsemaid 14-segmendilisi LED-kuvareid ja Atmega 328p mikrokontrollerit. Toetatakse kahte sõna genereerimise režiimi. Esimene kasutab algoritmi, et genereerida neljatähelisi sõnarühmi, mis on tõenäoliselt originaaliga sarnased tegelikud sõnad. Iga järgnev sõna ei ole eelmisega seotud. Teine režiim kasutab "Edinburghi assotsiatiivse tesauruse" relatsiooniliste sõnade andmebaasi, sõnaühendite dokumenti, mis põhineb inimeste vastustel esimese sõna küsimisele, mis pärast seemnesõna andmist meelde tuleb, seejärel protsessi jätkamiseks vastussõnaga. Andmebaasi kohandas neljatähelise sõna genereerimiseks Akafugu Corporation, kes lõi 57 Kbyte suuruse andmefaili, mis salvestatakse välisele EEPROM-ile Atmega töötlemiseks. Tulemuseks on see, et kell kasutab juhusliku seemnena Unixi aega ja genereerib seeria neljatähelisi sõnu, mis põhinevad inimese vastustel, mitte mingil algoritmil.
Märkus. Akafugu sõnade andmebaas sisaldab mõningaid seksuaalseid ja potentsiaalselt solvavaid sõnu. Kui see teid häirib, lülitage juhusliku sõna režiim sisse. See võib tekitada ka solvavaid sõnu, kuid vähemalt ei näita nendega seotud solvavate sõnade vooge!
Edinburghi assotsiatiivne tesaurus koostati 60ndate alguses Inglismaal elavate inimeste vastuste põhjal. Sõnasuhted peegeldavad kindlasti seda eelarvamust! Näiteks sõnale "PARIM" järgneb sageli "PETE". Ilmset seost pole olemas, kui keegi ei tea, et Pete Best oli 60ndate alguses biitlite algtrummar! Teisi eelarvamusi 60ndate Ühendkuningriigi kultuuri suhtes on palju. Minu arvates on seda väga huvitav vaadata!
Seade sisaldab ka I2C adresseeritavat reaalajas kella moodulit, millel on laetav aku. Kell kuvab 5 sõna ühest kahest valitud algoritmist, seejärel kuvab kellaaja, kuupäeva, nädalapäeva ja aasta. Kella ja töörežiimide seadistamiseks kasutatakse kolme vajutusnuppu. Töörežiimid salvestatakse püsivasse EEPROM-i ja jäävad ellu lähtestamisel või voolukatkestusel. RTC töötab jätkuvalt umbes aasta pärast toite väljalülitamist, seda äärmise temperatuurikompenseeritud täpsusega. Toite taastamisel kuvatakse automaatselt õige aeg.
Lisavõimalus on 107 ajapakkumist, mis kuvatakse juhuslikult iga 10 minuti järel. Need tsitaadid kerivad nelja tähemärgi vahel paremalt vasakule, pakkudes sageli julgustust ja inspiratsiooni! Fraaside salvestusruum on välises EEPROMis koos Akafugu sõna andmebaasiga. Andmebaas võtab seadmes saadaolevatest 64 KB -st vaid 57 kbaiti, jättes ruumi 107 fraasile. "Kiidelda" fraas kuvatakse alati esimesena, kui kell käivitatakse järgmise 10 -minutilise intervalliga.
Seade kasutab tavalisi 14-segmendilisi katoodekuvaid (2 katoodi iga numbri kohta), mis on multipleksitud taimeriga katkestusteenuse rutiiniga, mille tulemusel värskendatakse nelja tähemärgi kuva 100 Hz juures. Kui ISR töötab, lülitab see eelmise poolmärgi välja, otsib ühe neljast tähemärgist 14 segmendist 7, lülitab sisse vastavad segmendi tihvtid ja maandab vastava katoodi. Ekraanid on natuke haruldased, kuid mul oli suur ülejääk, mida tahtsin kasutada. Kahe tavalise katoodiga vähendatakse vajalike tihvtide arvu ühe numbri kohta 15-lt 9. Atmega 328p-l on lihtsalt piisavalt tihvte, mis võimaldavad ekraani otseülekannet ilma vahetuste registrita.
ÜLESANNE: muutke koodi, et kasutada Adafruit 4-tähemärgilist tähtnumbrilist LED-moodulit
Samm: ajalugu
Algne FLW kell ehitati suurte Burroughs B7971 tähtnumbriliste neoon -üleliigsete torudega, mis olid eemaldatud kasutusest kõrvaldatud börsinäidikute tahvlitelt. Need on sarnased tolleaegsete numbriliste nix-torudega, kuid kasutasid kõigi ASCII märkide moodustamiseks 14-segmendilist ekraani. Kell kasutas diskreetset loogikat, valides tabelist tähti juhuslike nelja tähekombinatsioonide moodustamiseks, mis kaaluti tõenäoliselt tõeliste sõnade saamiseks.
Algoritmiga Esialgses 1972. aasta mudelis kuvatakse igas asendis ainult teatud tähed. Tehti käsitsi tabelis analüüs mitusada neljatähelist sõna ja loendati tähtede sagedus igas neljas asendis. Kasutati iga positsiooni kümmet kõige sagedamini kasutatavat tähte, välja arvatud teine positsioon, mis sisaldas vaid kaheksa tähte.
Iga positsiooni puhul jooksis lihtne BCD (0-9) loendur (74LS90 IC) vabalt ning loendus salvestati ja hoiti sõltuvalt kiiruse seadistusest umbes kord iga paari sekundi kuni ühe minuti tagant. Seejärel rakendati märkide moodustamiseks dioodi dekodeerimismaatriksile (kasutades umbes 150 dioodi) loenduri hetktõmmist.
Kuna iga positsiooni jaoks valiti ainult kümme (või kaheksa) kõige tavalisemat tähte, arvestamata tähekombinatsioone, võib ilmuda palju mittesõnu, nt FRLR, LREE, LLLL jne.
Pange tähele, et teisel positsioonil oli ainult kaheksa tähte, kuna valimi üheksandal ja kümnendal tähel oli proportsionaalselt madal sagedus, samal ajal kui esimesel ja teisel oli äärmiselt kõrge sagedus-seega kahekordistati neid. Seega 10 x 8 x 10 x 10 = 8000 permutatsiooni. Esimeses 1973. aasta mudelisse programmeeritud tähed on näidatud ühel ülaltoodud piltidel.
Samm: kood ja skeem
Skeem on lisatud.
Kella võib ehitada mis tahes Atmega 328p-põhise Arduino abil.
Kasutamiseks iseseisva Atmega 328p -ga, nagu on näidatud skeemil, tuleb mikrokontrolleri programmeerimiseks Arduino IDE kaudu kasutada ISP programmeerijat. Pärast programmeerimist tuleb kaitsmed seadistada järgmise käsu avrdude abil (WinAVR tuleb installida). Asendage komport ja programmeerija tüüp. Lihtsaim on kasutada Arduinot ISP programmeerijana. Google'is leiate üksikasju.
avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse: w: 0xFF: m -U hfuse: w: 0xDF: m -U efuse: w: 0x05: m
Need seaded keelavad alglaaduri lähtestusvektori, nii et kood algab kohe põhikoodivektorist. Kaitsmed on seatud ka välisele 16MHz ostsillaatorile. Pärast põletamist ei saa te kiipi uuesti programmeerida enne, kui kristall ja kondensaatorid on ühendatud, nagu skeemil näidatud, kuna vaikimisi kasutatav sisemine ostsillaator on nende kaitseseadetega keelatud.
DS3231 Arduino raamatukogu peab olema installitud, et võimaldada juurdepääsu RTC kella rutiinidele. Teegis on vaja lubada Unixi ajatugi, tühistades DS3231 RTC raamatukogu config.h failis rea "#define CONFIG_UNIXTIME". Unixi aega kasutatakse juhuslike arvude generaatori seemneks, nii et sõna- ja fraasijärjestusi ei korrataks iga kord, kui kell sisse lülitatakse.
DS3231 RTC kella moodul ise on tavaline sort, mida müüakse ebay -s. Moodul on illustreeritud ülal. Otsige laetava akuga tüüpi.
Lisaks programmeeritud mikrokontrollerile on vaja hankida ja programmeerida ka mikrokiip 24LC512 jada EEPROM koos Akafugu sõnade andmebaasi ja fraaside loendiga. Selleks kasutatakse lihtsat vooluahelat, mis on ehitatud Arduino abil, ja FAT32 -vormingus SD -kaarti, millel on fail output2.dat. Visand loeb andmed SD -kaardilt ja kirjutab need EEPROM -i. Üksikasjad leiate kahelt järgmiselt lingilt. Kasutage selles juhendis kindlasti programmeerimisvisandit ja andmefaili, kuna lingil Akafugu puudub fraaside andmebaas. Järgige linkides toodud protseduuri.
Akafugu FLW andmebaasi ülevaade
Juhised andmefaili EEPROM -i kirjutamiseks
Samm: kella seadistamine ja juhtimine
Kella seadistamiseks kasutatakse järgmisi nupukombinatsioone:
Tundide määramine: hoidke tavalise töö ajal nuppu 1 all.
Minutiseade: hoidke tavalise töö ajal nuppu 2 all. Teiseks lähtestatakse automaatselt "00"
Sekundid nullitakse: hoidke tavalise töö ajal nuppu 3 all, vabastage, et sünkroonida uue minuti algusega
Kuu määramine: hoidke tavalise töö ajal nuppe 1 ja 2 koos
Kuupäeva määramine: hoidke tavalise töö ajal nuppe 1 ja 3 koos
Aasta määramine: hoidke tavalise töö ajal nuppe 2 ja 3 koos
Nädalapäeva määramine: hoidke tavalise töö ajal nuppe 1, 2 ja 3 koos
Seadme esmakordsel sisselülitamisel kuvatakse töörežiimid kiiresti enne sõna genereerimist:
"EE" tähendab I2C välist EEPROM -i, mis sisaldab Akafugu sõnade andmebaasi ja fraasiloendit.
"NOEE" tähendab, et EEPROM -i ei tuvastatud. Seade naaseb juhusliku sõna genereerimise ja fraaside kuvamise puudumiseni.
"CK" tähendab, et kellaaeg ja kuupäev kuvatakse pärast 5 järjestikuse sõna kuvamist.
"NOCK" tähendab, et kellaaeg/kuupäev on välja lülitatud. Pidevalt kuvatakse sõnade voogu, mida katkestab iga 10 minuti tagant fraas.
"RND" tähendab juhuslikku sõna genereerimise režiimi
"REL" tähendab relatsioonilist "Akafugu" sõna andmebaasi genereerimise režiimi
Režiimide muutmiseks ja salvestamiseks eemaldage kell vooluvõrgust ja ühendage see uuesti, hoides all ühte näidatud nuppu. Seejärel vabastage nupp. Uus režiim salvestatakse ja kuvatakse:
Nupp 1: lülitab juhusliku või relatsioonilise sõna genereerimise režiimi sisse ja välja
Nupp 2: lülitab kuupäeva/kellaaja kuvamise sisse või välja pärast 5 järjestikust sõna
Soovitan:
2 tähega sõnaõppija morsekoodiga: 5 sammu
2 -täheline sõnaõpetaja morsekoodiga: Olen mõnda aega püüdnud õppida Scrabble'i (tm) 2 -tähelisi sõnu, kuid edutult. Olen püüdnud ka vähese eduga uuesti Morse koodi õppida. Otsustasin proovida alateadlikku õppimist, ehitades kasti, mis pidevalt näitas
Neli pirukat - uus Raspberry Pi 4 - tipphetked ja tähistamisprojekt!: 6 sammu
Neli pirukat - uus Raspberry Pi 4 - Highlights & Celebration Project !: Allpool kiire ülevaade sisust. Sissejuhatus ja esitlusvideo Pie Pi 3.14 Pirukad Tulemus
Minimaalne neli X 12 -voldist Roveri šassii GoBILDA -ga: 10 sammu
Minimaalne nelja X 12 -voldine Roveri šassii GoBILDA -ga: näitan teile, kuidas ma ehitasin RB või autonoomse roveri šassii, kasutades goBILDA komponente. Peaksin siia lisama, et mul pole goBILDA -ga muud ühendust kui enamasti rahuloleva kliendina. Olen lisanud täieliku varuosade loendi jaotises Tarvikud
Neli võimalust jootmismaski eemaldamiseks: 5 sammu
Neli võimalust jootmismaski eemaldamiseks: selles postituses jagatakse, kuidas solader -maski eemaldada 4 viisil
Klaasrobot kell neli hommikul: 8 sammu (piltidega)
Klaasrobot kell neli hommikul: Mõned inimesed on minult küsinud, kust ma oma ideid võtan. Ma ei ole kindel, aga ma tean, millal ma need kätte saan. Ma ei tea, miks, aga tundub, et saan palju oma ideid ebasobival ajal - poole tunni pealt, pimedas koju kõndides või sageli, Ma ärkan kell