כרטיס RFID הוא אמצעי לתקשורת קרובה. טווח הקליטה שלו מסתכם בסנטימטרים ספורים והוא משמש בעיקר כתחליף לקוד גישה: רק מי שמחזיק בכרטיס הספציפי שמתאים לתכנה כפי שהוגדרה - יוכל להיכנס או לקבל הרשאה.
בדוגמא זו, אנו צורבים שני כרטיסים: בכרטיס אחד נצרוב את השם NADAV ובכרטיס השני TAMAR. רק ל TAMAR ניתן גישה על פי הקוד הזה והכרטיס השני של NADAV משמש אותנו לביקורת.
מוכנים?
שלב א' - צריבת הכרטיס
בשלב א' נבנה מכשיר שכותב את השם שנרצה על הכרטיס / הצ'יפ. לאחר שהשם יהיה צרוב על הכרטיס, נוכל לעבור לשלב ב' בו נגדיר שרק שם מסוים רשאי להיכנס לבית ואילו אחרים - לא.
בשלב א' נבנה מכשיר שכותב את השם שנרצה על הכרטיס / הצ'יפ. לאחר שהשם יהיה צרוב על הכרטיס, נוכל לעבור לשלב ב' בו נגדיר שרק שם מסוים רשאי להיכנס לבית ואילו אחרים - לא.
רכיבים (חלקם ישמשו אותנו רק בשלב ב' אולם כדאי כבר לבנות את הכל עכשיו):
- לוח ארדואינו
- מטריצה
- קורא/ כותב RFID מסוג RC522
- נורת לד אדומה
- נורת לד ירוקה
- 2 נגדים בערך של 220Ω
- חוטים...
הערה חשובה: אתם עלולים להתקל בבעיה והרכיב לא יעבוד כשורה. יתכן שזו בעיה של מתח ואז תצטרכו לבנות מעט אחרת את התרשים. ראו כאן פתרון לבעיה.
תחילה נבנה את המעגל:
תחילה נבנה את המעגל:
הנורות לא ישמשו אותנו בשלב הראשון. נגיע אליהם בשלב ב'...
זה אמור להראות בערך כך (הנורות לא אמורות לדלוק עדיין..):
זה אמור להראות בערך כך (הנורות לא אמורות לדלוק עדיין..):
לאחר שהרכבנו הכל -
- נוריד את הספריה מכאן.
- נחלץ את הקבצים.
- נדביק אותם במקומם (אצלי זה בנתיב הזה C:\Program Files (x86)\Arduino\libraries).
- נסגור את תוכנת הארדואינו ונפתח מחדש.
אחרי שהעלינו את הקוד נפתח מסך סיריאלי:
- נעביר את הכרטיס על כותב הכרטיסים (RFID)
- נקיש # ו"שלח" או ENTER
- נקיש NADAV ואחר כך #
- נלחץ על "שלח" או ENTER.
- נשים את הכרטיס בצד.
- נחזור על התהליך עם הכרטיס השני אבל הפעם נחליף את NADAV ב TAMAR.
כעת יש לנו שני כרטיסים שצרובים עליהם שני שמות שונים: TAMAR ו NADAV.
שלב ב' - קוד הרשאה
שלב ב' - קוד הרשאה
כעת, צריך להעלות את הקוד החדש שיאפשר גישה ל TAMAR ויחסום את NADAV:
אחרי שהעליתם את הקוד - נשאר לנו רק לבדוק אותו:
- העבירו את הכרטיס של NADAV ובדקו מה קורה
- העבירו את הכרטיס של TAMAR ובדקו מה קורה.
אגב, אם תחפשו בקוד את המילה TAMAR - לא תמצאו. השורה בקוד שמגדירה לנו ש TAMAR נכנסת אולם NADAV למשל - לא, היא השורה הזאת:
על פי קוד ASCII, האות T (גדולה) מיוצגת באמצעות המספר 84, האות A באמצעות 65 וכן הלאה. בעזרת טבלת ה ASCII תוכלו ליצור כל שם שתרצו. אל תשכחו להשתמש בפסיקים. בסיום הפוסט מצורפת טבלת ASCII לנוחיותכם.
בהצלחה!
טבלת ASCII (התייחסו לטור ה Dec וטור ה Char. התעלמו כרגע מטור ה Hex):
שלב ג' - הוספת כפתור לפתיחה
אנחנו לקראת סיום הפרויקט אולם נותר עוד דבר אחד לעשות: להוסיף כפתור לפתיחה. כאשר הארדואינו נמצא בתוך החדר וקורא הכרטיסים נמצא מבחוץ - הפתיחה של הדלת מבפנים נעשית בעייתית. אם הקורא מצליח לקרוא דרך הדלת (דלת דקיקה או מחומרים שמאפשרים את זה - או שילוב בין השניים..) - השלב הזה מיותר. אולם אם הדלת שלכם היא סטנדרטית - לא ניתן לפתוח את הדלת מבפנים בעזרת קורא הכרטיסים ולכן יש צורך להתקין כפתור קטן כדי לאפשר פתיחה.
מבחינת המעגל - מדובר בסך הכל על הוספת כפתור. מבחינת הקוד - כל מה שיודע לעשות כרטיס TAMAR, צריך ללמד את הארדואינו שמעתה גם הכפתור ידע לעשות. די קל..
נתחיל?
תחילה נוסיף את הכפתור:
רכיבים נוספים:
- לחצן
- נגד 10KΩ
- כמה חוטים.
נבנה את המעגל על פי התרשים הבא:
למי שהתבלבל:
- הוספנו לחצן שמקבל מתח מה 5V (ולשם כך פיצלנו את המתח כך שיגיע גם לקורא הכרטיסים וגם ללחצן).
- חיברנו את הצד השני של הלחצן ליציאה מספר 8.
- את אותו הצד חיברנו גם לשורת ה GND דרך נגד של 10KΩ.
כעת נעלה את הקוד החדש שכולל את הפקודות ללחצן:
בהצלחה!!