תוכן עניינים:
- אספקה
- שלב 1: תורת הפעולה
- שלב 2: הסר את החוגה
- שלב 3: הדפס את המארז
- שלב 4: תכנת את הארדואינו שלך
- שלב 5: חיבור הכל
- שלב 6: הרכבה
- שלב 7: הגדר את סקריפט Python
וִידֵאוֹ: בקרת עוצמת קול מחשב Vintage Rotary Phone Dial: 7 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
אם אתה דומה לי, אתה מוצא את עצמך משנה את עוצמת הקול במחשב שלך לעתים קרובות למדי. חלק מהסרטונים חזקים יותר מאחרים, לפעמים אתה רוצה שהווליום יושתק במחשב שלך בזמן שאתה מאזין לפודקאסטים או מוזיקה, וייתכן שתצטרך להנמיך במהירות את עוצמת הקול אם תקבל שיחת טלפון. אם אין לך פקדי מדיה מובנים במחשב שלך, באפשרותך להפוך חיוג טלפון סיבוב וינטאג 'לבקרת עוצמת קול עבור מחשב Windows שלך.
התקן בקרת עוצמת קול זה מתחבר למחשב שלך באמצעות USB, ויגדיר אוטומטית את עוצמת הקול של כל תוכנית פתוחה למספר שתחייג. אם תחייג "2", עוצמת הקול תוגדר ל -20%. חייג "8" והוא יוגדר ל -80%. חיוג "0" מגדיר אותו ל -0% ומתנהג כמו השתקה. זה מהיר, מספק ומהנה יותר מללחוץ על בקרת עוצמת הקול בשורת המשימות שלך.
אספקה
- טלפון סיבובי Trimline Vintage Bell Systems
- ארדואינו ננו
- מוסיף חום משורשר M3
- ברגי מכונה M3
- נגדים (470 אוהם ו -10 אלף אוהם)
- חוּט
- גישה למדפסת תלת מימד
שלב 1: תורת הפעולה
טלפונים רוטרי, כולל Trimline Bell Systems המשמשים בפרויקט זה, הם מכשירים אלקטרומכניים אנלוגיים בלבד. כאשר אתה מסובב את החוגה, קפיץ מסובב את החוגה למקומה המקורי. כאשר הוא עובר כל מספר מתג מנותק (או מחובר) לרגע קצר, ויוצר דופק. כל שעלינו לעשות הוא לספור את הפולסים האלה כדי לקבוע לאיזה מספר חייגו.
ל- guidomax יש הדרכה פנטסטית של Instructables המעמיקה כיצד בדיוק זה עובד, ותוכל למצוא שם פרטים נוספים.
לפרויקט זה אנו משתמשים ב- Arduino Nano לספירת הפולסים. לאחר מכן שולח ה- Arduino את המספר למחשב באמצעות החיבור הטורי. כתבתי סקריפט בסיסי של פייתון הפועל ברקע ועוקב אחר החיבור הטורי הזה. כאשר הוא מקבל סיביות, הוא לוקח את המספר ומשתמש בספריית Python Core Audio Windows כדי להגדיר את עוצמת הקול המתאימה.
בשל מגבלות ב- Windows ובספרייה זו, התסריט אינו קובע את נפח המערכת הכולל (המחוון הראשי בשורת המשימות שלך). במקום זאת, הוא מגדיר את עוצמת הקול האישית עבור כל תוכנית שפועלת כעת. האפקט זהה, למעט שאי אפשר לשמור על רמות עוצמת קול יחסית בין תוכניות.
שלב 2: הסר את החוגה
שלב זה פשוט: פשוט פרק את מכשיר הטלפון שלך Trimline כדי להסיר את מנגנון החיוג. זה בעצם מודול עצמאי, אז אתה רק צריך לפרק אותו מהמכשיר.
בחרתי בדגם Trimline לפרויקט זה, מכיוון שמודול החיוג הזה קומפקטי יותר מזה שתמצא במרבית הטלפונים הסיבוביים האחרים.
אם אתה נותן לו כמה סיבובי בדיקה, אתה צריך לשמוע את המתג לוחץ משם כשהוא חוזר לעמדת הבית.
שלב 3: הדפס את המארז
השתמש בשני קבצי ה- STL המצורפים להדפסת חלקי המארז. אתה יכול להשתמש בכל חומר נימה שאתה מעדיף (השתמשתי ב- PLA). ההגדרות הספציפיות שבהן אתה משתמש אינן כה חשובות, אך המלצתי להשתמש בתמיכות עבור החלק "Rotary_Top". אתה יכול להדפיס את שני החלקים האלה בזמן שאתה עובד על שאר הפרויקט.
שלב 4: תכנת את הארדואינו שלך
הקוד שתעלה ל- Arduino Nano שלך נלקח היישר מהמדריך של guidomax, מכיוון שהוא עובד בצורה מושלמת עבור פרויקט זה:
int needToPrint = 0; int count; int in = 2;
int lastState = LOW;
int trueState = LOW;
long lastStateChangeTime = 0;
int cleared = 0;
// קבועים
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
הגדרת בטל () {
Serial.begin (9600);
pinMode (ב, INPUT); }
לולאת חלל () {
int reading = digitalRead (in);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// החוגה לא מחויגת, או שזה עתה סיימה לחייג.
אם (needToPrint) {// אם זה עתה הסתיים בחיוג, עלינו לשלוח את המספר בשורה הטורקית // ולאפס את הספירה. אנו משנים את הספירה ב -10 מכיוון ש- '0' ישלח 10 פולסים.
Serial.print (ספירה % 10, DEC);
needToPrint = 0;
ספירה = 0;
נקה = 0; }}
אם (קריאה! = lastState) {lastStateChangeTime = millis ();
}
אם ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - זה קורה ברגע שהוא מתייצב
אם (קריאה! = trueState) {// פירוש הדבר שהמתג פשוט עבר מ- closed-> פתוח או להיפך. trueState = קריאה; אם (trueState == HIGH) {// להגדיל את מספר הפולסים אם הוא הלך גבוה.
ספירה ++;
needToPrint = 1; // נצטרך להדפיס את המספר הזה (לאחר שהחיוג סיים להסתובב)
}
}
}
lastState = קריאה; }
שלב 5: חיבור הכל
החיווט לפרויקט זה ממש פשוט. מודול החוגה צריך להיות בעל שני עמודים משושים על הגב עם ברגים בתוכם. אלה חיבורי המתג. הקוטביות לא משנה.
הערה: התעלם מצבעי החוטים שלי בתמונות. ערבבתי את הקרקע ואת 5V, אז אלה למעשה הפוכים.
חבר חוט אחד מפוסט A (GND) וחבר אותו לסיכה הארקה ב- Arduino Nano שלך. קח חוט שני והלחם אותו וחוט שלישי לצד אחד של הנגד 470 אוהם. החוט השני יעבור לפוסט B (+) בחוגה. החוט השלישי יולחם לצד אחד של הנגד 10k אוהם. קח חוט רביעי והלחם אותו מהצד השני של הנגד 470 אוהם לסיכה 2 על הארדואינו ננו. לבסוף, חוט חמישי אמור לחבר את הצד השני של הנגד 10 קילו -אוהם לסיכה 5V על הארדואינו ננו.
אנו משתמשים בנגדים ובסיכת 5V כדי למשוך את הסיכה לגבוה כשהמתג פתוח (כפי שהוא במהלך כל "דופק").
שלב 6: הרכבה
עליך לשים לב כי בחלק Rotary_Top של המארז יש שישה חורים קטנים. אלה מיועדים לתוספות חום המשורשרות שלך. שלושת החלקים העליונים (בצד התחתון של המשטח העליון) נועדו לעלות את החוגה הסיבובית. שלושת התחתונים הם הברגת Rotary_Base ל- Rotary_Top.
ניתן לחמם את תוספות החום בעזרת מלחם (או כלי ייעודי) ולאחר מכן לדחוף אותן לתוך החורים. החום ימס את הפלסטיק, שיתקשה לאחר הסרת החום בכדי להחזיק את התוספות במקומן היטב. שימוש בתוספות חום הרבה יותר נעים מהברגת הברגים ישירות לפלסטיק.
הכנס את שש התוספות המוגדרות לחום. לאחר מכן השתמש בכמה ברגי מכונת M3 קצרים (10 מ מ בערך) כדי להרכיב את החוגה. שים לב לחריץ בחיתוך, לשם יעבור עצירת האצבע המתכתית. לאחר מכן הנח בזהירות את ה- Arduino Nano עם כבל USB המחובר בתוך המארז (הוא רופף, לא מותקן), והברג את הבסיס למקומו.
סביר להניח שתרצה להשתמש בקלטת דו צדדית או ברצועות פקודה 3M כדי להצמיד את המארז לשולחן העבודה שלך, כך שהוא לא יזוז כשאתה מסובב את החוגה.
שלב 7: הגדר את סקריפט Python
ראשית, וודא שהתקנת Python (השתמש ב- Python 3 מכיוון ש- Python 2 הולך ונשלל).
לאחר מכן יהיה עליך להתקין את שתי הספריות הנדרשות: PyCAW ו- PySerial.
להשתמש:
"pip install pycaw" ו- "pip install pyserial" (מחלון פייתון או מ- Windows Powershell)
לאחר מכן בדוק לאיזה יציאה הארדואינו ננו שלך מחובר. אתה יכול לבדוק זאת מתוך ה- IDE של Arduino. ודא שבחרת את היציאה הזו, ולאחר מכן פתח את הצג הטורי. ודא שקצב השידור שלך מוגדר ל- 9600 ולאחר מכן חייג מספרים כדי לוודא שהם מופיעים במסך הטורי.
אם כן, ערוך את הקוד "rotary.py" עם מספר היציאה שלך. אם אתה מפעיל את הסקריפט, כעת תוכל לשנות את עוצמת הקול על ידי חיוג למספר.
השלב האחרון הוא הגדרת התסריט כך שיופעל ברקע באופן אוטומטי בעת אתחול המחשב האישי שלך.
לשם כך, שנה את "rotary.py" ל- "rotary.pyw" שיאפשר לו לפעול ברקע. לאחר מכן הנח את הסקריפט בתיקיה הבאה: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / תפריט התחלה / תוכניות / הפעלה
ברור שתצטרך לשנות את "current_user" לשם תיקיית המשתמש שלך בפועל.
זהו זה! בכל פעם שהמחשב שלך מופעל, סקריפט Python הזה יתחיל לפעול. הוא יפקח על החיבור הטורי מה- Arduino ויגדיר את כל אמצעי התוכנית לכל מה שתחייג!
סגנית בתחרות ארדואינו 2020
מוּמלָץ:
בקרת עוצמת קול USB: 9 שלבים (עם תמונות)
בקרת עוצמת קול USB: בפרויקט זה נבנה בקרת עוצמת קול USB באמצעות תכשיט תואם Arduino מבית Adafruit, ומקודד סיבובי. לבסוף, נדפיס תלת מימד בתלת מימד, נמלא את הבסיס בצילום עופרת להוספת משקל ויציבות, ונחתוך תחתית אקרילית בלייזר
ידית בקרת עוצמת קול פשוטה של DIY !: 5 שלבים (עם תמונות)
ידית בקרת עוצמת קול פשוטה DIY: יש לך שולחן עבודה עם מערכת סאונד רחוקה מהמקום שבו אתה יושב?-אני כן. לאחר קצת חפירות גיליתי שזה די קל להכין כפתור שליטה בעוצמת קול רכה משלי בזול. במדריך זה אראה לך כיצד ליצור כפתור בקרת עוצמת קול USB
דופק (נוריות מופעלות עוצמת קול): 7 שלבים (עם תמונות)
דופק (נוריות מופעלות עוצמת קול): האם אי פעם רצית לבנות משהו עם נוריות, אבל לא ידעת מאיפה להתחיל? מדריך זה ייתן לך כמה צעדים פשוטים לעיצוב קוד משלך להדמיה בנפח לנורות LED שניתן להתייחס אליהם. זהו מד רעש שולחני מהנה, rave de
בקרת עוצמת קול טובה יותר לטלוויזיה: 3 שלבים
בקרת עוצמת קול טובה יותר לטלוויזיה: הבעיה: הטלוויזיה החדשה שלי יש לו בקרת עוצמת קול דיגיטלית שהיא די רעועה, היא או LOUD או כבויה הפתרון: הוספת שליטה על עוצמת שמע אנלוגית משנית החומרים: 1. חוט 2. הלחמה 3. צינור כיווץ 4. פוטנציומטר (השתמשתי במומם אחד טוב עבור
בקרת עוצמת קול אוזניות/אוזניות: 8 שלבים (עם תמונות)
בקרת עוצמת קול אוזניות/אוזניות: אז קניתי PMP (נגן מדיה נייד) מהונג קונג כדי שאוכל לשחק את משחקי ה- NES שלי עם אמולטור הלוח בכל מקום שנוח. טיולי כביש ארוכים, טיסות, חדרי המתנה וכו 'הם מקומות שאני אוהב להרוג זמן בעזרת מדיה ניידת אבל