Cov txheej txheem:

Plaub Tsab Ntawv Lo Lus Nrog Akafugu Cov Ntawv Tsim Tsiaj thiab Cov Kab Lus Txhawb Siab: 3 Kauj Ruam
Plaub Tsab Ntawv Lo Lus Nrog Akafugu Cov Ntawv Tsim Tsiaj thiab Cov Kab Lus Txhawb Siab: 3 Kauj Ruam

Video: Plaub Tsab Ntawv Lo Lus Nrog Akafugu Cov Ntawv Tsim Tsiaj thiab Cov Kab Lus Txhawb Siab: 3 Kauj Ruam

Video: Plaub Tsab Ntawv Lo Lus Nrog Akafugu Cov Ntawv Tsim Tsiaj thiab Cov Kab Lus Txhawb Siab: 3 Kauj Ruam
Video: Saib Mis paub Poj niam (hluas nkauj) tus yam ntxwv lub siab 2024, Hlis ntuj nqeg
Anonim
Image
Image
Plaub Tsab Ntawv Lo Lus Sijhawm Nrog Akafugu Cov Ntawv Tsim Tsog thiab Cov Lus Tseeb
Plaub Tsab Ntawv Lo Lus Sijhawm Nrog Akafugu Cov Ntawv Tsim Tsog thiab Cov Lus Tseeb
Plaub Tsab Ntawv Teev Sijhawm Nrog Akafugu Cov Ntawv Tsim Tsog thiab Cov Lus Tseeb
Plaub Tsab Ntawv Teev Sijhawm Nrog Akafugu Cov Ntawv Tsim Tsog thiab Cov Lus Tseeb

Nov yog kuv qhov version ntawm Plaub Tsab Ntawv Lo Lus Clock, lub tswv yim uas rov qab los rau xyoo 1970s. Lub moos qhia txog kab lus ntawm plaub tsab ntawv uas tau tsim los ntawm ib lo lus tsis siv lub tshuab tsim hluav taws xob lossis los ntawm cov ntaub ntawv khaws tseg ntawm cov lus plaub tsab ntawv.

Cov ntawv no siv ntau dua 14 ntu ntu LED qhia thiab Atmega 328p microcontroller los tso saib cov lus thiab sijhawm. Hom lus ob hom lus raug txhawb. Thawj qhov siv cov txheej txheem los tsim plaub pawg ntawv lo lus uas zoo li yuav yog cov lus tiag, zoo ib yam li thawj. Txhua lo lus txuas ntxiv tsis cuam tshuam nrog yav dhau los. Hom thib ob siv cov ntaub ntawv txheeb ze los ntawm "Edinburgh Associative Thesaurus", cov ntaub ntawv ntawm cov koom haum lo lus raws li tib neeg cov lus teb rau nug thawj lo lus uas los rau hauv siab tom qab muab lawv cov noob lus, tom qab txuas ntxiv cov txheej txheem nrog lo lus teb. Cov ntaub ntawv khaws cia tau hloov pauv mus rau plaub tsab ntawv los ntawm Akafugu Corporation, uas tau tsim 57 Kbyte cov ntaub ntawv cov ntaub ntawv uas tau khaws cia hauv EEPROM sab nraud rau kev ua los ntawm Atmega. Qhov tshwm sim yog lub moos siv Unix lub sijhawm ua cov noob uas tsis sib xws thiab tsim cov kab lus sib txuas plaub tsab ntawv raws li tib neeg cov lus teb, tsis yog qee qhov txheej txheem.

Nco tseg: Akafugu lo lus database muaj qee cov lus hais txog kev sib deev thiab hais lus phem. Yog tias qhov no cuam tshuam koj, thov qhib hom lus tsis raug. Qhov no kuj tseem yuav tsim qee cov lus tsis txaus ntseeg, tab sis tsawg kawg yuav tsis tso tawm kwj ntawm cov lus tsis txaus ntseeg cuam tshuam!

"Edinburgh Associative Thesaurus" tau suav sau raws li cov lus teb los ntawm cov neeg nyob hauv tebchaws Askiv thaum ntxov 60s. Lo lus kev sib raug zoo qhia meej txog kev tsis ncaj ncees! Piv txwv li, lo lus "ZOO" feem ntau ua raws "PETE". Tsis muaj kev sib txuas pom tseeb tshwm sim, tshwj tsis yog ib tus paub tias Pete Zoo yog tus ntaus nruas qub rau Beatles thaum ntxov 60s! Lwm qhov kev ntxub ntxaug rau UK kev coj noj coj ua ntawm 60s muaj ntau. Kuv xav tias nws yog qhov nthuav heev los saib!

Cov cuab yeej tseem muaj I2C qhov chaw nyob Lub Sijhawm Sijhawm Sijhawm Sijhawm nrog them rov qab roj teeb. Lub moos qhia 5 lo lus los ntawm ib qho ntawm ob qho kev xaiv ua haujlwm, tom qab ntawd qhia lub sijhawm, hnub tim, hnub ntawm lub lim tiam thiab xyoo. Lub moos thiab hom kev ua haujlwm tau teeb tsa siv peb lub khawm khawm hloov. Hom kev ua haujlwm tau khaws cia hauv EEPROM uas tsis hloov pauv thiab muaj sia nyob rov pib dua lossis lub zog tsis ua haujlwm. RTC tseem ua haujlwm txuas ntxiv txog ib xyoos tom qab tshem tawm lub zog, nrog rau qhov ntsuas kub tau txias heev. Lub sijhawm raug raug tso tawm kom pom thaum lub zog rov qab los.

Ib qho ntxiv yog 107 cov lus hais txog lub sijhawm uas tau tshwm sim tsis raug txhua txhua 10 feeb. Cov lus hais los ntawm sab xis mus rau sab laug hla plaub tus cim, muab kev txhawb nqa thiab kev tshoov siab tas li! Kev khaws cia rau kab lus yog nyob rau sab nraud EEPROM nrog Akafugu lo lus database. Cov ntaub ntawv siv sijhawm tsuas yog 57 Kbytes ntawm 64 Kbytes muaj nyob hauv lub cuab yeej, tawm ntawm qhov chaw rau 107 kab lus. Cov kab lus "khav" yog ib txwm pom thawj zaug thaum lub moos tau pib ua haujlwm ntawm 10 feeb ntxiv tom ntej.

Chav tsev siv ntau cathode 14-ntu lus qhia (2 cathodes rau txhua tus lej) uas tau sib npaug los ntawm lub sijhawm cuam tshuam cov kev pabcuam niaj hnub uas ua rau pom plaub tus cwj pwm tau rov ua dua tshiab ntawm 100 Hz. Thaum twg los xij ISR khiav, nws hloov pauv tus lej ib nrab yav dhau los, khaws 7 ntawm 14 ntu rau ib ntawm plaub tus cim, tig rau ntu ntu sib thooj thiab thaj chaw cathode sib xws. Cov lus pom tsis txawv me ntsis, tab sis kuv muaj cov khoom seem ntau uas kuv xav siv. Qhov ob-cathode txo tus naj npawb ntawm tus pin xav tau ntawm tus lej ntawm 15 txog 9. Muaj tsuas yog cov pins txaus ntawm Atmega 328p tso cai ncaj qha tsav ntawm cov zaub yam tsis muaj kev hloov npe.

TO-DO: Hloov kho cov cai siv Adafruit 4-character alphanumeric LED module

Kauj Ruam 1: Keeb Kwm

Keeb Kwm
Keeb Kwm
Keeb Kwm
Keeb Kwm
Keeb Kwm
Keeb Kwm
Keeb Kwm
Keeb Kwm

Thawj lub moos FLW tau tsim nrog Burroughs loj B7971 cov ntawv xov tooj neon ntau tshaj cov raj tau khaws los ntawm kev tso tawm cov khoom lag luam ticker tso saib cov laug cam. Cov no zoo ib yam li cov lej nixie hlab ntawm lub sijhawm, tab sis siv 14 ntu ntu los ua tag nrho cov cim ASCII. Lub moos siv cov kev xav tsis sib xws, xaiv cov tsiaj ntawv los ntawm lub rooj los tsim ua plaub qhov ntawv sib dhos ua ke uas tau hnyav kom zoo li yuav tsim cov lus tiag.

Nrog cov txheej txheem Hauv thawj 1972 tus qauv, tsuas yog qee cov tsiaj ntawv tshwm hauv txhua txoj haujlwm. Kev txheeb xyuas txhais tes ntawm ntau pua lo lus-ntawv tau ua thiab qhov ntau zaus ntawm cov ntawv hauv txhua ntawm plaub txoj haujlwm tau suav. Kaum tsab ntawv nquag siv ntawm txhua txoj haujlwm tau siv, tshwj tsis yog hauv txoj haujlwm thib ob uas tsuas muaj yim tsab ntawv.

Rau txhua txoj haujlwm, yooj yim BCD (0-9) txee (a 74LS90 IC) tau khiav dawb thiab suav tau raug ntes thiab tuav txog ib zaug txhua ob peb feeb mus rau ib feeb twg, nyob ntawm qhov nrawm. Tom qab ntawd lub txee snapshot tau thov rau diode decoding matrix (siv txog 150 diodes) los tsim cov cim.

Txij li tsuas yog kaum (lossis yim) cov ntawv feem ntau raug xaiv rau txhua txoj haujlwm, tsis hais txog kev sib txuas ua ntawv, ntau yam tsis yog lo lus tuaj yeem tshwm sim, piv txwv li, FRLR, LREE, LLLL, thiab lwm yam.

Nco tseg tias txoj haujlwm thib ob tsuas yog muaj yim tus ntawv, txij li cuaj thiab kaum tsab ntawv hauv tus qauv muaj qhov sib faib tsawg zaus, thaum thawj thiab thib ob muaj qhov ua tau zoo heev-yog li lawv tau muab ob npaug. Yog li 10 x 8 x 10 x 10 = 8000 kev hloov pauv. Cov tsiaj ntawv uas tau npaj rau thawj tus qauv xyoo 1973 tau qhia hauv ib qho ntawm cov duab saum toj no.

Kauj ruam 2: Code thiab Schematic

Code thiab Schematic
Code thiab Schematic
Code thiab Schematic
Code thiab Schematic
Code thiab Schematic
Code thiab Schematic
Code thiab Schematic
Code thiab Schematic

Schematic yog txuas nrog.

Lub moos yuav raug tsim siv ib qho Atmega 328p-based Arduino.

Txhawm rau siv nrog tus kheej Atmega 328p, raws li tau qhia hauv cov txheej txheem, tus kws tshaj lij ISP yuav tsum tau siv los teeb tsa lub microcontroller ntawm Arduino IDE. Tom qab ua haujlwm, fuses yuav tsum tau teeb tsa siv cov lus txib avrdude hauv qab no (WinAVR yuav tsum tau teeb tsa). Hloov chaw com chaw nres nkoj thiab hom programmer. Qhov yooj yim tshaj yog siv Arduino ua ISP programmer. Google kom paub meej.

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

Cov chaw no cuam tshuam rau bootloader rov pib dua vector yog li cov cai tam sim ntawd pib los ntawm cov cai tseem ceeb vector. Cov fuses tseem tau teeb tsa rau sab nraud 16MHz oscillator. Ib zaug hlawv, koj yuav tsis tuaj yeem teeb tsa lub nti ntxiv kom txog thaum siv lead ua thiab lub capacitors tau txuas nrog raws li tau qhia hauv cov txheej txheem, vim tias lub hauv ntej oscillator tsis zoo nrog cov fuse teeb tsa no.

DS3231 Arduino lub tsev qiv ntawv yuav tsum tau teeb tsa kom nkag tau mus rau RTC lub sijhawm ua haujlwm. Nws yog qhov tsim nyog los pab Unix lub sijhawm txhawb nqa hauv lub tsev qiv ntawv los ntawm kev tsis txaus siab kab "#define CONFIG_UNIXTIME" hauv DS3231 RTC lub tsev qiv ntawv teeb tsa.h cov ntaub ntawv. Lub sijhawm Unix tau siv los ua cov noob rau cov lej tsim hluav taws xob xwv kom cov lus thiab kab lus ua ntu zus yuav tsis rov ua dua txhua lub sijhawm uas lub moos tau qhib.

DS3231 RTC moos module nws tus kheej yog ntau yam muag ntawm ebay. Tus qauv yog qhia saum toj no. Saib rau hom nrog lub roj teeb rov ua dua tshiab.

Ntxiv rau qhov kev tswj hwm microcontroller, nws kuj tseem yuav tsum tau txais thiab ua haujlwm Microchip 24LC512 serial EEPROM nrog Akafugu lo lus database thiab cov npe kab lus. Qhov no tau ua tiav siv cov txheej txheem yooj yim tsim nrog Arduino, thiab daim npav SD ua qauv raws li FAT32 nrog cov ntaub ntawv output2.dat rau nws. Ib daim duab kos nyeem cov ntaub ntawv los ntawm daim npav SD thiab sau nws mus rau EEPROM. Cov ntsiab lus tuaj yeem pom ntawm ob qhov txuas hauv qab no. Nco ntsoov siv cov txheej txheem kos duab thiab cov ntaub ntawv hauv phau ntawv qhia no, raws li ib qho ntawm Akafugu txuas tsis muaj cov kab lus database. Ua raws cov txheej txheem hauv qhov txuas.

Akafugu FLW cov ntaub ntawv txheej txheem txheej txheem

Cov lus qhia rau hlawv cov ntaub ntawv rau EEPROM

Kauj Ruam 3: Teeb Teeb thiab Tswj

Cov khawm hauv qab no sib txuas ua ke yog siv rau teeb tsa moos:

Teev teev: Tuav khawm 1 thaum lub sijhawm ua haujlwm ib txwm muaj.

Teeb tsa feeb: Tuav khawm 2 thaum lub sijhawm ua haujlwm ib txwm muaj. Qhov thib ob yog rov pib dua rau "00" txiav

Qhov thib ob rov pib dua rau xoom: Tuav khawm 3 thaum lub sijhawm ua haujlwm ib txwm muaj, tso tawm kom sib haum nrog pib ntawm feeb tshiab

Teeb Lub Hlis: Tuav khawm 1 thiab 2 ua ke thaum lub sijhawm ua haujlwm ib txwm muaj

Teeb Hnub: Tuav khawm 1 thiab 3 ua ke thaum lub sijhawm ua haujlwm ib txwm muaj

Teeb Xyoo: Tuav khawm 2 thiab 3 ua ke thaum lub sijhawm ua haujlwm ib txwm muaj

Teeb Hnub Ib Hlis: Tuav cov nyees khawm 1, 2 thiab 3 ua ke thaum lub sijhawm ua haujlwm ib txwm muaj

Thaum chav ua haujlwm tau pib ua ntej, hom kev ua haujlwm tau tshwm sim sai sai ua ntej lo lus pib:

"EE" txhais tau tias I2C sab nraud EEPROM uas muaj Akafugu lo lus database thiab kab lus teev npe tau raug kuaj pom.

"NOEE" txhais tau tias EEPROM tsis tau kuaj pom. Chav tsev hloov mus rau kev tsim cov lus tsis raug thiab tsis muaj kab lus tso tawm.

"CK" txhais tau tias lub sijhawm thiab hnub tau tshwm tom qab pom 5 lo lus sib law liag.

"NOCK" txhais tau tias lub sijhawm/hnub raug tua. Cov lus tsis tu ncua tau nthuav tawm tsis tu ncua, cuam tshuam txhua 10 feeb los ntawm kab lus.

"RND" txhais tau hais tias hom kev siv lo lus tsis raug siv

"REL" txhais tau tias kev txheeb ze "Akafugu" lo lus database tsim hom yog siv

Txhawm rau hloov pauv thiab txuag hom, tshem lub moos thiab ntsaws rov qab thaum tuav ib qho ntawm cov lus qhia. Tom qab ntawd tso khawm. Hom tshiab tau khaws cia thiab nthuav tawm:

Khawm 1: Toggle thiab txuag Random lossis Relational lo lus tsim hom

Khawm 2: Toggle cov zaub ntawm hnub/sijhawm tom qab 5 lo lus sib txuas rau lossis tawm

Pom zoo: