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

ממשק חיוג טלפוני סיבובי ל- Arduino: 6 שלבים (עם תמונות)
ממשק חיוג טלפוני סיבובי ל- Arduino: 6 שלבים (עם תמונות)

וִידֵאוֹ: ממשק חיוג טלפוני סיבובי ל- Arduino: 6 שלבים (עם תמונות)

וִידֵאוֹ: ממשק חיוג טלפוני סיבובי ל- Arduino: 6 שלבים (עם תמונות)
וִידֵאוֹ: ממשק למרכזיה טלפונית 2024, נוֹבֶמבֶּר
Anonim
ממשק חיוג טלפון סיבובי ל- Arduino
ממשק חיוג טלפון סיבובי ל- Arduino
ממשק חיוג טלפון סיבובי ל- Arduino
ממשק חיוג טלפון סיבובי ל- Arduino

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

שלב 1: הסר את החוגה מהטלפון

הסר את החוגה מהטלפון
הסר את החוגה מהטלפון
הסר את החוגה מהטלפון
הסר את החוגה מהטלפון
הסר את החוגה מהטלפון
הסר את החוגה מהטלפון

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

שלב 2: זהה את המתג

זהה את המתג
זהה את המתג

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

שלב 3: צור את המעגל

עשה את המעגל
עשה את המעגל
עשה את המעגל
עשה את המעגל

לאחר שמצאת את המתג שנעשה ונשבר, אתה אמור להיות מסוגל לזהות את החיבורים על ידי מעקב אחר החוטים חזרה למסופי החיבור. במקרה שלי, שני הצדדים של המתג מחוברים לשני המסופים השמאליים ביותר. חבר את הטרמינלים האלה לכמה חוטי מגשר וקבל אב טיפוס! המתג בחוגה שלי פועל תמיד ונשבר עבור כל דופק בעת חיוג, אז השתמשתי במעגל הפשוט מאוד למטה. סיכה 2 תעלה גבוה לכל דופק כאשר החוגה מסתובבת. כאשר הטלפון אינו מחייג, המתג ביחידת החיוג סגור (מתג שנקרא NORMALLY CLOSED, מסיבות ברורות) כך שהמעגל מחבר את סיכה 2 לאדמה (אשר ל- Arduino הוא נמוך). הסיבה לכך היא שיש התנגדות הרבה פחות דרך הנגד 470 אוהם מאשר הנגד 10K. כאשר הטלפון מחייג, המתג נפתח ונסגר במהירות (עבור 9, הוא ייפתח ונסגר שוב תשע פעמים, זכור). כאשר המתג פתוח, סיכה 2 אינה מחוברת לאדמה - במקום זאת היא מחוברת לאספקת 5V באמצעות התנגדות של 10470 אוהם. זה מתפרש על ידי הארדואינו כ- HIGH. אם לחוגה שלך יש מתג פתוח באופן נורמלי, אז החלפת המיקומים של הנגד 10K והחוגה צריכה לעשות את העבודה.

שלב 4: פיתוח הקוד

לפתח את הקוד
לפתח את הקוד

עכשיו אנחנו צריכים קצת קוד עבור Arduino לספור את הפעימות ולשלוח את המספר הכולל למספר שחייג בחזרה דרך היציאה הטורית. הקוד שלי למטה. מכיוון שאנו עוסקים כאן במכניות, שלך עשוי להיות שונה. נסה לשחק עם קבוע הניתוק והקבוע 'כמה זמן אנחנו מחכים לפני שנניח שהחיוג סיים להסתובב'. ניסיתי להגיב על זה בצורה הכי מסודרת שאני יכול. אני מקווה שזה די פשוט. Int needToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int cleared = 0; // constantsint dialHasFinishedRotatingAfterMs = 100; int debounceDelay = 10; הגדרת void () {Serial.begin (9600); pinMode (in, INPUT);} לולאת void () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// החוגה לא מחויגת, או שזה עתה סיימה לחייג. אם (needToPrint) {// אם זה עתה הסתיים בחיוג, עלינו לשלוח את המספר בשורה הטורקית // ולאפס את הספירה. אנו משנים את הספירה ב -10 מכיוון ש- '0' ישלח 10 פולסים. Serial.print (ספירה % 10, DEC); needToPrint = 0; ספירה = 0; נקה = 0; }} if (קריאה! = lastState) {lastStateChangeTime = millis (); } אם ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - זה קורה ברגע שהוא מתייצב אם (קריאה! = trueState) {// פירוש הדבר שהמתג פשוט עבר מ- closed-> פתוח או להיפך. trueState = קריאה; אם (trueState == HIGH) {// להגדיל את מספר הפולסים אם הוא הלך גבוה. ספירה ++; needToPrint = 1; // נצטרך להדפיס את המספר הזה (לאחר שהחיוג סיים להסתובב)}}} lastState = קריאה;}

שלב 5: בדוק שזה עובד

בדוק אם זה עובד על ידי פתיחת חלון סדרתי (אני משתמש במסך במכשיר יוניקס, ייתכן שתרצה להשתמש ב- Hyperterm או דומה ב- Windows), ונסה לחייג מספרים מסוימים. ודא שהתוכנית הסדרתית מוגדרת לקריאה מה- USB- > מתאם טורי בארדואינו שלך (בדוק את התפריט כלים-> יציאה סידרית בתוכנת הארדואינו אם אתה שוכח מה זה) וקצב שידור של 9600 bps. אתה אמור לראות את המספר הנכון צץ כשהוא מחייג.

שלב 6: חבר אותו למשהו שימושי

תחבר למשהו שימושי!
תחבר למשהו שימושי!

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

מוּמלָץ: