תוכן עניינים:

שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה: 3 שלבים
שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה: 3 שלבים

וִידֵאוֹ: שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה: 3 שלבים

וִידֵאוֹ: שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה: 3 שלבים
וִידֵאוֹ: ישי ריבו - סיבת הסיבות | Ishay Ribo - Sibat Hasibot 2024, נוֹבֶמבֶּר
Anonim
Image
Image
שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה
שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה
שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה
שעון מילים בן ארבע אותיות עם מחולל מילים של Akafugu וביטויים מעוררי השראה

זוהי הגרסה שלי לשעון המילה ארבע אותיות, רעיון שמקורו עוד בשנות השבעים. השעון מציג סדרה של מילים בעלות ארבע אותיות הנוצרות מאלגוריתם של מחולל מילים אקראי או ממאגר מידע של מילים בעלות ארבע אותיות.

גרסה זו משתמשת במסכי LED מודרניים יותר עם 14 פלחים ובמיקרו-בקר Atmega 328p להצגת המילים והזמן. שני מצבי יצירת מילים נתמכים. הראשון משתמש באלגוריתם ליצירת קבוצות מילים בעלות ארבע אותיות שצפויות להיות מילים בפועל, בדומה למקור. כל מילה רצופה אינה קשורה לקודמת. המצב השני משתמש במאגר המידע של מילת היחסים מתוך "תזבורת אסוציאטיבית של אדינבורו", מסמך של אסוציאציות של מילים המבוסס על תגובות של אנשים לשאול את המילה הראשונה שעולה לראש לאחר שנתן להם מילת זרע, ולאחר מכן המשך התהליך עם מילת התגובה. מסד הנתונים הותאם לדור ארבע אותיות על ידי תאגיד אקפוגו, שיצר קובץ נתונים של 57 קביט המאוחסן ב- EEPROM חיצוני לעיבוד על ידי Atmega. התוצאה היא שהשעון משתמש בזמן יוניקס כזרע אקראי ויוצר מחרוזת של מילים בעלות ארבע אותיות הקשורות לתגובות אנושיות, לא על אלגוריתם כלשהו.

הערה: מאגר המילים של Akafugu מכיל כמה מילים מפורשות מינית ועלולות לפגוע. אם זה מפריע לך, אנא הפעל את מצב המילים האקראיות. זה עשוי גם ליצור כמה מילים פוגעניות, אבל לפחות לא יציג זרמים של מילים פוגעניות קשורות!

"תזאורוס אסוציאטיבי אדינבורו" נערך על סמך תגובות של אנשים שגרו באנגליה בתחילת שנות ה -60. המילה יחסים בהחלט משקפת את ההטיה הזו! לדוגמה, המילה "BEST" מלווה בתדירות גבוהה אחר "PETE". אין קשר ברור, אלא אם כן יודעים שפיט בסט היה המתופף המקורי של הביטלס בתחילת שנות ה -60! הטיות אחרות כלפי התרבות הבריטית בשנות ה -60 בשפע. אני חושב שזה מאוד מעניין לצפות!

המכשיר מכיל גם מודול I2C שניתן להתייחס אליו בזמן אמת עם גיבוי סוללה נטענת. השעון מציג 5 מילים מאחד משני האלגוריתמים הניתנים לבחירה, ולאחר מכן מציג את השעה, התאריך, יום השבוע והשנה. מצבי השעון ומצב ההפעלה מוגדרים באמצעות שלושה מתגי לחיצה. מצבי הפעלה מאוחסנים ב- EEPROM שאינו נדיף ושרדים איפוס או הפסקת חשמל. ה- RTC ממשיך לפעול כשנה לאחר הוצאת החשמל, עם דיוק קיצוני בעל פיצוי טמפרטורה. הזמן הנכון מוצג באופן אוטומטי כאשר החשמל משוחזר.

תכונה נוספת היא 107 הציטוטים לגבי הזמן המוצגים באופן אקראי כל 10 דקות. ציטוטים אלה מתגלגלים מימין לשמאל על פני ארבע הדמויות, ומספקים עידוד והשראה תכופים! אחסון הביטויים נמצא ב- EEPROM החיצוני עם מאגר הנתונים של Akafugu. מאגר הנתונים לוקח רק 57 קילו -בייט מתוך 64 הקייטבים הזמינים במכשיר, ומשאיר מקום ל -107 המשפטים. ביטוי "התרברב" הוא תמיד הראשון שמוצג כאשר השעון מופעל לראשונה במרווח של 10 הדקות הבאות.

היחידה משתמשת בתצוגות קתודה נפוצות של 14 קטעים (2 קתודות לכל ספרה) המוכפלות בשגרת שירות להפסקת טיימר המביאה לרענון התצוגה של ארבעה תווים ב -100 הרץ. בכל פעם שה- ISR פועל, הוא מכבה את תו החצי הקודם, מאחזר 7 מתוך 14 הקטעים לאחת מארבע התווים, מפעיל את סיכות הקטע המתאימות ומנמק את הקתודה המתאימה. התצוגות מעט נדירות, אבל היה לי עודף גדול שרציתי להשתמש בו. הקתודה הכפולה-משותפת מפחיתה את מספר הפינים הדרושים לספרה מ -15 ל -9. יש מספיק פינים ב- Atmega 328p כדי לאפשר הנעה ישירה של הצג ללא מרשם משמרות.

TO-DO: שנה קוד לשימוש במודול ה- LED האלפאנומרי של 4 תווים של Adafruit

שלב 1: היסטוריה

הִיסטוֹרִיָה
הִיסטוֹרִיָה
הִיסטוֹרִיָה
הִיסטוֹרִיָה
הִיסטוֹרִיָה
הִיסטוֹרִיָה
הִיסטוֹרִיָה
הִיסטוֹרִיָה

שעון ה- FLW המקורי נבנה עם צינורות עודפי ניאון אלפאנומריים של Burroughs B7971, שנמחקו מלוחות תצוגה של טיקי מלאי שהושבתו. אלה דומים לצינורות ה- nixie המספריים של אותה תקופה, אך השתמשו בתצוגה בת 14 פלחים כדי ליצור את כל התווים של ASCII. השעון השתמש בהיגיון דיסקרטי, ובחר באותיות מתוך טבלה ליצירת צירופי ארבע אותיות אקראיים ששקלולם עשוי לייצר מילים אמיתיות.

עם האלגוריתם במודל המקורי של 1972, מופיעות רק אותיות מסוימות בכל עמדה. נעשה ניתוח בלוח יד של כמה מאות מילים של ארבע אותיות וספירת תדירות האותיות בכל אחת מארבע העמדות. נעשה שימוש בעשרת האותיות השכיחות ביותר של כל עמדה, למעט העמדה השנייה שהכילה שמונה אותיות בלבד.

עבור כל עמדה, מונה BCD (0-9) פשוט (74LS90 IC) רץ בחופשיות והספירה נלכדה והחזיקה אחת למספר שניות עד פעם לדקה, בהתאם להגדרת המהירות. תמונת המצב הנגדית הוחלה לאחר מכן על מטריצת פענוח דיודה (באמצעות כ -150 דיודות) ליצירת התווים.

מאחר שרק עשר (או שמונה) האותיות הנפוצות ביותר נבחרו לכל עמדה, ללא התחשבות בצירופי אותיות, יכולות להופיע מילים רבות שאינן מילים, למשל FRLR, LREE, LLLL וכו '.

שים לב כי למיקום השני היו רק שמונה אותיות, שכן לאות התשיעית והעשירית במדגם הייתה תדר נמוך באופן יחסי, ואילו הראשונה והשנייה היו בעלות תדר גבוה במיוחד כך שהן הוכפלו. כך 10 x 8 x 10 x 10 = 8000 תמורות. האותיות שתוכנתו לדגם 1973 הראשון מוצגות באחת התמונות שלמעלה.

שלב 2: קוד וסכימה

קוד וסכימטי
קוד וסכימטי
קוד וסכימטי
קוד וסכימטי
קוד וסכימטי
קוד וסכימטי
קוד וסכימטי
קוד וסכימטי

הסכימה מצורפת.

ניתן לבנות את השעון באמצעות כל Arduino מבוסס Atmega 328p.

לשימוש עם Atmega 328p עצמאי, כפי שמוצג בתרשים, יש להשתמש במתכנת ספקי אינטרנט לתכנת הבקר באמצעות ה- 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

הגדרות אלה משביתות את וקטור האיפוס של מטען האתחול כך שהקוד מתחיל מיד מווקטור הקוד הראשי. הנתיכים מוגדרים גם עבור מתנד חיצוני של 16 מגה -הרץ. לאחר שנשרף, לא תוכל לתכנת את השבב שוב עד לחיבור הגביש והקבלים כפי שמוצג בתרשים, מכיוון שמתנד ברירת המחדל הפנימי מושבת עם הגדרות הנתיכים האלה.

יש להתקין את ספריית ה- Arduino DS3231 כדי לספק גישה לשגרות שעון ה- RTC. יש צורך לאפשר תמיכה ב- Unix time בספרייה על ידי ביטול התגובה של השורה "#define CONFIG_UNIXTIME" בקובץ config.h של ספריית RTC DS3231. זמן יוניקס משמש כזרע למחולל מספרים אקראיים, כך שרצף המלים והביטויים לא יחזרו על עצמם בכל פעם שהשעון מופעל.

מודול שעון ה- RTC DS3231 עצמו הוא זן נפוץ הנמכר ב- eBay. המודול מוצג למעלה. חפש את הסוג עם סוללת גיבוי נטענת.

בנוסף לבקר מיקרו מתוכנת, יש צורך גם להשיג ולתכנת EEPROM סדרתי מסוג Microchip 24LC512 עם מאגר הנתונים ורשימת הביטויים של Akafugu. זה נעשה באמצעות מעגל פשוט הבנוי עם Arduino, וכרטיס SD המעוצב כ- FAT32 ועליו קובץ output2.dat. סקיצה קוראת את הנתונים מכרטיס ה- SD וכותבת אותם ל- EEPROM. ניתן למצוא פרטים בשני הקישורים הבאים. הקפד להשתמש בסקיצת התכנות ובקובץ הנתונים במדריך זה, מכיוון שבקישור 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 מילים רצופות

מוּמלָץ: