Mundarija:
Video: Akafugu so'z yaratuvchisi va ilhomlantiruvchi iborali to'rt harfli so'z soati: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
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
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:
COVID-19 ilhomlantiruvchi quyosh nuri: 5 qadam
COVID-19 ilhomlantiruvchi quyosh chirog'i: Global COVID-19 pandemiyasi va natijada blokirovka-bu men bilan bo'lgan Arduino parchalari bilan biror narsa qilish haqida o'ylashga majbur qildi. Garchi bu juda oddiy ko'rsatma bo'lsa -da, men bu va boshqa ko'rsatmalarni aytaman
Pensiya soati / hisoblash / Dn soati: 4 qadam (rasmlar bilan)
Pensiya soati / hisoblash / Dn soati: Menda tortmasida 8x8 o'lchamli LED nuqta matritsali displeylar bor edi va ular bilan nima qilish kerakligi haqida o'yladim. Boshqa ko'rsatmalardan ilhomlanib, men kelajakdagi sana/vaqtni sanash uchun orqaga/yuqoriga ko'rsatish ekranini yaratish g'oyasini oldim va agar belgilangan vaqt
COVID-19 ilhomlantiruvchi qo'llarsiz sovun dispenseri: 3 qadam
Qo'lsiz sovun tarqatuvchi COVID-19: Kirish: Indian Lockdown 4.0 bilan bir necha haftadan so'ng, ofislar va muassasalar asta-sekin qayta ochilishi bilan, men urinishim kerak bo'lgan oxirgi arduino UNOlaridan foydalanishga qaror qildim. qo'llarsiz sovun tarqatuvchi yasash
ESP8266 hech qanday RTCsiz tarmoq soati - Nodemcu NTP soati RTC yo'q - INTERNET CLOCK LOYIHASI: 4 qadam
ESP8266 hech qanday RTCsiz tarmoq soati | Nodemcu NTP soati RTC yo'q | INTERNET CLOCK LOYIHASI: Loyihada RTCsiz soat loyihasi yaratiladi, wifi yordamida internetdan vaqt oladi va uni st7735 displeyida ko'rsatadi
Ornitopter va ilhomlantiruvchi Arduino musiqasi: 7 qadam
Ornitopter va ilhomlantiruvchi Arduino musiqasi: - Ornitopterni qanday qurish kerak - Qanday qilib bizni tuzatish kerak va biz Arduino -da chempionmiz