יצרני אלקטרוניקה מגיעים בהדרגה למסקנה שהשלט הרחוק הטוב ביותר הוא כף היד של המשתמש. אז בטור החדש "Yandex.Station Mini" מספק ניהול כזה. אל תעמדו מלבד טרנדים וחברים. כך, למשל, מחבר ה- Instructables תחת הכינוי dan_nicholson הגיע עם מכשיר פשוט המאפשר לך לשלוט בטלוויזיה שלך באמצעות מחוות. כברירת מחדל, היא מתוכנתת לעבוד עם טלוויזיות של Sony, אך ניתן להגדיר אותה גם לשליטה על כל טלוויזיות אחרות, מרכזי מוזיקה וכו '. כפי שניתן לראות מ- KDPV, מורכב
תוצרת בית ממאתרי הטווח
ארדואינו ועוד כמה רכיבים. ניתן להפוך לקומפקטי עוד יותר:
ועוד יותר קומפקטית אם זונחים את קרש הגישה ומחברים הכל על ידי הלחמה באמצעות חוטים. המאסטר מכין תרשים מכשירים בתוכנית Fritzing, שלא כולם אוהבים, אך לא ממהרים לזרוק נעלי בית, שיטה זו לרישום דיאגרמות יכולה גם להיות נוחה. המאסטר מחבר נורית אינפרא אדום דרך נגדי, וכל הגבישים של נורית RGB מחוברים ישירות. הוא כותב שגם נגדים רצויים כאן, אך למעשה הם נדרשים.
לאחר שהרכיב את המעגל, המאסטר לוקח את הספרייה
כאן, וקודי הפקודה הם
כאןכותב וממלא את הסקיצה:
/ * החלק שלט רחוק
סקיצה זו משתמשת במכוון טווח קולי לקביעת מחוות המשתמש ומפלט אות IR לטלוויזיה סונית על בסיס הפקודה שניתנה.
- החלקה גבוהה (> 10in) = ערוץ למעלה
- החלקה נמוכה = ערוץ למטה
- החזקה גבוהה (> 10in) = עוצמת הקול למעלה
- החזקה נמוכה = עוצמת הקול למטה
- חיישן כיסוי (<3in) = הפעלה / כיבוי
נוצר על ידי דן ניקולסון.
קוד דוגמה זה נמצא ברשות הרבים.
קוד זה משתמש בספריה של IRremote (https://github.com/shirriff/Arduino-IRremote)
* /
# כלול
// מגדיר עבור פונקציות בקרה
# הגדר CONTROL_CH 1 // שינוי ערוץ
# הגדר CONTROL_VOL 2 // אמצעי אחסון
# הגדר CONTROL_POW 3 // כוח
# הגדר CONTROL_UP 1
# הגדר CONTROL_DOWN -1
# הגדר DIST_MAX 20 // המרחק המרבי בסנטימטרים, כל דבר שמעל לא מתעלם.
#define DIST_DOWN 10 // סף לפקודות למעלה / למטה. אם גבוה יותר, הפקודה היא "למעלה". אם הוא נמוך יותר, "למטה".
#define DIST_POW 3 // סף לפקודת חשמל, נמוך מ- = הפעלה / כיבוי של הפעלה
// PIN IR
const int irPin = 3; // זה מוגדר בספריה, var זה רק תזכורת. שינוי זה לא ישנה קוד PIN בספריה
// חיישן פינג 2 פינים
const int pingPin = 8;
const int echoPin = 7;
// סיכות LED לאישור
const int led = 13; // LED פנימי לניפוי באגים למעלה / למטה
const int ledR = 11;
const int ledG = 10;
const int ledB = 9;
// LED על טיימר
טיימר ארוך שאינו חתום;
// אובייקט משדר IR
IRsend irsend;
// דגל אישור כוח (זקוק לשתי החלפות כדי לשלוח אות)
power בוליאני Confirmed = שווא;
הגדרת ביטול () {
// לאתחל תקשורת טורית ולהגדיר סיכות
Serial.begin (9600);
pinMode (הוביל, פלט);
pinMode (ledR, OUTPUT);
pinMode (ledG, OUTPUT);
pinMode (ledB, OUTPUT);
pinMode (pingPin, OUTPUT);
pinMode (echoPin, INPUT);
טיימר = מיליס ();
}
לולאה חלילה ()
{
// Serial.println (מיליס ());
משך זמן ארוך, סנטימטרים;
ערך int;
// בדוק קריאה
משך = doPing ();
// טיימר לאישור פעולות (כרגע רק כוח)
אם (טיימר & טיימר <(מיליס () - 5000) && (מיליס ()> 5000))
{
Serial.println ("איפוס טיימר");
טיימר = שקר;
}
digitalWrite (הוביל, נמוך);
setColor (0, 0, 0); // כבוי
// להמיר את הזמן למרחק
אינץ '= microsecondsToInches (משך זמן);
// אם במרחק של פחות מסנטימטרים משם, פעל
אם (אינץ ' DIST_MAX)
{
doIR (CONTROL_CH, ערך); // החלק
}
אחר
{
// נפח
int d = 500; // ההשהיה הראשונה ארוכה יותר לשינוי נפח בודד
// חזור על עצמו עד להסרת היד
בעוד (סנטימטרים DIST_DOWN)
{
digitalWrite (הוביל, גבוה);
חזור CONTROL_UP;
}
אחר
{
digitalWrite (הוביל, נמוך);
חזור CONTROL_DOWN;
}
}
/ *
* כבה את קוד ה- IR הנכון
* /
doir void (בקרת int, int val)
{
מתג (שליטה)
{
מקרה CONTROL_POW:
// כוח
Serial.println ("הפעלה / כיבוי 0xa90");
עבור (int i = 0; i <3; i ++)
{
setColor (255, 0, 0);
irsend.sendSony (0xa90, 12); // קוד כוח טלוויזיה של סוני
עיכוב (40);
}
שבירה;
מקרה CONTROL_CH:
setColor (0, 255, 0);
// פלט 'ערוץ מעלה / מטה' תלוי ב- val
אם (val == CONTROL_UP)
{
digitalWrite (הוביל, גבוה);
עבור (int i = 0; i <3; i ++)
{
irsend.sendSony (0x90, 12);
עיכוב (40);
}
Serial.println ("ערוץ עד 0xD00A");
}
אחר // למטה
{
עבור (int i = 0; i <3; i ++)
{
irsend.sendSony (0x890, 12);
עיכוב (40);
}
Serial.println ("ערוץ למטה 0x3002");
}
שבירה;
מקרה CONTROL_VOL:
setColor (0, 0, 255);
// פלט 'נפח למעלה / למטה' תלוי בערך
אם (val == CONTROL_UP)
{
digitalWrite (הוביל, גבוה);
עבור (int i = 0; i <3; i ++)
{
irsend.sendSony (0x490, 12);
עיכוב (40);
}
Serial.println ("נפח עולה 0x490");
}
אחר // למטה
{
עבור (int i = 0; i <3; i ++)
{
irsend.sendSony (0xC90, 12);
עיכוב (40);
}
Serial.println ("עוצמת הקול 0xC90");
}
שבירה;
}
}
set vool set (צבע אדום, ירוק int, כחול int)
{
analogWrite (ledR, אדום);
analogWrite (ledG, ירוק);
analogWrite (ledB, כחול);
}
עשייה ארוכה ()
{
digitalWrite (pingPin, LOW);
עיכוב מיקרו-שניות (2);
digitalWrite (pingPin, HIGH);
עיכוב מיקרו-שניות (5);
digitalWrite (pingPin, LOW);
דופק החזרה (echoPin, HIGH);
}
מיקרו-שניות ארוכות ToInches (מיקרו-שניות ארוכות)
{
// על פי גיליון הנתונים של Parallax עבור ה- PING)))) ישנם
// 73.746 מיקרו שניות לאינץ '(כלומר הצליל נע בגובה 1130 רגל לכל סנטימטר)
// שני). זה נותן את המרחק אותו פינג יוצא, יוצא
// ולחזור, אז נחלק ב -2 כדי לקבל את מרחק המכשול.
// ראה: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
החזר מיקרו-שניות / 74/2;
}
מיקרו שניות ארוכות ToCentimeters (מיקרו שניות ארוכות)
{
// מהירות הקול היא 340 מ '/ ש' או 29 מיקרו שניות לסנטימטר.
// הפינג נוסע החוצה ובחזרה, כדי למצוא את המרחק של ה-
// חפץ אנו לוקחים חצי מהמרחק שנסע.
החזר מיקרו-שניות / 29/2;
}
תכונה של התוכנית היא שליחת הודעות ניפוי באגים על המתרחש כרגע לצג היציאה הסדרתית של Arduino IDE. לאחר שתוודאו שהכל יפעל נכון, בעתיד תוכלו להעביר את המכשיר לא מהמחשב, אלא מאספקת החשמל.
סדר שליחת הפקודות:1. הפעל או כבה את הטלוויזיה: נופף בכף היד שלך לפני מאתר הטווחים במרחק של 0 עד 75 מ"מ. נורית RGB תאיר סגול למשך 5 שניות, בזמן שהיא מוארת, נופלת באותו מרחק שוב.
2. הקטינו את מספר הערוץ - התנדנדו ממרחק 75 (לא כולל) ל -250 מ"מ. זום - זהה, אך במרחק של 250 (לא כולל) ל 500 מ"מ.
3. הורד או הגדל את עוצמת הקול - זהה לתעלות, אך אל תנופף, אך החזק את כף ידך ללא תנועה. בזמן שהמשתמש אוחז בכף ידו, עוצמת הקול, תלוי במרחק, יורדת או עולה בהתאם לאותה היגיון כמו מספר הערוץ.
כדי להשתמש בשאר הפונקציות (EPG, טלטקסט, קלט בס וכו '), עליך לשמור שלט רחוק קבוע לידך. בתנאים מודרניים, רצוי לתכנת את המכשיר לשלוט בתיבה סטנדרטית DVB-T2. במקרה של מרכז המוזיקה הכל שונה: שידור אנלוגי נותר לעת עתה, אם כי בעתיד יהיה מעבר לסטארט-אפ DAB + או DRM +.
לאחר ניפוי מבנה, יש להציב אותו בגוף של כל מבנה - מיוצר
עשה זאת בעצמך מ פרספקס, דיקט, לכל קופסה מוגמרת מתאימה, למשל, הלחמה. יש לספק חורים במתחם עבור מד טווח, כבל ושני נוריות LED. רצוי לכוון את מאתר הטווחים ונורת ה- RGB לכיוון אחד, ואת דיודה IR לכיוון ההפוך.