איך לימדתי שלט רחוק טיפש לחקות שלט טיפש אחר בעזרת מודול RF סיני, לוג'יק אנלייזר ומלחם.
שערים חשמליים מודרניים לחניה מופעלים בחיוג מהסמארטפון, ובוודאי אפשר למצוא גם כאלה עם שלט ייעודי בעל "קוד מתגלגל" מאובטח יחסית, אך הרבה מאוד שערים בארץ עדיין עובדים בשיטה הישנה של קוד קבוע. כשרוצים לשכפל שלט של שער כזה, הפתרונות המקובלים הם ללכת למנעולן שמצויד במכשיר שכפול מיוחד, או להזמין באינטרנט "שלט חניה לומד" ולקוות שהוא מתאים מבחינת תדר הרדיו המדויק. אבל איזה מין מייקרים נהיה אם נסתפק בפתרונות כאלה?
לאורך השנים התאספו אצלי מספר שלטים עם קוד קבוע, שאף אחד כבר לא זכר לְמה הם שייכים (ואם הדבר שאליו הם שייכים עדיין קיים בכלל). בנוסף היה לי אחד – משוכפל בעצמו – שכן ידעתי למה הוא שייך, וזה דווקא היה משהו חשוב מספיק להצדיק גיבוי. בתחילת דרכי כמייקר היה לי ניסיון לא מוצלח לשכפל שלט כזה בעזרת סט משדר-מקלט RF סיני, אז חשבתי שאפנה כעת למנעולן וזהו. מצד שני, אם כבר פתחתי את מאגר השלטים הישנים, אולי אכתוב על אחד מהם פוסט? בתוך הפלסטיק שלו מצאתי את זה:
הג'וק הגדול הוא PT2260, שזיהיתי מיד בתור קרוב משפחה של PT2262 עליו כתבתי בעבר. אלו הם ג'וקים גנריים, שצריך להגדיר להם "מבחוץ" אילו ביטים לשדר. ההגדרות הללו התגלו מצדו השני של ה-PCB:
יש כאן עשרה זוגות של גשרי הלחמה (חמישה מהם מאוכלסים), שמתחברים לעשר רגלי ה"כתובת" של הג'וק הייעודי. בשיטת הפעולה של הג'וקים האלה, כל פין קלט לכתובת יכול לקבל HIGH, LOW או Floating (לא מחובר לשום דבר). שני הביטים הנותרים בשידור הסטנדרטי של 12 ביט מגיעים משני הלחצנים השונים של השלט. כאמור כבר כתבתי על כל זה בפירוט, אז לא היה טעם להכין פוסט חדש… אבל אולי אפשר לעשות האקינג למעגל הזה, למשל לשתול בו איזה מיקרו-בקר שייצור סיגנלים עבור המתנד והאנטנה המובנים וישחזר את השידור של השלט החשוב שלי? לשלט קיים שתוכנן כמו שצריך יש סיכוי טוב יותר "לקלוע" לתדר הנכון בהשוואה למשדר גנרי עלוב. במקרה הצורך אפשר לכוונן אותו מעט (אם הבנתי נכון, זה התפקיד של הרכיב שכתוב לידו VC בתמונה שלפני הקודמת), והוא גם יהיה הרבה יותר אסתטי.
לקחתי מקלט RF סיני 433MHz מסוג הזול והדפוק שאני שונא, חיברתי את יציאת הנתונים שלו לסקופ והפעלתי לידו את השלט החשוב. הצלחתי לקלוט משהו, אך היה קשה ללכוד אותו ולקרוא בנוחות, אז פניתי ללוג'יק אנלייזר. שם התמונה הייתה הרבה יותר ברורה: רצף חוזר של 25 אלמנטים, שכל אחד מהם הוא HIGH קצר (כחצי אלפית השנייה) ו-LOW ארוך (כ-1.5 אלפיות השנייה) או להיפך, HIGH ארוך ו-LOW קצר. בתרגום שרירותי לביטים, זה נראה ככה (משמאל לימין):
1011001000001110111100111
בשלב זה נהייתי סקרן, שמתי סוללה בשלט שבתמונות למעלה והקלטתי את השידור שלו. גם כן 25 אלמנטים, בכל אחד משני הלחצנים!
1011001010100011100011001 1011001010100011100000111
אבל אם יש 10 פיני קלט בלבד לכתובת ועוד 2 פיני נתונים, מנין המספר 25? הפתרון נמצא ב-Datasheet של ג'וקים כאלה: כיוון שלכל פין כתובת יש 3 מצבים אפשריים, כל פין (כולל שני פיני הנתונים) מיוצג בשידור על ידי זוג ביטים. זה נותן לנו 24, ובסיום משודר עוד ביט "סנכרון" בודד. אם נתרגם את רצף הביטים האחרון שהראיתי למעלה לקידוד של הג'וקים האלה, נקבל
F01FFF10F110[Sync]
ועשרת האלמנטים הראשונים כאן מיוצגים בבירור על ה-PCB, אם מסתכלים טוב על החיווט וההלחמות שבו. יותר מזה, ארבעת האלמנטים הראשונים – והכי קריטי, שני האחרונים שאינם מיוצגים בהלחמות – זהים לאלה שבשידור השלט שרציתי לשכפל. אם כך, אולי אפשר יהיה באמצעות שינוי ההלחמות בלבד לגרום לשלט מהזבל לשדר כמו השלט החשוב? בעזרת מלחם "שכתבתי" את הקוד של השלט:
מבחינת המקלט הסיני והלוג'יק אנלייזר, לפחות, זה עבד: השידור שנקלט כעת היה שכפול מדויק של השידור החשוב! עם זאת, המבחן הקריטי עוד היה לפניי: האם זה יעבוד בשטח ויצליח לשכנע גם את המקלט הבררן של השער עצמו? את זה קשה יותר לבדוק, כי השער שקולט את השלט שלי לא נמצא אפילו באותה שכונה כמוני… אבל ההזדמנות צצה במהרה, השלט אכן עובד, והעלות של כל הסיפור מבחינתי קרובה לזו של שלט לומד סיני, בלי המתנה למשלוח.
אין כמו הגנריות של מוצרי זבל סיניים 🙂
אגב, ה-VC הזה הוא לדעתי variable capacitor – קבל שהקיבול שלו ניתן לשינוי על ידי הברגה שמשנה את החפיפה בין שני הלוחות בצידי הקבל – כמו פוטנציומטר בתצורת טרימר, רק עם קבל במקום נגד. זה מאפשר לשנות את התדר המרכזי של חוג המשוב שמייצר את אות הרדיו. אני מחזיק כמה טרימרים כאלה בדיוק למטרות כאלה של כיול, וממליץ לכל מי שחושב להתעסק קצת ברדיו.
הגיוני, תודה. לא התעמקתי בפרטים של המעגל, מעניין לציין שאין שם מתנד נורמלי – מצד אחד התדר כנראה לא יהיה יציב ביותר, מצד שני אכן אפשר לכוון אותו בעזרת קבל משתנה.