İçindekiler:

Akafugu Kelime Oluşturuculu ve İlham Verici Sözlü Dört Harfli Kelime Saati: 3 Adım
Akafugu Kelime Oluşturuculu ve İlham Verici Sözlü Dört Harfli Kelime Saati: 3 Adım

Video: Akafugu Kelime Oluşturuculu ve İlham Verici Sözlü Dört Harfli Kelime Saati: 3 Adım

Video: Akafugu Kelime Oluşturuculu ve İlham Verici Sözlü Dört Harfli Kelime Saati: 3 Adım
Video: Akademi Beyoglu's Personal Meeting Room 2024, Kasım
Anonim
Image
Image
Akafugu Kelime Oluşturuculu ve İlham Verici İfadeli Dört Harfli Kelime Saati
Akafugu Kelime Oluşturuculu ve İlham Verici İfadeli Dört Harfli Kelime Saati
Akafugu Kelime Oluşturuculu ve İlham Verici İfadeli Dört Harfli Kelime Saati
Akafugu Kelime Oluşturuculu ve İlham Verici İfadeli Dört Harfli Kelime Saati

Bu, 1970'lerde ortaya çıkan bir fikir olan Dört Harfli Kelime Saati'nin benim versiyonum. Saat, rastgele bir kelime üreteci algoritmasından veya ilgili dört harfli kelimelerin bir veritabanından üretilen bir dizi dört harfli kelime görüntüler.

Bu sürüm, kelimeleri ve zamanı görüntülemek için daha modern 14 segmentli LED ekranlar ve bir Atmega 328p mikro denetleyici kullanır. İki kelime oluşturma modu desteklenir. İlki, orijinaline benzer gerçek kelimeler olması muhtemel dört harfli kelime grupları oluşturmak için bir algoritma kullanır. Her ardışık kelime bir öncekiyle ilgisizdir. İkinci mod, "Edinburgh Associative Thesaurus" dan ilişkisel kelime veritabanını kullanır; bu, insanlara bir tohum kelime verdikten sonra akla gelen ilk kelimeyi sormaya ve ardından cevap kelimesiyle işleme devam etmeye verilen yanıtlara dayanan kelime ilişkilendirmeleri belgesidir. Veritabanı, Atmega tarafından işlenmek üzere harici bir EEPROM'da saklanan 57 Kbyte'lık bir veri dosyası oluşturan Akafugu Corporation tarafından dört harfli kelime üretimine uyarlanmıştır. Sonuç, saatin Unix zamanını rastgele bir tohum olarak kullanması ve bazı algoritmalara değil, insan tepkilerine dayalı bir dizi ilişkili dört harfli kelime üretmesidir.

Not: Akafugu kelime veritabanı, bazı müstehcen ve potansiyel olarak rahatsız edici kelimeler içerir. Bu sizi rahatsız ediyorsa, lütfen rastgele kelime modunu açın. Bu aynı zamanda bazı rahatsız edici kelimeler de üretebilir, ancak en azından ilgili rahatsız edici kelimelerin akışlarını göstermez!

"Edinburgh Associative Thesaurus", 60'ların başında İngiltere'de yaşayan insanlardan gelen yanıtlara dayalı olarak derlenmiştir. İlişkiler kelimesi kesinlikle bu önyargıyı yansıtıyor! Örneğin, "BEST" kelimesinin ardından sıklıkla "PETE" gelir. Pete Best'in 60'ların başında Beatles'ın orijinal davulcusu olduğunu bilmedikçe bariz bir bağlantı yok! 60'ların Birleşik Krallık kültürüne yönelik diğer önyargılar boldur. Bence izlemesi çok ilginç!

Cihaz ayrıca şarj edilebilir pil yedeğine sahip I2C adreslenebilir Gerçek Zamanlı Saat modülü içerir. Saat, seçilebilir iki algoritmadan birinden 5 kelime görüntüler, ardından saati, tarihi, haftanın gününü ve yılı görüntüler. Saat ve çalışma modları, üç basmalı düğme anahtarı kullanılarak ayarlanır. Çalışma modları, kalıcı EEPROM'da saklanır ve bir sıfırlama veya elektrik kesintisi durumunda hayatta kalır. RTC, güç kesildikten sonra yaklaşık bir yıl boyunca aşırı sıcaklık telafili doğrulukla çalışmaya devam eder. Güç geri geldiğinde doğru zaman otomatik olarak görüntülenir.

Eklenen bir özellik, her 10 dakikada bir rastgele görüntülenen zamanla ilgili 107 alıntıdır. Bu alıntılar dört karakter arasında sağdan sola kaydırılarak sık sık teşvik ve ilham sağlar! Cümleler için depolama, Akafugu kelime veritabanı ile harici EEPROM'dadır. Veri tabanı, cihazda bulunan 64 Kbyte'dan sadece 57 Kbyte'ı alır ve 107 kelime öbeği için yer bırakır. Bir sonraki 10 dakikalık aralıkta saat ilk kez çalıştırıldığında her zaman ilk görüntülenen bir "övünme" ifadesidir.

Ünite, dört karakterli ekranın 100 Hz'de yenilenmesiyle sonuçlanan bir zamanlayıcı kesme servis rutini ile çoğullanan ortak katot 14-segment ekranlarını (her basamak için 2 katot) kullanır. ISR her çalıştığında, önceki yarım karakteri kapatır, dört karakterden biri için 14 segmentten 7'sini alır, ilgili segment pinlerini açar ve karşılık gelen katodu topraklar. Ekranlar biraz nadirdir, ancak kullanmak istediğim büyük bir arz fazlası vardı. İkili ortak katot, basamak başına gereken pin sayısını 15'ten 9'a düşürür. Atmega 328p'de, kaydırma yazmacı olmadan ekranın doğrudan sürülmesine izin verecek kadar pin vardır.

YAPILACAKLAR: Adafruit 4 karakterli alfanümerik LED modülünü kullanmak için kodu değiştirin

1. Adım: Geçmiş

Tarih
Tarih
Tarih
Tarih
Tarih
Tarih
Tarih
Tarih

Orijinal FLW saati, hizmet dışı bırakılan hisse senedi gösterge panolarından toplanan büyük Burroughs B7971 alfanümerik neon fazlalık tüpleriyle yapılmıştır. Bunlar, zamanın sayısal nixie tüplerine benzer, ancak tüm ASCII karakterlerini oluşturmak için 14 segmentli bir ekran kullandı. Saat, gerçek kelimeler üretme olasılığı yüksek olan rastgele dört harfli kombinasyonlar oluşturmak için bir tablodan harfleri seçerek ayrı bir mantık kullandı.

Algoritma ile Orijinal 1972 modelinde, her konumda yalnızca belirli harfler görünür. Birkaç yüz dört harfli kelimenin elle tablo haline getirilmiş bir analizi yapıldı ve dört pozisyonun her birindeki harflerin sıklığı sayıldı. Yalnızca sekiz harf içeren ikinci konum dışında, her konumun en sık kullanılan on harfi kullanıldı.

Her konum için, basit bir BCD (0-9) sayacı (74LS90 IC) serbestçe çalıştı ve sayı yakalandı ve hız ayarına bağlı olarak birkaç saniyede bir ila dakikada bir arasında tutuldu. Sayaç anlık görüntüsü daha sonra karakterleri oluşturmak için bir diyot kod çözme matrisine (yaklaşık 150 diyot kullanılarak) uygulandı.

Her pozisyon için sadece en yaygın on (veya sekiz) harf seçildiğinden, harf kombinasyonları dikkate alınmadan birçok kelime olmayan kelime görünebilir, örneğin, FRLR, LREE, LLLL, vb.

Örnekteki dokuzuncu ve onuncu harfler orantılı olarak düşük bir frekansa sahipken, birinci ve ikinci son derece yüksek frekansa sahip olduğundan, ikinci konumun yalnızca sekiz harfe sahip olduğuna dikkat edin - bu nedenle iki katına çıktılar. Böylece 10 x 8 x 10 x 10 = 8000 permütasyon. İlk 1973 modeline programlanan harfler yukarıdaki resimlerden birinde gösterilmektedir.

Adım 2: Kod ve Şematik

Kod ve Şematik
Kod ve Şematik
Kod ve Şematik
Kod ve Şematik
Kod ve Şematik
Kod ve Şematik
Kod ve Şematik
Kod ve Şematik

Şematik ektedir.

Saat, herhangi bir Atmega 328p tabanlı Arduino kullanılarak oluşturulabilir.

Şematikte gösterildiği gibi bağımsız bir Atmega 328p ile kullanım için, mikro denetleyiciyi Arduino IDE aracılığıyla programlamak için bir ISP programcısı kullanılmalıdır. Programlamadan sonra sigortalar aşağıdaki avrdude komutu kullanılarak ayarlanmalıdır (WinAVR kurulu olmalıdır). com bağlantı noktası ve programlayıcı türünü değiştirin. En kolayı, bir ISP programcısı olarak bir Arduino kullanmaktır. Ayrıntılar için 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 ayarlar, önyükleyici sıfırlama vektörünü devre dışı bırakır, böylece kod hemen ana kod vektöründen başlar. Sigortalar ayrıca harici bir 16MHz osilatör için ayarlanmıştır. Bir kez yandığında, kristal ve kapasitörler şematikte gösterildiği gibi bağlanana kadar çipi tekrar programlayamazsınız, çünkü bu sigorta ayarları ile varsayılan dahili osilatör devre dışı bırakılır.

RTC saat rutinlerine erişim sağlamak için DS3231 Arduino kitaplığı kurulmalıdır. DS3231 RTC kitaplığı config.h dosyasındaki "#define CONFIG_UNIXTIME" satırının yorumunu kaldırarak kitaplıkta Unix zaman desteğini etkinleştirmek gerekir. Unix zamanı, rastgele sayı üreteci için bir tohum olarak kullanılır, böylece saat her açıldığında kelime ve ifade dizileri tekrarlanmaz.

DS3231 RTC saat modülünün kendisi, ebay'de satılan yaygın bir çeşittir. Modül yukarıda gösterilmiştir. Şarj edilebilir yedek pili olan türü arayın.

Programlanmış bir mikrodenetleyiciye ek olarak, Akafugu kelime veritabanı ve cümle listesi ile bir Microchip 24LC512 seri EEPROM'un elde edilmesi ve programlanması da gereklidir. Bu, Arduino ile oluşturulmuş basit bir devre ve üzerinde output2.dat dosyası bulunan FAT32 olarak biçimlendirilmiş SD kart kullanılarak yapılır. Bir çizim, SD karttaki verileri okur ve EEPROM'a yazar. Detaylara aşağıdaki iki linkten ulaşabilirsiniz. Akafugu bağlantısındaki cümle veritabanından yoksun olduğundan, bu Eğitilebilir Dosyadaki programlama taslağı ve veri dosyasını kullandığınızdan emin olun. Bağlantılardaki prosedürü izleyin.

Akafugu FLW veritabanına genel bakış

Veri dosyasını EEPROM'a yazmak için talimatlar

Adım 3: Saat Kurulumu ve Kontrolü

Saat ayarı için aşağıdaki düğme kombinasyonları kullanılır:

Saat ayarı: Normal çalışma sırasında düğme 1'i basılı tutun.

Dakika seti: Normal çalışma sırasında düğme 2'yi basılı tutun. İkincisi otomatik olarak "00" olarak sıfırlanır

Saniyeler sıfırlanır: Normal çalışma sırasında düğme 3'ü basılı tutun, yeni dakikanın başlangıcıyla senkronize etmek için bırakın

Ay Ayarı: Normal çalışma sırasında 1 ve 2 düğmelerini bir arada tutun

Tarihi Ayarla: Normal çalışma sırasında 1 ve 3 numaralı düğmeleri bir arada tutun

Yılı Ayarla: Normal çalışma sırasında 2 ve 3 numaralı düğmeleri bir arada tutun

Haftanın Gününü Ayarlayın: Normal çalışma sırasında 1, 2 ve 3 düğmelerini birlikte basılı tutun

Ünite ilk açıldığında, kelime oluşturma başlamadan önce çalışma modları hızlı bir şekilde görüntülenir:

"EE", Akafugu kelime veritabanını içeren I2C harici EEPROM'u ve ifade listesinin algılandığı anlamına gelir.

"NOEE", EEPROM'un algılanmadığı anlamına gelir. Birim rastgele sözcük üretimine geri döner ve hiçbir ifade göstermez.

"CK", 5 ardışık kelime görüntülendikten sonra saat ve tarihin görüntülendiği anlamına gelir.

"NOCK", saat/tarihin kapalı olduğu anlamına gelir. Her 10 dakikada bir bir cümle ile kesilen, sürekli bir kelime akışı görüntülenir.

"RND", rastgele kelime oluşturma modunun kullanıldığı anlamına gelir

"REL", ilişkisel "Akafugu" kelimesinin veritabanı oluşturma modunun kullanıldığı anlamına gelir.

Modları değiştirmek ve kaydetmek için saati çıkarın ve belirtilen düğmelerden birini basılı tutarken tekrar takın. Ardından düğmeyi bırakın. Yeni mod kaydedilir ve görüntülenir:

Düğme 1: Rastgele veya İlişkisel kelime oluşturma modunu değiştirin ve kaydedin

Düğme 2: Ardışık 5 kelimeden sonra tarih/saat gösterimini açar veya kapatır

Önerilen: