جدول المحتويات:
فيديو: ساعة كلمة مكونة من أربعة أحرف مع مولد كلمات Akafugu وعبارات ملهمة: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
هذه هي نسختي من ساعة الكلمات المكونة من أربعة أحرف ، وهي فكرة نشأت في السبعينيات. تعرض الساعة سلسلة من الكلمات المكونة من أربعة أحرف والتي يتم إنشاؤها إما من خوارزمية منشئ الكلمات العشوائية أو من قاعدة بيانات للكلمات ذات الصلة المكونة من أربعة أحرف.
يستخدم هذا الإصدار شاشات LED أكثر حداثة من 14 قسمًا ومتحكم Atmega 328p لعرض الكلمات والوقت. يتم دعم أوضاع إنشاء كلمتين. يستخدم الأول خوارزمية لإنشاء مجموعات كلمات من أربعة أحرف والتي من المحتمل أن تكون كلمات فعلية ، على غرار الأصل. كل كلمة متتالية لا علاقة لها بالكلمة السابقة. يستخدم الوضع الثاني قاعدة بيانات الكلمات العلائقية من "المكنز التعاوني في إدنبرة" ، وهي وثيقة من روابط الكلمات تستند إلى ردود الأشخاص على سؤال الكلمة الأولى التي تتبادر إلى الذهن بعد إعطائهم كلمة أولية ، ثم متابعة العملية بكلمة الاستجابة. تم تكييف قاعدة البيانات لتكوين كلمات مكونة من أربعة أحرف بواسطة شركة Akafugu Corporation ، التي أنشأت ملف بيانات بحجم 57 كيلوبايت يتم تخزينه في EEPROM خارجي للمعالجة بواسطة Atmega. والنتيجة هي أن الساعة تستخدم وقت Unix كبذرة عشوائية وتولد سلسلة من الكلمات المكونة من أربعة أحرف مرتبطة بالاستجابة البشرية ، وليس بعض الخوارزميات.
ملاحظة: تحتوي قاعدة بيانات Akafugu على بعض الكلمات الجنسية الصريحة والتي من المحتمل أن تكون مسيئة. إذا كان هذا يزعجك ، فيرجى تشغيل وضع الكلمات العشوائي. قد يولد هذا أيضًا بعض الكلمات المسيئة ، ولكن على الأقل لن يعرض تيارات من الكلمات المسيئة ذات الصلة!
تم تجميع "مكنز إدنبرة التعاوني" بناءً على ردود الأشخاص الذين يعيشون في إنجلترا في أوائل الستينيات. كلمة العلاقات تعكس بالتأكيد هذا التحيز! على سبيل المثال ، كثيرًا ما يتبع كلمة "أفضل" كلمة "بيت". لا يوجد اتصال واضح ، ما لم يعلم أحد أن بيت بيست كان عازف الدرامز الأصلي لفريق البيتلز في أوائل الستينيات! تكثر التحيزات الأخرى تجاه ثقافة المملكة المتحدة في الستينيات. أعتقد أنه من الممتع جدًا مشاهدته!
يحتوي الجهاز أيضًا على وحدة Real Time Clock قابلة للعنونة I2C مع بطارية احتياطية قابلة لإعادة الشحن. تعرض الساعة 5 كلمات من إحدى الخوارزميات القابلة للتحديد ، ثم تعرض الوقت والتاريخ واليوم من الأسبوع والسنة. يتم ضبط الساعة وأوضاع التشغيل باستخدام ثلاثة مفاتيح ضغط. يتم تخزين أوضاع التشغيل في EEPROM غير المتطاير وتتحمل إعادة التعيين أو انقطاع التيار الكهربائي. يستمر RTC في العمل لمدة عام تقريبًا بعد إزالة الطاقة ، بدقة عالية معادلة لدرجة الحرارة. يتم عرض الوقت الصحيح تلقائيًا عند استعادة الطاقة.
ميزة مضافة هي 107 اقتباسات عن الوقت والتي يتم عرضها بشكل عشوائي كل 10 دقائق. تنتقل هذه الاقتباسات من اليمين إلى اليسار عبر الأحرف الأربعة ، مما يوفر التشجيع والإلهام المتكرر! تخزين العبارات في EEPROM الخارجي مع قاعدة بيانات كلمات Akafugu. تأخذ قاعدة البيانات 57 كيلوبايت فقط من 64 كيلوبايت المتوفرة في الجهاز ، مما يترك مساحة لـ 107 عبارات. دائمًا ما تكون عبارة "التفاخر" هي أول ما يتم عرضه عندما يتم تشغيل الساعة لأول مرة في فترة العشر دقائق التالية.
تستخدم الوحدة شاشات الكاثود الشائعة المكونة من 14 مقطعًا (كاثودان لكل رقم) والتي يتم مضاعفتها بواسطة روتين خدمة مقاطعة مؤقت ينتج عنه تحديث العرض المكون من أربعة أحرف عند 100 هرتز. عندما يتم تشغيل ISR ، فإنه يغلق الحرف النصف السابق ، ويسترجع 7 من 14 مقطعًا لأحد الأحرف الأربعة ، ويقوم بتشغيل دبابيس المقطع المقابلة ويؤسس الكاثود المقابل. الشاشات غير شائعة بعض الشيء ، لكن كان لدي فائض كبير في العرض أردت استخدامه. يقلل الكاثود المشترك المزدوج عدد المسامير المطلوبة لكل رقم من 15 إلى 9. يوجد فقط عدد كافٍ من المسامير في Atmega 328p للسماح بالتحريك المباشر للشاشة بدون سجل التحول.
TO-DO: قم بتعديل الكود لاستخدام وحدة Adafruit المكونة من 4 أحرف أبجدية رقمية
الخطوة 1: التاريخ
تم تصميم ساعة FLW الأصلية باستخدام أنابيب فائضة أبجدية رقمية من بوروز B7971 تم مسحها من لوحات عرض الأسهم التي تم إيقاف تشغيلها. هذه تشبه أنابيب nixie الرقمية في ذلك الوقت ، ولكنها استخدمت شاشة من 14 مقطعًا لتشكيل جميع أحرف ASCII. استخدمت الساعة منطقًا منفصلاً ، حيث تختار الحروف من جدول لتشكيل مجموعات عشوائية من أربعة أحرف تم ترجيحها لإنتاج كلمات حقيقية.
باستخدام الخوارزمية في النموذج الأصلي لعام 1972 ، تظهر أحرف معينة فقط في كل موضع. تم إجراء تحليل مجدول يدويًا لعدة مئات من الكلمات المكونة من أربعة أحرف وتم حساب تكرار الأحرف في كل من المواضع الأربعة. تم استخدام الأحرف العشرة الأكثر شيوعًا لكل موضع ، باستثناء الموضع الثاني الذي يحتوي على ثمانية أحرف فقط.
لكل موضع ، كان عداد BCD بسيط (0-9) (74LS90 IC) يعمل بحرية وتم التقاط العدد وتثبيته مرة واحدة كل بضع ثوانٍ إلى مرة واحدة في الدقيقة ، اعتمادًا على إعداد السرعة. تم بعد ذلك تطبيق لقطة العداد على مصفوفة فك تشفير الصمام الثنائي (باستخدام حوالي 150 صمامًا ثنائيًا) لتشكيل الأحرف.
نظرًا لأنه تم اختيار الأحرف العشرة (أو الثمانية) الأكثر شيوعًا فقط لكل موضع ، دون أي اعتبار لتركيبات الحروف ، يمكن أن تظهر العديد من الكلمات غير الكلمات ، على سبيل المثال ، FRLR ، LREE ، LLLL ، إلخ.
لاحظ أن الموضع الثاني يحتوي على ثمانية أحرف فقط ، حيث أن الحرفين التاسع والعاشر في العينة لهما تردد منخفض نسبيًا ، بينما كان الترددان الأول والثاني عاليًا للغاية - لذا فقد تم مضاعفتهما. وهكذا فإن 10 × 8 × 10 × 10 = 8000 تباديل. تظهر الحروف التي تمت برمجتها في النموذج الأول لعام 1973 في إحدى الصور أعلاه.
الخطوة 2: الكود والتخطيط
التخطيطي مرفق.
يمكن بناء الساعة باستخدام أي Arduino قائم على Atmega 328p.
للاستخدام مع Atmega 328p المستقل ، كما هو موضح في التخطيطي ، يجب استخدام مبرمج ISP لبرمجة وحدة التحكم الدقيقة عبر Arduino IDE. بعد البرمجة ، يجب ضبط المصاهر باستخدام الأمر avrdude التالي (يجب تثبيت WinAVR). استبدل منفذ com ونوع المبرمج. الأسهل هو استخدام Arduino كمبرمج ISP. جوجل للحصول على التفاصيل.
avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse: w: 0xFF: m -U hfuse: w: 0xDF: m -U efuse: w: 0x05: m
تعمل هذه الإعدادات على تعطيل متجه إعادة تعيين أداة تحميل التشغيل بحيث يبدأ الرمز فورًا من ناقل الكود الرئيسي. تم ضبط المصاهر أيضًا لمذبذب خارجي 16 ميجا هرتز. بمجرد الحرق ، لن تتمكن من برمجة الشريحة مرة أخرى حتى يتم توصيل البلورة والمكثفات كما هو موضح في التخطيطي ، حيث يتم تعطيل المذبذب الداخلي الافتراضي باستخدام إعدادات الصمامات هذه.
يجب تثبيت مكتبة Arduino DS3231 لتوفير الوصول إلى إجراءات ساعة RTC. من الضروري تمكين دعم وقت Unix في المكتبة بإلغاء التعليق على السطر "#define CONFIG_UNIXTIME" في ملف config.h الخاص بمكتبة DS3231 RTC. يُستخدم وقت Unix كبذرة لمولد الأرقام العشوائية بحيث لا تتكرر تسلسل الكلمات والعبارة في كل مرة يتم فيها تشغيل الساعة.
وحدة الساعة DS3231 RTC نفسها هي مجموعة شائعة تباع على موقع ئي باي. الوحدة موضحة أعلاه. ابحث عن النوع ببطارية احتياطية قابلة لإعادة الشحن.
بالإضافة إلى المتحكم الدقيق المبرمج ، من الضروري أيضًا الحصول على Microchip 24LC512 التسلسلي EEPROM وبرمجته مع قاعدة بيانات الكلمات Akafugu وقائمة العبارات. يتم ذلك باستخدام دائرة بسيطة تم إنشاؤها باستخدام Arduino ، وبطاقة SD بتنسيق FAT32 مع ملف output2.dat عليها. يقرأ الرسم التخطيطي البيانات من بطاقة SD ويكتبها في EEPROM. يمكن العثور على التفاصيل في الرابطين التاليين. تأكد من استخدام مخطط البرمجة وملف البيانات في هذا Instructable ، حيث أن الملف الموجود في رابط Akafugu يفتقر إلى قاعدة بيانات العبارة. اتبع الإجراء في الروابط.
نظرة عامة على قاعدة بيانات Akafugu FLW
تعليمات حرق ملف البيانات إلى EEPROM
الخطوة 3: إعداد الساعة والتحكم فيها
تُستخدم مجموعات الأزرار التالية لإعداد الساعة:
مجموعة الساعات: اضغط مع الاستمرار على الزر 1 أثناء التشغيل العادي.
ضبط الدقائق: اضغط مع الاستمرار على الزر 2 أثناء التشغيل العادي. يتم إعادة تعيين الثانية إلى "00" تلقائيًا
إعادة الثواني إلى الصفر: استمر في الضغط على الزر 3 أثناء التشغيل العادي ، ثم حرر للمزامنة مع بداية الدقيقة الجديدة
تعيين الشهر: استمر في الضغط على الزرين 1 و 2 معًا أثناء التشغيل العادي
تعيين التاريخ: استمر في الضغط على الزرين 1 و 3 معًا أثناء التشغيل العادي
ضبط السنة: اضغط مع الاستمرار على الأزرار 2 و 3 معًا أثناء التشغيل العادي
تعيين يوم من الأسبوع: اضغط مع الاستمرار على الأزرار 1 و 2 و 3 معًا أثناء التشغيل العادي
عند تشغيل الوحدة لأول مرة ، يتم عرض أوضاع التشغيل بسرعة قبل بدء إنشاء الكلمات:
"EE" تعني أن ذاكرة EEPROM الخارجية I2C التي تحتوي على قاعدة بيانات كلمات Akafugu وقائمة العبارات التي تم اكتشافها.
يعني "NOEE" أنه لم يتم اكتشاف EEPROM. تعود الوحدة إلى إنشاء كلمات عشوائي ولا يتم عرض أي عبارة.
يعني "CK" الوقت والتاريخ المعروضين بعد عرض 5 كلمات متتالية.
"NOCK" تعني إيقاف تشغيل الوقت / التاريخ. يتم عرض دفق مستمر من الكلمات بشكل مستمر ، يتم مقاطعتها كل 10 دقائق بعبارة.
يعني "RND" استخدام وضع إنشاء الكلمات العشوائية
يعني "REL" استخدام وضع إنشاء قاعدة بيانات كلمة "Akafugu" العلائقية
لتغيير الأوضاع وحفظها ، افصل الساعة وأعد توصيلها أثناء الضغط على أحد الأزرار المشار إليها. ثم حرر الزر. يتم تخزين الوضع الجديد وعرضه:
الزر 1: تبديل وحفظ وضع إنشاء كلمة عشوائية أو علائقية
الزر 2: تبديل عرض التاريخ / الوقت بعد تشغيل أو إيقاف تشغيل 5 كلمات متتالية
موصى به:
غزاة شاشات الكريستال السائل: لعبة مثل غزاة الفضاء على شاشة عرض أحرف LCD مقاس 16 × 2: 7 خطوات
غزاة LCD: لعبة تشبه لعبة Space Invaders على شاشة LCD مقاس 16 × 2: ليست هناك حاجة لتقديم لعبة "Space Invaders" الأسطورية. الميزة الأكثر إثارة للاهتمام في هذا المشروع هي أنه يستخدم عرض النص للإخراج الرسومي. يتم تحقيق ذلك من خلال تنفيذ 8 أحرف مخصصة. يمكنك تنزيل Arduino كامل
ساعة كلمة NeoMatrix 8x8: 6 خطوات (بالصور)
NeoMatrix 8x8 Word Clock: هل أنت مفتون بمرور الوقت؟ هل تريد ساعة أنيقة وعصرية وعملية لتضيفها إلى مجموعة ساعاتك؟ الساعة الكلامية هي أداة فريدة من نوعها لإخبار الوقت ، تستخدم شبكة من الأحرف لتوضيح الوقت. بينما تعول
ساعة كلمة مع تأثير قوس قزح وإضاءة خلفية: 6 خطوات
ساعة كلمة مع تأثير قوس قزح وإضاءة خلفية: البداية موجودة ، اللوحة الأمامية 40 × 40 سم وهي جاهزة
الكيفية: إنشاء مولد كلمة مرور عشوائي باستخدام Python: 8 خطوات
كيف: إنشاء مولد كلمة مرور عشوائية باستخدام Python: في هذا البرنامج التعليمي ، ستتعلم كيفية إنشاء مولد كلمة مرور عشوائي باستخدام Python في بضع خطوات بسيطة
ساعة كلمة DIY: 10 خطوات (مع صور)
DIY Word Clock: اليوم ، سأوضح لك كيفية إنشاء ساعة Word. إنها في الأساس ساعة تعرض الوقت باستخدام الكلمات. سأوضح لك أيضًا كيفية استخدام Shift Register و RTC باستخدام متحكم دقيق. يمكن أن يكون Shift Register مفيدًا جدًا في حالة نفاد الدبابيس