সুচিপত্র:

আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি: 3 টি ধাপ
আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি: 3 টি ধাপ

ভিডিও: আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি: 3 টি ধাপ

ভিডিও: আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি: 3 টি ধাপ
ভিডিও: Как спрятать данные в ячейках Excel? 2024, নভেম্বর
Anonim
Image
Image
আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি
আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি
আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি
আকাফুগু ওয়ার্ড জেনারেটর এবং অনুপ্রেরণামূলক বাক্যাংশ সহ চার অক্ষরের শব্দ ঘড়ি

এটি ফোর লেটার ওয়ার্ড ক্লকের আমার সংস্করণ, একটি ধারণা যা 1970 এর দশকে ফিরে এসেছে। ঘড়িটি চার অক্ষরের শব্দের একটি সিরিজ প্রদর্শন করে যা একটি এলোমেলো শব্দ জেনারেটর অ্যালগরিদম বা সংশ্লিষ্ট চার অক্ষরের শব্দের একটি ডাটাবেস থেকে উৎপন্ন হয়।

এই সংস্করণটি আরও আধুনিক 14-সেগমেন্ট LED ডিসপ্লে এবং একটি Atmega 328p মাইক্রোকন্ট্রোলার ব্যবহার করে শব্দ এবং সময় প্রদর্শন করে। দুটি শব্দ জেনারেশন মোড সমর্থিত। প্রথমটি একটি অ্যালগরিদম ব্যবহার করে চার অক্ষরের শব্দ গোষ্ঠী তৈরি করে যা আসল শব্দের মতো, আসল শব্দগুলির মতো। প্রতিটি ধারাবাহিক শব্দ আগেরটির সাথে সম্পর্কিত নয়। দ্বিতীয় মোডটি "এডিনবার্গ অ্যাসোসিয়েটিভ থিসরাস" থেকে রিলেশনাল ওয়ার্ড ডাটাবেস ব্যবহার করে, শব্দ সমিতির একটি দলিল যা মানুষের প্রতিক্রিয়াগুলির উপর ভিত্তি করে একটি বীজ শব্দ দেওয়ার পর প্রথমে যে শব্দটি মনে আসে তা জিজ্ঞাসা করে, তারপর প্রতিক্রিয়া শব্দটি দিয়ে প্রক্রিয়াটি চালিয়ে যান। ডাটাবেসটি আকাফুগু কর্পোরেশন দ্বারা চার অক্ষরের শব্দ প্রজন্মের জন্য অভিযোজিত হয়েছিল, যিনি একটি 57 Kbyte ডেটা ফাইল তৈরি করেছিলেন যা Atmega দ্বারা প্রক্রিয়াকরণের জন্য একটি বহিরাগত EEPROM- এ সংরক্ষিত আছে। ফলাফল হল যে ঘড়িটি ইউনিক্স সময়কে এলোমেলো বীজ হিসাবে ব্যবহার করে এবং মানুষের প্রতিক্রিয়াগুলির উপর ভিত্তি করে চারটি অক্ষরের শব্দের একটি স্ট্রিং তৈরি করে, কিছু অ্যালগরিদম নয়।

দ্রষ্টব্য: আকাফুগু শব্দের ডাটাবেসে কিছু যৌন স্পষ্ট এবং সম্ভাব্য আপত্তিকর শব্দ রয়েছে। যদি এটি আপনাকে বিরক্ত করে, দয়া করে এলোমেলো শব্দ মোড চালু করুন। এটি কিছু আপত্তিকর শব্দও তৈরি করতে পারে, কিন্তু কমপক্ষে সংশ্লিষ্ট আপত্তিকর শব্দের ধারা প্রদর্শন করবে না!

"এডিনবার্গ অ্যাসোসিয়েটিভ থিসরাস" ষাটের দশকের গোড়ার দিকে ইংল্যান্ডে বসবাসকারী মানুষের প্রতিক্রিয়াগুলির উপর ভিত্তি করে সংকলিত হয়েছিল। সম্পর্ক শব্দটি অবশ্যই সেই পক্ষপাতকে প্রতিফলিত করে! উদাহরণস্বরূপ, "BEST" শব্দটি প্রায়শই "PETE" দ্বারা অনুসরণ করা হয়। কোনও সুস্পষ্ট সংযোগ নেই, যদি না কেউ জানে যে পিট বেস্ট 60 -এর দশকের গোড়ার দিকে বিটলসের আসল ড্রামার ছিল! ষাটের দশকের যুক্তরাজ্যের সংস্কৃতির প্রতি অন্যান্য পক্ষপাত প্রচুর। আমি মনে করি এটি দেখতে খুব আকর্ষণীয়!

ডিভাইসটিতে রিচার্জেবল ব্যাটারি ব্যাকআপ সহ একটি I2C ঠিকানাযোগ্য রিয়েল টাইম ক্লক মডিউল রয়েছে। ঘড়িটি দুটি নির্বাচনযোগ্য অ্যালগরিদমের একটি থেকে 5 টি শব্দ প্রদর্শন করে, তারপর সময়, তারিখ, সপ্তাহের দিন এবং বছরের প্রদর্শন করে। ঘড়ি এবং অপারেটিং মোড তিনটি পুশ বাটন সুইচ ব্যবহার করে সেট করা আছে। অপারেটিং মোডগুলি অ-উদ্বায়ী EEPROM- এ সংরক্ষণ করা হয় এবং একটি রিসেট বা বিদ্যুৎ ব্যর্থতা থেকে বেঁচে থাকে। আরটিসি বিদ্যুৎ অপসারণের পর প্রায় এক বছর ধরে চলতে থাকে, চরম তাপমাত্রা-ক্ষতিপূরণ নির্ভুলতার সাথে। বিদ্যুৎ পুনরুদ্ধার হলে সঠিক সময় স্বয়ংক্রিয়ভাবে প্রদর্শিত হয়।

একটি অতিরিক্ত বৈশিষ্ট্য হল সময় সম্পর্কে 107 উদ্ধৃতি যা এলোমেলোভাবে প্রতি 10 মিনিটে প্রদর্শিত হয়। এই উদ্ধৃতিগুলি চারটি অক্ষর জুড়ে ডান থেকে বামে স্ক্রোল করে, ঘন ঘন উৎসাহ এবং অনুপ্রেরণা প্রদান করে! বাক্যাংশগুলির জন্য সংগ্রহস্থলটি আকাফুগু শব্দ ডাটাবেসের সাথে বহিরাগত EEPROM এ রয়েছে। ডিভাইসে উপলব্ধ 64 Kbytes এর মধ্যে শুধুমাত্র 57 Kbytes লাগে, 107 বাক্যাংশের জন্য স্থান ছেড়ে। পরবর্তী 10 মিনিটের ব্যবধানে যখন ঘড়িটি প্রথমে চালিত হয় তখন একটি "বড়াই" বাক্যটি সর্বপ্রথম প্রদর্শিত হয়।

ইউনিট সাধারণ ক্যাথোড 14-সেগমেন্ট ডিসপ্লে ব্যবহার করে (প্রতিটি ডিজিটের জন্য 2 ক্যাথোড) যা টাইমার ইন্টারাপ্ট সার্ভিস রুটিন দ্বারা মাল্টিপ্লেক্সড হয় যার ফলে চার অক্ষরের ডিসপ্লে 100 Hz তে রিফ্রেশ হয়। যখনই আইএসআর চলবে, এটি পূর্ববর্তী অর্ধ-অক্ষরটি বন্ধ করে দেবে, চারটি অক্ষরের একটির জন্য 14 টি বিভাগের মধ্যে 7 টি পুনরুদ্ধার করে, সংশ্লিষ্ট সেগমেন্ট পিনগুলি চালু করে এবং সংশ্লিষ্ট ক্যাথোডকে ভিত্তি করে। ডিসপ্লেগুলি কিছুটা অস্বাভাবিক, তবে আমার কাছে একটি বড় উদ্বৃত্ত সরবরাহ ছিল যা আমি ব্যবহার করতে চেয়েছিলাম। দ্বৈত-সাধারণ ক্যাথোড প্রতি ডিজিটের প্রয়োজনীয় পিনের সংখ্যা 15 থেকে 9 পর্যন্ত কমিয়ে দেয়। একটি Atmega 328p- এ কেবলমাত্র যথেষ্ট পিন রয়েছে যাতে শিফট রেজিস্টার ছাড়াই ডিসপ্লে সরাসরি চালানো যায়।

করণীয়: Adafruit 4- অক্ষরের আলফানিউমেরিক LED মডিউল ব্যবহার করার জন্য কোড পরিবর্তন করুন।

ধাপ 1: ইতিহাস

ইতিহাস
ইতিহাস
ইতিহাস
ইতিহাস
ইতিহাস
ইতিহাস
ইতিহাস
ইতিহাস

আসল এফএলডাব্লু ঘড়িটি তৈরি করা হয়েছিল বড় বুরুজ B7971 আলফানিউমেরিক নিয়ন উদ্বৃত্ত টিউবগুলি যা ডিকমিশনড স্টক টিকার ডিসপ্লে বোর্ড থেকে ছিন্ন করা হয়েছিল। এগুলি সেই সময়ের সংখ্যাসূচক নিক্সি টিউবের অনুরূপ, কিন্তু 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 ব্যবহার করার জন্য, পরিকল্পিত হিসাবে দেখানো হয়েছে, একটি ISP প্রোগ্রামারকে Arduino IDE এর মাধ্যমে মাইক্রোকন্ট্রোলার প্রোগ্রাম করতে ব্যবহার করতে হবে। প্রোগ্রামিং করার পর, ফিউজগুলি নিম্নোক্ত avrdude কমান্ড ব্যবহার করে সেট করা উচিত (WinAVR ইনস্টল করা আবশ্যক)। Com পোর্ট এবং প্রোগ্রামার টাইপ প্রতিস্থাপন করুন। আইএসপি প্রোগ্রামার হিসেবে আরডুইনো ব্যবহার করা সবচেয়ে সহজ। বিস্তারিত জানার জন্য গুগল।

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

এই সেটিংসগুলি বুটলোডার রিসেট ভেক্টরকে অক্ষম করে তাই কোডটি অবিলম্বে মূল কোড ভেক্টর থেকে শুরু হয়। ফিউজগুলি একটি বহিরাগত 16MHz অসিলেটরের জন্যও সেট করা আছে। একবার পুড়ে গেলে, আপনি চিপটি আবার প্রোগ্রাম করতে পারবেন না যতক্ষণ না ক্রিস্টাল এবং ক্যাপাসিটরগুলি স্কিম্যাটিক হিসাবে দেখানো হয়, কারণ এই ফিউজ সেটিংস দিয়ে ডিফল্ট অভ্যন্তরীণ অসিলেটর অক্ষম করা আছে।

DS3231 Arduino লাইব্রেরি RTC ঘড়ির রুটিনে অ্যাক্সেস প্রদানের জন্য ইনস্টল করা আবশ্যক। DS3231 RTC লাইব্রেরি config.h ফাইলে "#define CONFIG_UNIXTIME" লাইনটি অসম্পূর্ণ করে লাইব্রেরিতে ইউনিক্স টাইম সাপোর্ট সক্ষম করা প্রয়োজন। ইউনিক্স সময় এলোমেলো সংখ্যা জেনারেটরের জন্য বীজ হিসেবে ব্যবহৃত হয় যাতে প্রতিবার ঘড়ি চালানোর সময় শব্দ এবং বাক্যাংশের ক্রম পুনরাবৃত্তি না হয়।

DS3231 RTC ক্লক মডিউল নিজেই একটি সাধারণ বৈচিত্র যা ইবেতে বিক্রি হয়। মডিউলটি উপরে চিত্রিত করা হয়েছে। রিচার্জেবল ব্যাকআপ ব্যাটারি সহ টাইপটি সন্ধান করুন।

একটি প্রোগ্রামযুক্ত মাইক্রোকন্ট্রোলার ছাড়াও, আকাফুগু ওয়ার্ড ডাটাবেস এবং ফ্রেজ লিস্ট সহ একটি মাইক্রোচিপ 24LC512 সিরিয়াল EEPROM পাওয়া এবং প্রোগ্রাম করাও প্রয়োজন। এটি একটি Arduino দিয়ে নির্মিত একটি সহজ সার্কিট ব্যবহার করে সম্পন্ন করা হয়েছে, এবং SD2 এ FAT32 হিসেবে ফরম্যাট করা হয়েছে যার মধ্যে output2.dat ফাইল রয়েছে। একটি স্কেচ এসডি কার্ড থেকে ডেটা পড়ে এবং এটি EEPROM এ লিখে। নিচের দুটি লিঙ্কে বিস্তারিত পাওয়া যাবে। এই নির্দেশাবলীতে প্রোগ্রামিং স্কেচ এবং ডেটা ফাইল ব্যবহার করতে ভুলবেন না, কারণ আকাফুগু লিংকে একটি ফ্রেজ ডেটাবেসের অভাব রয়েছে। লিঙ্কগুলিতে পদ্ধতি অনুসরণ করুন।

Akafugu FLW ডাটাবেস ওভারভিউ

EEPROM- এ ডেটা ফাইল বার্ন করার নির্দেশনা

ধাপ 3: ঘড়ি সেটআপ এবং নিয়ন্ত্রণ

নিম্নোক্ত বোতাম সংমিশ্রণগুলি ঘড়ি সেটআপের জন্য ব্যবহৃত হয়:

ঘন্টা সেট: স্বাভাবিক ক্রিয়াকলাপের সময় বোতাম 1 টি ধরে রাখুন।

মিনিট সেট: স্বাভাবিক অপারেশনের সময় বোতাম 2 টি ধরে রাখুন। দ্বিতীয়টি স্বয়ংক্রিয়ভাবে "00" রিসেট হয়

সেকেন্ড শূন্য রিসেট: স্বাভাবিক অপারেশনের সময় বোতাম 3 টি ধরে রাখুন, নতুন মিনিটের শুরুতে সিঙ্ক্রোনাইজ করার জন্য ছেড়ে দিন

মাস সেট করুন: স্বাভাবিক অপারেশনের সময় বোতাম 1 এবং 2 একসাথে ধরে রাখুন

তারিখ নির্ধারণ করুন: স্বাভাবিক অপারেশনের সময় বোতাম 1 এবং 3 একসাথে ধরে রাখুন

বছর সেট করুন: স্বাভাবিক অপারেশনের সময় বোতাম 2 এবং 3 একসাথে ধরে রাখুন

সপ্তাহের দিন নির্ধারণ করুন: স্বাভাবিক অপারেশনের সময় বোতাম 1, 2 এবং 3 একসাথে ধরে রাখুন

যখন ইউনিটটি প্রথম চালিত হয়, তখন শব্দ উৎপাদন শুরু হওয়ার আগে অপারেটিং মোডগুলি দ্রুত প্রদর্শিত হয়:

"EE" এর অর্থ হল I2C বহিরাগত EEPROM যার মধ্যে আকাফুগু শব্দ ডাটাবেস এবং ফ্রেজ তালিকা সনাক্ত করা হয়েছে।

"NOEE" এর মানে হল যে EEPROM সনাক্ত করা হয়নি। ইউনিট এলোমেলো শব্দ উৎপাদনে ফিরে আসে এবং কোন শব্দগুচ্ছ প্রদর্শন করে না।

"CK" মানে সময় এবং তারিখ পরপর 5 টি শব্দ প্রদর্শনের পর প্রদর্শিত হয়।

"NOCK" মানে সময়/তারিখ বন্ধ। শব্দের একটি অবিচ্ছিন্ন প্রবাহ ক্রমাগত প্রদর্শিত হয়, একটি বাক্যাংশ দ্বারা প্রতি 10 মিনিটে বিঘ্নিত হয়।

"RND" মানে এলোমেলো শব্দ জেনারেশন মোড ব্যবহার করা হয়

"REL" মানে রিলেশনাল "Akafugu" শব্দ ডাটাবেস জেনারেশন মোড ব্যবহার করা হয়

মোড পরিবর্তন এবং সংরক্ষণ করতে, ঘড়িটি আনপ্লাগ করুন এবং নির্দেশিত বোতামগুলির মধ্যে একটি ধরে রাখার সময় আবার প্লাগ ইন করুন। তারপর রিলিজ বাটন। নতুন মোড সংরক্ষিত এবং প্রদর্শিত হয়:

বোতাম 1: র্যান্ডম বা রিলেশনাল ওয়ার্ড জেনারেশন মোড টগল করুন এবং সেভ করুন

বোতাম 2: পরপর 5 টি শব্দ চালু বা বন্ধ করার পরে তারিখ/সময় প্রদর্শন টগল করুন

প্রস্তাবিত: