Агуулгын хүснэгт:

Акафугу үг үүсгэгч, урам зоригтой хэллэг бүхий дөрвөн үсэгтэй үг цаг: 3 алхам
Акафугу үг үүсгэгч, урам зоригтой хэллэг бүхий дөрвөн үсэгтэй үг цаг: 3 алхам

Видео: Акафугу үг үүсгэгч, урам зоригтой хэллэг бүхий дөрвөн үсэгтэй үг цаг: 3 алхам

Видео: Акафугу үг үүсгэгч, урам зоригтой хэллэг бүхий дөрвөн үсэгтэй үг цаг: 3 алхам
Видео: Mastering Habits Unleashing the Power to Transform Your Business Relationships and Life #audiobooks 2024, Долдугаар сарын
Anonim
Image
Image
Акафугу үг үүсгэгч, урам зоригтой хэллэг бүхий дөрвөн үсэгтэй үг цаг
Акафугу үг үүсгэгч, урам зоригтой хэллэг бүхий дөрвөн үсэгтэй үг цаг
Акафугу үг үүсгэгч, урам зориг өгөх хэллэг бүхий дөрвөн үсэгтэй үг цаг
Акафугу үг үүсгэгч, урам зориг өгөх хэллэг бүхий дөрвөн үсэгтэй үг цаг

Энэ бол 1970 -аад онд бий болсон дөрвөн үсгийн үгний цагийн миний хувилбар юм. Цаг нь санамсаргүй үг үүсгэгч алгоритм эсвэл холбогдох дөрвөн үсгийн үгсийн мэдээллийн сангаас үүсгэсэн дөрвөн үсэг бүхий цуврал үгсийг харуулдаг.

Энэ хувилбар нь илүү орчин үеийн 14 сегментийн LED дэлгэц, үг, цагийг харуулахын тулд Atmega 328p микроконтроллерийг ашигладаг. Хоёр үг үүсгэх горимыг дэмждэг. Эхнийх нь анхны үгтэй төстэй бодит үг байх магадлалтай дөрвөн үсэг бүхий үгсийн бүлгийг үүсгэх алгоритмыг ашигладаг. Дараалсан үг бүр өмнөх үгтэй холбоогүй болно. Хоёрдахь горим нь "Эдинбургийн Ассоциацийн Тезаурус" -аас хамааралтай үгийн мэдээллийн санг ашигладаг бөгөөд энэ нь хүмүүсийн үгийг өгсний дараа санаанд орж ирэх эхний үгийг асуухад хүмүүсийн хариулт дээр үндэслэсэн үгийн холболтуудын баримт бичиг бөгөөд дараа нь үйл явцыг хариултын үгээр үргэлжлүүлнэ. Мэдээллийн санг Акафугу корпораци дөрвөн үсэг бүхий үг үүсгэхэд тохируулсан бөгөөд 57 Kbyte өгөгдлийн файлыг үүсгэж, гадны EEPROM-д хадгалагдаж Atmega боловсруулдаг. Үүний үр дүнд цаг нь Unix цагийг санамсаргүй үр болгон ашиглаж, зарим алгоритм биш харин хүний хариулт дээр үндэслэсэн дөрвөн үсэг бүхий холбогдох үгсийг үүсгэдэг.

Тэмдэглэл: Акафугу үгийн мэдээллийн санд садар самуун, доромжилсон үгсийг оруулсан болно. Хэрэв энэ нь танд төвөг учруулж байвал санамсаргүй үгийн горимыг асаана уу. Энэ нь бас зарим доромжилсон үгсийг үүсгэж болох ч дор хаяж холбоотой доромжилсон үгсийн урсгалыг харуулахгүй болно!

"Эдинбургийн Ассоциатив Тезавр" -ыг 60 -аад оны эхээр Англид амьдарч байсан хүмүүсийн хариулт дээр үндэслэн эмхэтгэв. Харилцаа гэдэг үг энэ хэвийсэн утгыг илэрхийлэх болно! Жишээлбэл, "ШИЛДЭГ" гэдэг үгийг "PETE" гэж байнга дагаж мөрддөг. Пит Бест бол 60 -аад оны эхээр Битлз хамтлагийн анхны бөмбөрчин байсан гэдгийг хэн ч мэдэхгүй л бол ямар ч тодорхой холболт байхгүй! 60 -аад оны Их Британийн соёлын талаархи бусад хандлага их байдаг. Үзэх нь маш сонирхолтой гэж би бодож байна!

Төхөөрөмж нь мөн цэнэглэдэг батерейны нөөцтэй I2C хаягтай бодит цагийн модулийг агуулдаг. Цаг нь сонгож болох хоёр алгоритмын аль нэгээс 5 үгийг харуулаад дараа нь цаг, огноо, долоо хоногийн өдөр, жилийг харуулна. Цаг ба ажиллах горимыг гурван товчлууртай унтраалга ашиглан тохируулдаг. Ашиглалтын горимууд нь дэгдэмхий бус EEPROM-д хадгалагддаг бөгөөд дахин тохируулах эсвэл цахилгаан тасалдахад амьд үлддэг. Цахилгаан эрчим хүчийг салгаснаас хойш нэг жил орчим хугацаанд температурыг маш өндөр нарийвчлалтай нарийвчлалтайгаар үргэлжлүүлэн ажиллуулж байна. Эрчим хүчийг сэргээх үед зөв цагийг автоматаар харуулдаг.

Нэмэлт боломж бол 10 минут тутамд санамсаргүй байдлаар харуулдаг цаг хугацааны талаархи 107 ишлэл юм. Эдгээр ишлэлүүд дөрвөн тэмдэгтийг баруун талаас зүүн тийш гүйлгэж, байнга урам зориг, урам зориг өгдөг! Энэ хэллэгийг хадгалах нь Akafugu үгийн мэдээллийн сан бүхий гадаад EEPROM -д байдаг. Өгөгдлийн сан нь төхөөрөмжид байгаа 64 Кбайт -аас ердөө 57 Кбайт авдаг бөгөөд 107 хэллэгт зай үлдээдэг. Дараагийн 10 минутын интервалаар цагийг асаахад "сайрхах" гэсэн хэллэг үргэлж хамгийн түрүүнд харагддаг.

Энэхүү төхөөрөмж нь 14 сегмент бүхий нийтлэг катод дэлгэц (цифр тус бүрт 2 катод) ашигладаг бөгөөд таймер таслах үйлчилгээний горимоор үржүүлж, дөрвөн тэмдэгт дэлгэцийг 100 Гц-ээр шинэчилдэг. ISR-ийг ажиллуулах бүрт өмнөх хагас тэмдэгтийг унтрааж, дөрвөн сегментийн аль нэгэнд 14 сегментийн 7-ийг нь авч, харгалзах сегментийн зүүг асааж, харгалзах катодыг оруулдаг. Дэлгэцүүд нь маш ховор тохиолддог, гэхдээ би ашиглахыг хүсч байсан их хэмжээний илүүдэл нийлүүлэлт байсан. Давхар нийтлэг катод нь орон бүрт шаардагдах зүү тоог 15-аас 9 болгон бууруулдаг. Atmega 328p дээр дэлгэцийг ээлжийн бүртгэлгүйгээр шууд хөтлөх боломжтой хангалттай тооны голтой байдаг.

Хийх зүйл: Adafruit 4 тэмдэгтээс бүрдсэн тоон LED LED модулийг ашиглахын тулд кодыг өөрчилнө үү

Алхам 1: Түүх

Түүх
Түүх
Түүх
Түүх
Түүх
Түүх
Түүх
Түүх

Анхны FLW цагийг ашиглалтаас гарсан хувьцааг борлуулах самбараас гаргаж авсан том Burroughs B7971 неон илүүдэл хоолойгоор бүтээжээ. Эдгээр нь тухайн үеийн тоон nixie хоолойтой төстэй боловч ASCII-ийн бүх тэмдэгтүүдийг бүрдүүлэхийн тулд 14 сегментийн дэлгэцийг ашигласан болно. Цаг нь логикийг ашиглан ширээн дээрх үсгүүдийг сонгож, жинхэнэ үг үүсгэх магадлалтай дөрвөн үсгийн хослолыг үүсгэн байгуулжээ.

Алгоритмын тусламжтайгаар 1972 оны анхны загварт байрлал бүрт зөвхөн тодорхой үсэг гарч ирдэг. Дөрвөн үсэг бүхий хэдэн зуун үгэнд гараар дүн шинжилгээ хийж, дөрвөн байрлал дахь үсгийн давтамжийг тоолов. Зөвхөн найман үсэг агуулсан хоёр дахь байрлалаас бусад тохиолдолд албан тушаал бүрийн хамгийн олон давтамжтай арван үсгийг ашигласан.

Байрлал бүрийн хувьд BCD (0-9) энгийн тоолуур (74LS90 IC) чөлөөтэй гүйж, хурдыг тохируулахаас хамааран тооллогыг хэдэн секунд тутамд нэг минут тутамд нэг удаа барьж авдаг. Тоолуурын хормын зургийг диодын декодчилох матрицад (150 орчим диод ашиглан) ашиглан тэмдэгтүүдийг үүсгэв.

Албан тушаал бүрийн хувьд хамгийн нийтлэг арвыг (эсвэл найман) үсгийг сонгосон тул үсгийн хослолыг үл харгалзан олон үг бус гарч ирж болно, жишээлбэл, FRLR, LREE, LLLL гэх мэт.

Хоёр дахь байрлал нь ердөө найман үсэгтэй байсныг анхаарна уу, дээжийн ес, арав дахь үсэг нь пропорциональ бага давтамжтай байсан бол эхний болон хоёр дахь нь маш өндөр давтамжтай байсан тул тэдгээрийг хоёр дахин нэмэгдүүлсэн болно. Тиймээс 10 x 8 x 10 x 10 = 8000 сэлгэлт. 1973 оны анхны загварт програмчилсан үсгүүдийг дээрх зургуудын аль нэгэнд үзүүлэв.

Алхам 2: Код ба схем

Код ба схем
Код ба схем
Код ба схем
Код ба схем
Код ба схем
Код ба схем
Код ба схем
Код ба схем

Схемийг хавсаргасан болно.

Цагийг ямар ч Atmega 328p дээр суурилсан Arduino ашиглан бүтээж болно.

Схемд үзүүлсэн шиг бие даасан Atmega 328p -ийг ашиглахын тулд Arduino IDE -ээр дамжуулан микроконтроллерыг програмчлахад ISP програмист ашиглах ёстой. Програмчлал хийсний дараа гал хамгаалагчийг дараах avrdude командыг ашиглан тохируулах ёстой (WinAVR суулгасан байх ёстой). Ком порт болон програмистын төрлийг орлуулна уу. Хамгийн хялбар нь Arduino -ийг ISP програмист болгон ашиглах явдал юм. Дэлгэрэнгүй мэдээллийг Google -ээс авна уу.

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

Эдгээр тохиргоо нь ачаалагчийг дахин тохируулах векторыг идэвхгүй болгодог тул код нь үндсэн кодын вектороос шууд эхэлдэг. Гал хамгаалагчийг мөн 16 МГц -ийн гадаад осцилляторт тохируулсан болно. Шатсаны дараа эдгээр гал хамгаалагчийн тохиргоогоор дотоод осцилляторыг идэвхгүй болгосон тул болор ба конденсаторыг схемд үзүүлсэн шиг холбох хүртэл та чипийг дахин програмчлах боломжгүй болно.

RTC цагийн горимд нэвтрэх боломжийг олгохын тулд DS3231 Arduino номын санг суулгах ёстой. DS3231 RTC номын сан config.h файл дахь "#define CONFIG_UNIXTIME" мөрийг тайлах замаар номын санд Unix цагийн дэмжлэгийг идэвхжүүлэх шаардлагатай байна. Unix цагийг санамсаргүй тооны генераторын үр болгон ашигладаг бөгөөд ингэснээр цагийг асаах бүрт үг, хэллэгийн дарааллыг давтахгүй болно.

DS3231 RTC цагны модуль нь өөрөө ebay дээр зарагддаг түгээмэл төрөл юм. Модулийг дээр харуулав. Цэнэглэдэг нөөц батерейтай төрлийг хайж олох.

Програмчлагдсан микроконтроллероос гадна Akafugu үгийн мэдээллийн сан, хэллэгийн жагсаалттай Microchip 24LC512 цуврал EEPROM -ийг олж авах, програмчлах шаардлагатай. Үүнийг Arduino ашиглан бүтээсэн энгийн хэлхээний тусламжтайгаар хийж, SD2 картыг FAT32 форматтай, output2.dat файлтай. Ноорог нь SD картнаас өгөгдлийг уншиж, EEPROM -д бичдэг. Дэлгэрэнгүй мэдээллийг дараах хоёр линкээс авах боломжтой. Энэхүү зааварчилгаанд програмчлалын ноорог, өгөгдлийн файлыг ашиглахаа мартуузай, учир нь Акафугу холбоос дээр өгүүлбэрийн мэдээллийн сан байхгүй байна. Холбоос дээрх процедурыг дагана уу.

Akafugu FLW мэдээллийн сангийн тойм

Өгөгдлийн файлыг EEPROM -д шатаах заавар

Алхам 3: Цагийн тохиргоо ба хяналт

Дараах товчлуурын хослолыг цаг тохируулахад ашигладаг

Цагийн тохиргоо: хэвийн ажиллаж байх үед 1 товчлуурыг дарна уу.

Минутын тохиргоо: 2 -р товчлуурыг хэвийн ажиллаж байх үед барина. Хоёр дахь нь автоматаар "00" болж өөрчлөгддөг

Секундийг тэг болгож тохируулах: Ердийн ажиллагааны үед 3 товчлуурыг дарж, шинэ минут эхлэхэд синхрончлохын тулд суллана уу

Сарын тохиргоо: 1 ба 2 товчлууруудыг хэвийн ажиллаж байх үед хамт дарна уу

Огноо тохируулах: 1 болон 3 -р товчлуурыг хэвийн ажиллаж байх үед хамт дарна уу

Жилийг тохируулах: 2 болон 3 -р товчлуурыг хэвийн ажиллаж байх үед хамт дарна уу

Долоо хоногийн өдрийг тохируулах: 1, 2, 3 -р товчлуурыг хэвийн ажиллаж байх үед дарна уу

Төхөөрөмжийг анх асаахад үг үүсгэх ажил эхлэхээс өмнө ажиллах горимуудыг хурдан харуулдаг.

"EE" гэдэг нь Akafugu үгийн мэдээллийн сан, хэллэгийн жагсаалтыг агуулсан I2C гадаад EEPROM гэсэн үг юм.

"NOEE" гэдэг нь EEPROM илрээгүй гэсэн үг юм. Энэ нэгж нь санамсаргүй үг үүсгэх горимд буцаж очдог бөгөөд өгүүлбэр харуулахгүй.

"CK" гэдэг нь дараалсан 5 үг харуулсны дараа цаг, огноог харуулахыг хэлнэ.

"NOCK" гэдэг нь цаг/огноог унтраасан гэсэн үг юм. Үгсийн тогтмол урсгалыг тасралтгүй харуулдаг бөгөөд 10 минут тутамд нэг өгүүлбэрээр тасалдаг.

"RND" гэдэг нь санамсаргүй үг үүсгэх горимыг ашигладаг гэсэн үг юм

"REL" гэдэг нь "Акафугу" үгийн мэдээллийн сан үүсгэх горимыг ашигладаг гэсэн үг юм

Горимыг өөрчлөх, хадгалахын тулд заасан товчлууруудын аль нэгийг дарж цагийг салгаад буцааж залгаарай. Дараа нь товчлуурыг суллана уу. Шинэ горимыг хадгалж, харуулна:

Товч 1: Санамсаргүй эсвэл хамааралтай үг үүсгэх горимыг асааж, хадгална уу

2 -р товчлуур: дараалсан 5 үгний дараа огноо/цагийн дэлгэцийг асаах, унтраах

Зөвлөмж болгож буй: