יום רביעי, 12 באוקטובר 2011

proximity sensor and stuff....

ביומיים האחרונים לאחר הפסיכומטרי שעבר (וטוב שכך)
החלטתי לחזור לתחביב שזנחתי מעט בזמן האחרון ולהוציא את ה-arduino שלי מהקופסה המאובקת שלו..
לאחר חשיבה קצרה על רעיון למשהו חביב שאפשר לעשות החלטתי להשתמש בחיישני מרחק שיושבים אצלי במדף כבר שנה ומשהו (אותם קיבלתי מבחור שעבד בתיקון מכונות צילום), אך נזכרתי שבפעם האחרונה שניסיתי לחפש חומר אודות החיישן הנ"ל, החיפוש לא הניב פירות, ולמעשה, כחמישה אתרים ברוסית.
מאחר שהבנתי שיותר גרוע מלהגיע לשום מקום (כמו בפעם הקודמת) לא יהיה החלטתי להסתכן קצת ולנסות לחבר את החיישן על סמך חיישנים דומים לו, החיישן מדגם GP4A22 של SHARP (ואם היום תחפשו אותו בגוגל תזכו לראות את הפוסט שכתבתי באתר הרובוטיקה הישראלי) למזלי כשחיפשתי חיישני מרחק של SHARP מצאתי את האתר הנפלא הבא אשר מסביר בצורה מלאה, מפורטת ומאוירת כיצד מחווטים סוגים שונים של חיישני מרחק/נפח ל-arduino בתוספת קוד
קצר, לאחר שחיברתי את העסק לפי החיישן GP2Y0A21YK 
 שהיה נראה הכי דומא לו (ואני מודע שזה ממש לא אומר בהכרח שמבחינת חיבורים הם דומים למרות הקוד בעל המבנה הזהה) ראיתי שהחיישן עובד על 5V שהוא כאמור מתח עבודה מצויין (אפילו החביב עליי לעומת ה- 3.3V המגעיל) בנוסף יש לו יציאה נוספת לפין אנלוגי וחיבור נוסף ל-GND של הבקר.




לאחר שאכן הצלחתי להפעיל את החיישן,  השתמשתי בקוד של הבחור ממקודם שדוגם את החיישן ומראה לי את הערך שלו ב-serial, וראיתי כי כאשר אין מול החיישן עצם כלשהו הבקר דוגם 0 ואילו כאשר יש איזשהו עצם מול החיישן אז הבקר דוגם ערך בין 500 ל- 1050 תלוי במרחק העצם מהחיישן.


לבסוף כתבתי קוד (ממש) קצר שמדליק את הלד המובנה בבקר כאשר יש עצם מול החיישן ומכבה אותו כאשר אין עצם מול החיישן,

להלן הקוד:

int sensorPin = 0;
void setup(){
  Serial.begin(9600);
    pinMode(13, OUTPUT);
}
void loop(){
  int val = analogRead(sensorPin);
  Serial.println(val);
if (val == 0){
  digitalWrite(13, LOW);
}else{
  digitalWrite(13, HIGH);
}
delay(100);
    }


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


זהו לפוסט זה,
המשך יום טוב
אלון רייזמן


אין תגובות:

הוסף רשומת תגובה