Mündəricat:
Video: Akafugu Word Generator və İlham Verici İfadələr ilə Dörd Hərfli Söz Saatı: 3 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Bu, 1970 -ci illərdə yaranmış bir fikir olan dörd hərfli söz saatının mənim versiyamdır. Saat, təsadüfi bir söz generatoru alqoritmindən və ya əlaqəli dörd hərfli sözlər verilənlər bazasından yaranan dörd hərfli sözlər seriyasını göstərir.
Sözü və vaxtı göstərmək üçün bu versiya daha müasir 14 seqmentli LED displeylərdən və Atmega 328p mikro nəzarət cihazından istifadə edir. İki söz yaratmaq rejimi dəstəklənir. Birincisi, orijinala bənzər faktiki sözlər ola biləcək dörd hərfli söz qrupları yaratmaq üçün bir alqoritmdən istifadə edir. Bir -birinin ardınca gələn sözlərin əvvəlki ilə heç bir əlaqəsi yoxdur. İkinci rejim, "Edinburgh Associative Thesaurus" dan əlaqəli söz bazasını istifadə edir, insanların bir toxum sözü verdikdən sonra ağla gələn ilk sözü soruşmağa verdiyi cavablara əsaslanan söz birləşmələrinin bir sənədi və sonra cavab sözü ilə prosesi davam etdirir. Verilənlər bazası, Atmega tərəfindən işlənmək üçün xarici bir EEPROM-da saxlanılan 57 Kbayt məlumat faylı yaradan Akafugu Korporasiyası tərəfindən dörd hərfli söz istehsalına uyğunlaşdırılmışdır. Nəticə budur ki, saat Unix vaxtını təsadüfi bir toxum kimi istifadə edir və bəzi alqoritmlərə deyil, insan cavablarına əsaslanaraq əlaqəli dörd hərfli sözlər yaradır.
Qeyd: Akafugu söz bazası bəzi cinsi açıq və potensial təhqiramiz sözlər ehtiva edir. Bu sizi narahat edirsə, zəhmət olmasa təsadüfi söz rejimini yandırın. Bu da bəzi təhqiramiz sözlər yarada bilər, amma heç olmasa əlaqəli təhqiramiz sözlərin axınlarını göstərməyəcək!
"Edinburq Assosiativ Tezaurusu" 60 -cı illərin əvvəllərində İngiltərədə yaşayan insanların cavabları əsasında tərtib edilmişdir. Əlaqələr sözü mütləq bu qərəzliyi əks etdirir! Məsələn, "İYİ" sözünün ardınca tez -tez "PETE" gəlir. Pete Bestin 60 -cı illərin əvvəllərində Beatles üçün orijinal nağaraçı olduğunu bilməyincə heç bir açıq əlaqə yoxdur! 60 -cı illərin İngiltərə mədəniyyətinə qarşı digər qərəzlər çoxdur. Düşünürəm ki, izləmək çox maraqlıdır!
Cihaz eyni zamanda şarj edilə bilən batareya ehtiyatı olan I2C ünvanlı Real Time Clock moduluna malikdir. Saat, seçilən iki alqoritmdən birindən 5 sözü göstərir, sonra saatı, tarixi, həftənin gününü və ilini göstərir. Saat və iş rejimi üç düymə açarı ilə qurulur. İş rejimləri uçucu olmayan EEPROM-da saxlanılır və sıfırlama və ya elektrik kəsilməsindən sağ çıxır. RTC, gücün kəsilməsindən təxminən bir il sonra, həddindən artıq temperaturla kompensasiya edilmiş dəqiqliklə işləməyə davam edir. Güc bərpa edildikdə düzgün vaxt avtomatik olaraq göstərilir.
Əlavə edilmiş bir xüsusiyyət, hər 10 dəqiqədə bir təsadüfi olaraq göstərilən vaxt haqqında 107 sitatdır. Bu sitatlar dörd simvol arasında sağdan sola fırlanır və tez -tez təşviq və ilham verir! İfadələr üçün saxlama Akafugu söz bazası ilə xarici EEPROM -dədir. Verilənlər bazası, cihazda mövcud olan 64 Kbaytdan yalnız 57 Kbayt alır və 107 ifadəyə yer buraxır. Növbəti 10 dəqiqə aralığında saat ilk dəfə işə salındıqda "lovğalanma" ifadəsi həmişə ilk görünəndir.
Bölmə, dörd xarakterli ekranın 100 Hz-də yenilənməsi ilə nəticələnən bir taymer kəsmə xidməti proqramı ilə çoxaldılmış ümumi 14-seqmentli ekranlardan (hər rəqəm üçün 2 katod) istifadə edir. ISR hər dəfə işlədikdə əvvəlki yarı işarəni söndürür, dörd simvoldan biri üçün 14 seqmentdən 7-ni alır, müvafiq seqment pinlərini açır və müvafiq katodu əsaslandırır. Ekranlar bir az nadirdir, amma istifadə etmək istədiyim böyük bir artıma sahib idim. İkiqat ümumi katod, hər rəqəm üçün lazım olan sancaqlar sayını 15-dən 9-a endirir. Atmega 328p-də ekranın sürüşmə qeydləri olmadan birbaşa idarə olunmasına imkan verən kifayət qədər sancaqlar var.
İŞLƏR: Adafruit 4 xarakterli alfasayısal LED modulundan istifadə etmək üçün kodu dəyişdirin
Addım 1: Tarix
Orijinal FLW saatı, istifadədən çıxarılan səhmdar ticarət lövhələrindən təmizlənmiş böyük Burroughs B7971 alfasayısal neon artıq borularla inşa edilmişdir. Bunlar dövrün nixie borularına bənzəyir, lakin bütün ASCII simvollarını yaratmaq üçün 14 seqmentli bir ekran istifadə edirdi. Saat, ayrı bir məntiqdən istifadə edərək, cədvəldən hərfləri seçərək, real sözlər istehsal etmək ehtimalı olan təsadüfi dörd hərf birləşməsini meydana gətirdi.
Alqoritm ilə 1972 -ci ilin orijinal modelində hər mövqedə yalnız müəyyən hərflər görünür. Bir neçə yüz dörd hərfli sözün əllə cədvəl analizi aparılmış və hər dörd mövqedə hərflərin tezliyi sayılmışdır. Cəmi səkkiz hərfdən ibarət olan ikinci mövqe istisna olmaqla, hər bir mövqedə ən çox rast gəlinən on hərf istifadə edilmişdir.
Hər bir mövqe üçün, sadə bir BCD (0-9) sayğacı (74LS90 IC) sərbəst hərəkət edirdi və say tutuldu və sürət parametrlərinə görə bir neçə saniyədən bir dəqiqəyə bir dəfə tutuldu. Sayğac şəkli daha sonra simvolları yaratmaq üçün bir diodun deşifr edilməsi matrisinə (təxminən 150 dioddan istifadə edilərək) tətbiq edildi.
Hər bir mövqe üçün yalnız on (və ya səkkiz) ən çox yayılmış məktub seçildiyindən, hərf birləşmələri nəzərə alınmadan bir çox sözlər görünə bilər, məsələn, FRLR, LREE, LLLL və s.
Nəzərə alın ki, ikinci mövqedə yalnız səkkiz hərf var idi, çünki nümunədəki doqquzuncu və onuncu hərflər mütənasib olaraq aşağı tezliyə malik idi, birinci və ikincisi isə çox yüksək tezliyə malik idi, buna görə də ikiqat artırıldı. Beləliklə 10 x 8 x 10 x 10 = 8000 permütasiya. 1973 -cü ilin ilk modelində proqramlaşdırılan hərflər yuxarıdakı şəkillərdən birində göstərilmişdir.
Addım 2: Kod və Şematik
Sxem əlavə olunur.
Saat hər hansı bir Atmega 328p əsaslı Arduino istifadə edilə bilər.
Şemada göstərildiyi kimi, müstəqil bir Atmega 328p ilə istifadə etmək üçün, Arduino IDE vasitəsi ilə mikro nəzarətçini proqramlaşdırmaq üçün bir ISP proqramçısı istifadə edilməlidir. Proqramlaşdırmadan sonra, sigortalar aşağıdakı avrdude əmri ilə qurulmalıdır (WinAVR quraşdırılmalıdır). Com portunu və proqramçı tipini əvəz edin. Ən asan, bir ISD proqramçısı olaraq bir Arduino istifadə etməkdir. Ətraflı məlumat üçün 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
Bu parametrlər bootloader sıfırlama vektorunu deaktiv edir, buna görə kod dərhal əsas kod vektorundan başlayır. Sigortalar 16 MHz xarici osilator üçün də qurulmuşdur. Yandırıldıqda, kristal və kondansatörlər sxemdə göstərildiyi kimi bağlanana qədər çipi yenidən proqramlaşdıra bilməyəcəksiniz.
DS3231 Arduino kitabxanası, RTC saat rutinlərinə girişi təmin etmək üçün quraşdırılmalıdır. DS3231 RTC kitabxana config.h faylında "#define CONFIG_UNIXTIME" sətirini açaraq kitabxanada Unix vaxt dəstəyini aktivləşdirmək lazımdır. Unix vaxtı təsadüfi ədədlər generatoru üçün bir toxum kimi istifadə olunur ki, saat hər dəfə işə salınanda söz və söz ardıcıllığı təkrarlanmasın.
DS3231 RTC saat modulunun özü ebayda satılan ümumi bir çeşiddir. Modul yuxarıda göstərilmişdir. Yenidən doldurulan ehtiyat batareyası olan növü axtarın.
Proqramlaşdırılmış mikro nəzarətçiyə əlavə olaraq, Akafugu söz bazası və söz siyahısı olan bir Microchip 24LC512 seriyalı EEPROM əldə etmək və proqramlaşdırmaq da lazımdır. Bu, Arduino ilə qurulmuş sadə bir dövrə və üzərindəki output2.dat faylı olan FAT32 olaraq format edilmiş SD kartdan istifadə etməklə edilir. Bir eskiz SD kartdakı məlumatları oxuyur və EEPROM -a yazır. Ətraflı məlumatı aşağıdakı iki linkdə tapa bilərsiniz. Bu Təlimat kitabçasında proqramlaşdırma eskizini və məlumat faylını istifadə etdiyinizə əmin olun, çünki Akafugu linkindəki ifadədə verilənlər bazası yoxdur. Bağlantılardakı proseduru izləyin.
Akafugu FLW verilənlər bazasına ümumi baxış
Məlumat faylını EEPROM -a yazmaq üçün təlimatlar
Addım 3: Saat Quraşdırma və Nəzarət
Saat qurmaq üçün aşağıdakı düymələr birləşmələrindən istifadə olunur:
Saat ayarı: Normal iş zamanı 1 düyməsini basıb saxlayın.
Dəqiqə dəsti: Normal iş zamanı 2 düyməsini basıb saxlayın. İkincisi avtomatik olaraq "00" a sıfırlanır
Saniyə sıfıra sıfırlanır: Normal iş zamanı 3 düyməsini basıb saxlayın, yeni dəqiqənin başlaması ilə sinxronizasiya etmək üçün buraxın
Ay Ayarla: Normal iş zamanı 1 və 2 düymələrini bir yerdə saxlayın
Tarixi təyin edin: Normal iş zamanı 1 və 3 düymələrini bir yerdə saxlayın
İli Ayarla: Normal iş zamanı 2 və 3 düymələrini bir yerdə saxlayın
Həftənin Gününü təyin edin: Normal iş zamanı 1, 2 və 3 düymələrini bir yerdə saxlayın
Cihaz ilk dəfə işə salındıqda, işləmə rejimləri söz istehsalına başlamazdan əvvəl tez bir zamanda göstərilir:
"EE", Akafugu söz bazasını və ifadələr siyahısını ehtiva edən I2C xarici EEPROM deməkdir.
"NOEE", EEPROMun aşkarlanmadığı deməkdir. Bölmə təsadüfi söz istehsalına qayıdır və heç bir ifadəni göstərmir.
"CK", ardıcıl 5 söz göstərildikdən sonra vaxt və tarixin göstərilməsi deməkdir.
"NOCK" vaxtı/tarixinin söndürüldüyünü bildirir. Davamlı bir söz axını, hər 10 dəqiqədə bir sözlə kəsilərək göstərilir.
"RND" təsadüfi söz yaratmaq rejiminin istifadə edildiyini bildirir
"REL", əlaqəli "Akafugu" söz bazası yaratmaq rejiminin istifadə edildiyini bildirir
Rejimləri dəyişdirmək və saxlamaq üçün, göstərilən düymələrdən birini tutaraq saatı ayırın və yenidən qoşun. Sonra düyməni buraxın. Yeni rejim saxlanılır və göstərilir:
Düymə 1: Təsadüfi və ya əlaqəli söz yaratmaq rejimini dəyişdirin və qeyd edin
Düymə 2: Ardıcıl 5 sözdən sonra tarixin/vaxtın göstərilməsini yandırın və ya söndürün
Tövsiyə:
Söz Saatı (Alman Layout): 8 addım
Söz Saatı (Alman Layout): Hey, bu çox yaxşı bir işdir. Mənə elə gəlir. Allerdings keine "normale" Həqiqətən də, Word Saatı. Başlanğıcda, bu məqalə ilə bağlı bütün məlumatları əldə edə bilərsiniz, məsələn
Mors kodu ilə 2 hərfli söz öyrənən: 5 addım
Mors kodu ilə 2 hərfli söz öyrənən: Bir müddətdir Scrabble (tm) 2 hərfli sözləri öyrənməyə çalışıram və heç bir uğur qazana bilməmişəm. Mən də bir az uğurla yenə də Mors kodunu öyrənməyə çalışdım və davamlı olaraq göstərən bir qutu quraraq bəzi subliminal öyrənməyi sınamağa qərar verdim
İnternet Saatı: NTP Protokolu ilə ESP8266 NodeMCU istifadə edərək OLED ilə Tarixi və Saatı Göstərin: 6 Addım
İnternet Saatı: NTP Protokolu ilə ESP8266 NodeMCU istifadə edərək OLED ilə Tarixi və Saatı Göstərin: Salam uşaqlar, bu təlimatlarda internetdən vaxt alacaq bir internet saatı quracağıq, bu layihənin işləməsi üçün heç bir RTC lazım olmayacaq, yalnız işləyən internet bağlantısı Və bu layihə üçün bir esp8266 ehtiyacınız olacaq
Tam Göy qurşağı təsiri ilə göy qurşağı söz saatı və daha çox: 13 addım (şəkillərlə)
Tam Göy qurşağı təsiri ilə göy qurşağı söz saatı və daha çoxu: məqsədlər 1) sadə 2) bahalı deyil 3) tam göy qurşağı effektli göy qurşağı söz saatı mümkün qədər enerjiyə qənaət edir. Söz saatı haqqında smiley. Sadə IR uzaqdan idarəetmə 03-nov-18 LDR-ni yeniləyin. NeopixelsUpdate'in Parlaqlıq Nəzarəti 01-yanvar
Wemos D1 Mini ilə Ribba Söz Saatı (İnternet Zaman Serveri): 8 Addım (Şəkillərlə)
Wemos D1 Mini ilə Ribba Söz Saatı (İnternet Saatı Serveri): Düşünürəm ki, hər kəs barmaqlarında qıdıqlandığı yerə gəlir və bir Söz Saatı qurmaq istəyir. Yaxşı bu mənim mümkün qədər səmərəli qurmaq cəhdlərim və ümumi qənaətimdir. Hər şeydən əvvəl özüm 3D printerə sahibəm və girişim var