Mundarija:

Akafugu so'z yaratuvchisi va ilhomlantiruvchi iborali to'rt harfli so'z soati: 3 qadam
Akafugu so'z yaratuvchisi va ilhomlantiruvchi iborali to'rt harfli so'z soati: 3 qadam

Video: Akafugu so'z yaratuvchisi va ilhomlantiruvchi iborali to'rt harfli so'z soati: 3 qadam

Video: Akafugu so'z yaratuvchisi va ilhomlantiruvchi iborali to'rt harfli so'z soati: 3 qadam
Video: Akafugu VFD clock review 2017 2024, Noyabr
Anonim
Image
Image
Akafugu so'z yaratuvchisi va ilhomlantiruvchi iborali to'rt harfli so'z soati
Akafugu so'z yaratuvchisi va ilhomlantiruvchi iborali to'rt harfli so'z soati
Akafugu so'z yaratuvchisi va ilhomlantiruvchi iboralar bilan to'rt harfli so'z soati
Akafugu so'z yaratuvchisi va ilhomlantiruvchi iboralar bilan to'rt harfli so'z soati

Bu mening to'rt harfli so'z soati, mening fikrimcha, 1970 -yillarda paydo bo'lgan. Soat tasodifiy so'zlar algoritmidan yoki to'rt harfli so'zlar bazasidan hosil bo'lgan to'rt harfli so'zlar turkumini ko'rsatadi.

Ushbu versiyada so'zlar va vaqtni ko'rsatish uchun zamonaviyroq 14 segmentli LED displeylar va Atmega 328p mikrokontroller ishlatiladi. Ikki so'z yaratish rejimi qo'llab -quvvatlanadi. Birinchisi, asl so'zga o'xshash haqiqiy so'zlar bo'lishi mumkin bo'lgan to'rt harfli so'z turkumlarini yaratish uchun algoritmdan foydalanadi. Har bir keyingi so'z oldingi so'z bilan bog'liq emas. Ikkinchi rejimda "Edinburg assotsiativ tezaurusi" dan olingan so'zlar ma'lumotlar bazasi ishlatiladi, bu so'z birlashmalari to'g'risidagi hujjat bo'lib, odamlarga ularga birinchi so'zni berganidan keyin birinchi bo'lib kelgan so'zni so'rashga javob beradi, so'ngra jarayonni javob so'zi bilan davom ettiradi. Ma'lumotlar bazasi Akafugu korporatsiyasi tomonidan to'rt harfli so'zlarni ishlab chiqarishga moslashtirildi, u 57 Kbaytlik ma'lumotlar faylini yaratdi, u Atmega tomonidan qayta ishlash uchun tashqi EEPROMda saqlanadi. Natijada, soat Unix vaqtini tasodifiy urug 'sifatida ishlatadi va ba'zi bir algoritmga emas, balki odamlarning javoblariga asoslangan to'rt harfli so'zlarni hosil qiladi.

E'tibor bering: Akafugu so'zlar bazasida bir nechta shahvoniy so'zlar mavjud. Agar bu sizni bezovta qilsa, iltimos, tasodifiy so'z rejimini yoqing. Bu, shuningdek, ba'zi haqoratli so'zlarni keltirib chiqarishi mumkin, lekin hech bo'lmaganda tegishli haqoratli so'zlar oqimini ko'rsatmaydi!

"Edinburg assotsiativ tezaurusi" 60 -yillarning boshlarida Angliyada yashagan odamlarning javoblari asosida tuzilgan. Aloqalar so'zi, albatta, bu tarafkashlikni aks ettiradi! Masalan, "BEST" so'zining ortidan "PETE" keladi. Pit Best 60 -yillarning boshlarida "Bitlz" uchun barabanchi ekanligini bilmasa, aniq aloqa yo'q! 60 -yillarning Buyuk Britaniya madaniyatiga nisbatan boshqa tarafkashliklar ko'p. O'ylaymanki, tomosha qilish juda qiziq!

Qurilmada zaryadlanuvchi batareyaning zaxira nusxasi bo'lgan I2C manzilli Real Time Clock moduli ham mavjud. Soat ikkita tanlangan algoritmdan birining 5 so'zini ko'rsatadi, so'ngra vaqt, sana, hafta kuni va yilni ko'rsatadi. Soat va ish rejimlari uchta tugmachali kalit yordamida o'rnatiladi. Ishlash rejimlari o'zgaruvchan bo'lmagan EEPROMda saqlanadi va qayta o'rnatish yoki elektr uzilishidan omon qoladi. Quvvat o'chirilgandan so'ng, RTC taxminan bir yil davomida ishlashni davom ettiradi, bu esa harorat bilan kompensatsiyalangan o'ta aniq. Quvvat tiklanganda to'g'ri vaqt avtomatik ravishda ko'rsatiladi.

Qo'shimcha xususiyat - har 10 daqiqada tasodifiy ko'rsatiladigan vaqt haqidagi 107 tirnoq. Bu iqtiboslar tez -tez dalda va ilhom beruvchi to'rtta belgidan o'ngdan chapga siljiydi! Bu iboralarni saqlash Akafugu so'zlar ma'lumotlar bazasi bilan tashqi EEPROMda joylashgan. Ma'lumotlar bazasi qurilmada mavjud bo'lgan 64 Kbaytdan atigi 57 Kbaytni oladi va 107 ta iboraga joy qoldiradi. "Mag'rurlik" iborasi soat birinchi navbatda 10 daqiqali intervalda ishga tushirilganda birinchi bo'lib ko'rsatiladi.

Qurilma 14-segmentli umumiy katodli displeylardan foydalanadi (har bir raqam uchun 2 ta katod), ular taymerni uzish xizmati bilan ko'paytiriladi, natijada to'rt belgili displey 100 Gts da yangilanadi. Har safar ISR ishga tushganda, u oldingi yarim belgini o'chiradi, to'rtta belgidan bittasi uchun 14 segmentdan 7tasini oladi, tegishli segment pimlarini yoqadi va tegishli katodni o'chiradi. Ko'rsatkichlar juda kam uchraydi, lekin men foydalanmoqchi bo'lgan katta miqdordagi ortiqcha ta'minotga ega bo'ldim. Ikkita umumiy katod bitta raqam uchun zarur bo'lgan pinlar sonini 15 tadan 9 taga kamaytiradi. Atmega 328p da displeyni smenali registrsiz to'g'ridan-to'g'ri haydashga imkon beradigan pinlar etarli.

TO-DO: Adafruit 4 belgili alfasayısal LED modulidan foydalanish uchun kodni o'zgartiring

1 -qadam: Tarix

Tarix
Tarix
Tarix
Tarix
Tarix
Tarix
Tarix
Tarix

Asl FLW soati katta Burroughs B7971 harfli -raqamli neon ortiqcha naychalari bilan qurib bitkazilgan aktsiyalarni ko'rsatuvchi taxtalardan yasalgan. Ular o'sha davrdagi raqamli nixie naychalariga o'xshaydi, lekin barcha ASCII belgilarini yaratish uchun 14 segmentli displeydan foydalangan. Soat diskret mantiqni ishlatib, jadvaldan harflarni tanlab, tasodifiy to'rtta harfli kombinatsiyani hosil qildi, ular haqiqiy so'zlarni ishlab chiqarishi mumkin edi.

Algoritm bilan 1972 yilgi asl modelda har bir pozitsiyada faqat ma'lum harflar paydo bo'ladi. Bir necha yuz to'rt harfli so'zlarning qo'lda jadvalli tahlili o'tkazildi va har to'rt pozitsiyada harflarning chastotasi hisoblab chiqildi. Har bir pozitsiyaning eng tez -tez uchraydigan o'nta harfi ishlatilgan, faqat sakkiz harfdan iborat ikkinchi pozitsiyadan tashqari.

Har bir pozitsiya uchun BCD (0-9) oddiy hisoblagichi (74LS90 IC) bemalol yugurdi va tezlikni sozlashiga qarab sanoq bir necha soniyadan bir daqiqagacha ushlab turildi va ushlab turildi. Belgilarni yaratish uchun hisoblagichning surati diodli dekodlash matritsasiga (taxminan 150 diod yordamida) qo'llanildi.

Har bir pozitsiya uchun faqat o'nta (yoki sakkizta) eng keng tarqalgan harflar tanlanganligi sababli, harf birikmalarini hisobga olmaganda, ko'p bo'lmagan so'zlar paydo bo'lishi mumkin, masalan, FRLR, LREE, LLLL va boshqalar.

E'tibor bering, ikkinchi pozitsiyada faqat sakkizta harf bor edi, chunki namunadagi to'qqizinchi va o'ninchi harflar mutanosib past chastotaga ega edi, birinchi va ikkinchisi juda yuqori chastotaga ega edi, shuning uchun ular ikki baravar ko'paydi. Shunday qilib, 10 x 8 x 10 x 10 = 8000 ta almashtirish. 1973 yil birinchi modelga dasturlashtirilgan harflar yuqoridagi rasmlardan birida ko'rsatilgan.

2 -qadam: kod va sxema

Kod va sxema
Kod va sxema
Kod va sxema
Kod va sxema
Kod va sxema
Kod va sxema
Kod va sxema
Kod va sxema

Sxema ilova qilingan.

Soat har qanday Atmega 328p asosidagi Arduino yordamida qurilishi mumkin.

Sxemada ko'rsatilgandek, mustaqil Atmega 328p bilan ishlash uchun, Arduino IDE orqali mikrokontrollerni dasturlash uchun ISP dasturchisidan foydalanish kerak. Dasturlashdan so'ng, sigortalar quyidagi avrdude buyrug'i yordamida o'rnatilishi kerak (WinAVR o'rnatilgan bo'lishi kerak). Kom portini va dasturchi turini almashtiring. Eng oson yo'li - Arduino -dan Internet -provayder sifatida foydalanish. Tafsilotlar uchun 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

Ushbu sozlamalar bootloader reset vektorini o'chirib qo'yadi, shuning uchun kod darhol asosiy kod vektoridan boshlanadi. Sigortalar, shuningdek, tashqi 16 MGtsli osilator uchun o'rnatiladi. Yonib bo'lgach, siz kristal va kondansatörler sxemada ko'rsatilganidek ulanmaguncha chipni qayta dasturlay olmaysiz, chunki bu sug'urta sozlamalari bilan standart ichki osilator o'chirilgan.

RTC soat tartibiga kirishni ta'minlash uchun DS3231 Arduino kutubxonasi o'rnatilishi kerak. DS3231 RTC kutubxonasi config.h faylidagi "#define CONFIG_UNIXTIME" qatorini olib tashlash orqali kutubxonada Unix vaqtini qo'llab -quvvatlashni yoqish kerak. Unix vaqti tasodifiy sonlar generatori uchun urug 'sifatida ishlatiladi, shuning uchun har safar soat yoqilganda so'z va iboralar ketma -ketligi takrorlanmaydi.

DS3231 RTC soat modulining o'zi - ebayda sotiladigan keng tarqalgan nav. Modul yuqorida ko'rsatilgan. Zaryadlanuvchi zaxira batareyali turini qidiring.

Dasturlashtirilgan mikrokontrollerdan tashqari, Akafugu so'zlar bazasi va iboralar ro'yxatiga ega Microchip 24LC512 seriyali EEPROMni olish va dasturlash ham zarur. Bu Arduino bilan o'rnatilgan oddiy sxema va FAT32 formatidagi SD2 karta, unda output2.dat fayli yordamida amalga oshiriladi. Eskiz SD -kartadagi ma'lumotlarni o'qiydi va EEPROMga yozadi. Tafsilotlarni quyidagi ikkita havolada topish mumkin. Ushbu ko'rsatmada dasturiy chizma va ma'lumotlar faylini ishlatganingizga ishonch hosil qiling, chunki Akafugu havolasida iboralar bazasi yo'q. Havolalarda ko'rsatilgan tartibni bajaring.

Akafugu FLW ma'lumotlar bazasiga umumiy nuqtai

Ma'lumotlar faylini EEPROM -ga yozish bo'yicha ko'rsatmalar

3 -qadam: soatni sozlash va boshqarish

Quyidagi tugmalar birikmasi soatni sozlash uchun ishlatiladi:

Vaqt belgilandi: normal ish paytida 1 tugmachasini bosib turing.

Daqiqalar to'plami: normal ish paytida 2 tugmachasini bosib turing. Ikkinchisi avtomatik ravishda "00" ga qaytariladi

Sekundlar nolga qaytariladi: 3 -tugmani normal ish paytida ushlab turing, yangi daqiqaning boshlanishi bilan sinxronizatsiya qilish uchun qo'yib yuboring

Oyni o'rnatish: 1 va 2 tugmachalarini normal ish paytida birga ushlab turing

Sana o'rnatish: 1 va 3 tugmachalarini normal ish paytida birga ushlab turing

Yilni o'rnatish: 2 va 3 tugmachalarini normal ish paytida birga ushlab turing

Haftaning kunini belgilang: normal ish paytida 1, 2 va 3 tugmachalarini birga bosib turing

Jihoz birinchi marta yoqilganda, so'z ishlab chiqarish boshlanishidan oldin ish rejimlari tezda ko'rsatiladi:

"EE" - bu Akafugu so'zlar bazasi va iboralar ro'yxatini o'z ichiga olgan I2C tashqi EEPROMini bildiradi.

"NOEE" EEPROM aniqlanmaganligini anglatadi. Qurilma so'zlarni tasodifiy yaratishga qaytadi va iboralar ko'rsatilmaydi.

"CK" vaqt va sana ketma -ket 5 ta so'zni ko'rsatgandan keyin ko'rsatilishini bildiradi.

"NOCK" vaqti/sanasi o'chirilganligini bildiradi. So'zlar oqimi doimiy ravishda ko'rsatiladi va har 10 daqiqada bir ibora bilan uziladi.

"RND" tasodifiy so'z yaratish rejimi ishlatilishini bildiradi

"REL" so'zi "Akafugu" so'zlar bazasini yaratish rejimining ishlatilishini anglatadi

Rejimlarni o'zgartirish va saqlash uchun, soatni ajratib qo'ying va ko'rsatilgan tugmalardan birini ushlab turing. Keyin tugmani qo'yib yuboring. Yangi rejim saqlanadi va ko'rsatiladi:

1 -tugma: Tasodifiy yoki o'zaro bog'liq so'z yaratish rejimini yoqing va saqlang

2 -tugma: ketma -ket 5 so'zdan keyin sana/vaqtni ko'rsatishni yoqish yoki o'chirish

Tavsiya: