Innholdsfortegnelse:
Video: Fire bokstaver ordklokke med Akafugu Word Generator og inspirerende setninger: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Dette er min versjon av Four Letter Word Clock, en idé som stammer fra 1970 -tallet. Klokken viser en rekke ord på fire bokstaver som genereres fra enten en tilfeldig ordgeneratoralgoritme eller fra en database med relaterte ord på fire bokstaver.
Denne versjonen bruker mer moderne 14-segment LED-skjermer og en Atmega 328p mikrokontroller for å vise ord og tid. To ordgenereringsmoduser støttes. Den første bruker en algoritme til å generere ordgrupper på fire bokstaver som sannsynligvis vil være faktiske ord, lik originalen. Hvert påfølgende ord er ikke relatert til det forrige. Den andre modusen bruker relasjonsorddatabasen fra "Edinburgh Associative Thesaurus", et dokument med ordforeninger basert på folks svar på å spørre det første ordet som kommer til hjernen etter å ha gitt dem et frøord, for deretter å fortsette prosessen med svarordet. Databasen ble tilpasset ordgenerering på fire bokstaver av Akafugu Corporation, som opprettet en 57 Kbyte datafil som er lagret i en ekstern EEPROM for behandling av Atmega. Resultatet er at klokken bruker Unix-tid som et tilfeldig frø og genererer en streng med tilhørende ord på fire bokstaver basert på menneskelige svar, ikke noen algoritme.
Merk: Akafugu -orddatabasen inneholder noen seksuelt eksplisitte og potensielt støtende ord. Hvis dette plager deg, vennligst slå på tilfeldig ordmodus. Dette kan også generere noen støtende ord, men vil i hvert fall ikke vise strømmer av relaterte støtende ord!
"Edinburgh Associative Thesaurus" ble samlet ut fra svar fra mennesker som bodde i England på begynnelsen av 60 -tallet. Ordet relasjoner gjenspeiler definitivt denne skjevheten! For eksempel blir ordet "BEST" ofte etterfulgt av "PETE". Ingen åpenbar forbindelse eksisterer, med mindre man vet at Pete Best var den originale trommeslageren for Beatles på begynnelsen av 60 -tallet! Andre skjevheter mot britisk kultur på 60 -tallet florerer. Jeg synes det er veldig interessant å se!
Enheten inneholder også en I2C -adresserbar sanntidsklokke -modul med oppladbar batteribackup. Klokken viser 5 ord fra en av de to valgbare algoritmene, og viser deretter tid, dato, ukedag og år. Klokken og driftsmodus stilles inn med tre trykknappbrytere. Driftsmoduser lagres i ikke-flyktig EEPROM og overlever en tilbakestilling eller strømbrudd. RTC fortsetter å kjøre i omtrent et år etter at strømmen er fjernet, med ekstrem temperaturkompensert nøyaktighet. Riktig tid vises automatisk når strømmen gjenopprettes.
En ekstra funksjon er de 107 sitatene om tid som vises tilfeldig hvert 10. minutt. Disse sitatene ruller fra høyre til venstre over de fire karakterene, og gir hyppig oppmuntring og inspirasjon! Lagring for setningene er i den eksterne EEPROM med Akafugu -orddatabasen. Databasen tar bare 57 Kbyte av de 64 Kbytes som er tilgjengelige på enheten, og gir plass til de 107 setningene. En "skryt" -frase er alltid den første som vises når klokken først slås på i det neste 10 minutters intervallet.
Enheten bruker vanlige katoder med 14 segmenter (2 katoder for hvert siffer) som er multiplekset med en tidsavbruddsrutine for timer som resulterer i at displayet med fire tegn blir oppdatert på 100 Hz. Når ISR kjører, slår den av det forrige halvtegnet, henter 7 av de 14 segmentene for et av de fire tegnene, slår på de tilsvarende segmentpinnene og begrenser den tilsvarende katoden. Displayene er litt uvanlige, men jeg hadde et stort overskudd som jeg ønsket å bruke. Den dobbelte vanlige katoden reduserer antall pinner som trengs per siffer fra 15 til 9. Det er akkurat nok pinner på en Atmega 328p for å tillate direkte kjøring av skjermen uten skiftregister.
Å GJØRE: Endre kode for å bruke Adafruit 4-tegn alfanumeriske LED-moduler
Trinn 1: Historie
Den originale FLW -klokken ble bygget med store Burroughs B7971 alfanumeriske neonoverskuddsrør som ble fjernet fra nedlagte lagerkort. Disse ligner på tidens numeriske nixie-rør, men brukte en 14-segmenters skjerm for å danne alle ASCII-tegnene. Klokken brukte diskret logikk, og valgte bokstaver fra en tabell for å danne tilfeldige kombinasjoner på fire bokstaver som ble vektet for å sannsynligvis produsere virkelige ord.
Med algoritmen I den originale 1972 -modellen vises bare visse bokstaver i hver posisjon. En håndtabellert analyse av flere hundre ord på fire bokstaver ble utført, og hyppigheten av bokstaver i hver av de fire posisjonene ble talt. De ti hyppigste bokstavene i hver posisjon ble brukt, bortsett fra i den andre stillingen som bare inneholdt åtte bokstaver.
For hver posisjon løp en enkel BCD (0-9) teller (en 74LS90 IC) fritt, og tellingen ble fanget og holdt omtrent en gang hvert par sekunder til en gang i minuttet, avhengig av hastighetsinnstillingen. Teller -øyeblikksbildet ble deretter påført en avkodingsmatrise for dioder (med omtrent 150 dioder) for å danne tegnene.
Siden bare de ti (eller åtte) vanligste bokstavene ble valgt for hver posisjon, uten hensyn til bokstavkombinasjoner, kan mange ikke-ord vises, for eksempel FRLR, LREE, LLLL, etc.
Legg merke til at den andre posisjonen bare hadde åtte bokstaver, siden den niende og tiende bokstaven i utvalget hadde en forholdsvis lav frekvens, mens den første og andre hadde ekstremt høy frekvens-så de ble doblet. Dermed 10 x 8 x 10 x 10 = 8000 permutasjoner. Bokstavene som ble programmert i den første modellen fra 1973 er vist på et av bildene ovenfor.
Trinn 2: Kode og skjematisk
Skjemaet er vedlagt.
Klokken kan bygges med en hvilken som helst Atmega 328p-basert Arduino.
For bruk med en frittstående Atmega 328p, som vist i skjematikken, må en ISP -programmerer brukes til å programmere mikrokontrolleren via Arduino IDE. Etter programmering bør sikringene settes med følgende avrdude -kommando (WinAVR må være installert). Erstatt com -port og programmerertype. Det enkleste er å bruke en Arduino som en ISP -programmerer. Google for detaljer.
avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse: w: 0xFF: m -U hfuse: w: 0xDF: m -U efuse: w: 0x05: m
Disse innstillingene deaktiverer tilbakestillingsvektoren for bootloader, så koden starter umiddelbart fra hovedkodevektoren. Sikringene er også satt for en ekstern 16MHz oscillator. Når den er brent, vil du ikke kunne programmere brikken igjen før krystallet og kondensatorene er koblet til som vist i skjematisk, da standard intern oscillator er deaktivert med disse sikringsinnstillingene.
DS3231 Arduino -biblioteket må være installert for å gi tilgang til RTC -klokkerutinene. Det er nødvendig å aktivere Unix -tidsstøtte i biblioteket ved å ikke kommentere linjen "#define CONFIG_UNIXTIME" i DS3231 RTC -bibliotekets config.h -fil. Unix -tid brukes som et frø for tilfeldige tallgeneratoren, slik at ord- og setningssekvensene ikke blir gjentatt hver gang klokken slås på.
Selve DS3231 RTC -klokkemodulen er en vanlig variant som selges på eBay. Modulen er illustrert ovenfor. Se etter typen med et oppladbart reservebatteri.
I tillegg til en programmert mikrokontroller er det også nødvendig å skaffe og programmere en Microchip 24LC512 seriell EEPROM med Akafugu orddatabase og setningsliste. Dette gjøres ved hjelp av en enkel krets bygget med en Arduino, og SD -kort formatert som FAT32 med output2.dat -filen på den. En skisse leser dataene fra SD -kortet og skriver det til EEPROM. Detaljer finner du på de to følgende lenker. Sørg for å bruke programmeringsskissen og datafilen i denne instruksjonsboken, ettersom den på Akafugu -lenken mangler setningsdatabasen. Følg prosedyren i koblingene.
Oversikt over Akafugu FLW -database
Instruksjoner for brenning av datafilen til EEPROM
Trinn 3: Klokkeoppsett og kontroll
Følgende knappekombinasjoner brukes til klokkeoppsett:
Tidsinnstilling: Hold inne knapp 1 under normal drift.
Minutt sett: Hold inne knapp 2 under normal drift. Andre blir automatisk tilbakestilt til "00"
Sekunder tilbakestilles til null: Hold inne knapp 3 under normal drift, slipp for å synkronisere med start av nytt minutt
Angi måned: Hold knappene 1 og 2 sammen under normal drift
Still inn dato: Hold knappene 1 og 3 sammen under normal drift
Angi år: Hold knappene 2 og 3 sammen under normal drift
Angi ukedag: Hold knappene 1, 2 og 3 sammen under normal drift
Når enheten først slås på, vises driftsmodusene raskt før ordgenerering starter:
"EE" betyr at I2C ekstern EEPROM som inneholder Akafugu -orddatabasen og setningslisten er oppdaget.
"NOEE" betyr at EEPROM ikke ble oppdaget. Enheten går tilbake til tilfeldig ordgenerering og ingen frasevisning.
"CK" betyr at tid og dato vises etter å ha vist 5 ord på rad.
"NOCK" betyr at tid/dato er slått av. En jevn strøm av ord vises kontinuerlig, avbrutt hvert 10. minutt av en setning.
"RND" betyr at tilfeldig ordgenereringsmodus brukes
"REL" betyr at den relasjonelle "Akafugu" orddatabasen generasjonsmodus brukes
For å endre og lagre modus, koble fra klokken og koble den til igjen mens du holder en av de angitte knappene. Slipp deretter knappen. Den nye modusen lagres og vises:
Knapp 1: Veksle og lagre tilfeldig eller relasjonell ordgenereringsmodus
Knapp 2: Slå visningen av dato/klokkeslett av eller på etter 5 ord på rad
Anbefalt:
Ordklokke: 21 trinn (med bilder)
Word Clock: Nok en gang den populære ordklokken. Drevet av en arduino -klon og WS2812B -lysdioder, ble designet først inspirert av dette eksemplet, deretter skrev jeg om fastvaren som inneholder noen ideer fra dette instruerbare ved hjelp av fastled -biblioteket. Mine mål for
Ordklokke kontrollert av 114 servoer: 14 trinn (med bilder)
Ordklokke kontrollert av 114 servoer: Hva har 114 lysdioder og kjører alltid? Som du kanskje vet er svaret et ordklokke. Hva har 114 lysdioder + 114 servoer og beveger seg alltid? Svaret er denne servokontrollerte ordklokken. For dette prosjektet gikk jeg sammen med en venn av meg som snudde
Ordklokke med regnbueeffekt og bakgrunnslys .: 6 trinn
Ordklokke med regnbueeffekt og bakgrunnslys .: Begynnelsen er der. Frontplaten er 40 x 40 cm og er klar
Minimalistisk ordklokke: 28 trinn (med bilder)
Minimalistisk Word Clock: En stor takk til Super Make Something ettersom dette prosjektet ble inspirert av Neopixel Word Clock. Jeg opprettet denne klokken som en del av IGCSE Design & Teknologikurs og fikk A* for det. CAD -modellen ble bygget på fusjon på forhånd og dermed
Gjenopprett malte bokstaver på tastaturet: 5 trinn
Gjenopprett malte bokstaver på tastaturnøkler: Min bærbare datamaskin og vår nye stasjonære datamaskin har svarte, svarte nøkler med hvitmalte bokstaver. Etter en stund mister visse nøkler sine malte bokstaver fra fingerneglstreik. Legg merke til tastene A, S, D, H, L, E, R, T, O, N og M. I svakt lys kan det