استخدم هاتفك القديم مع الاردوينو

بسم الله الرحمن الرحيم 

في بعض المشاريع ( مثل التنبيه ضد السرقة , الحرائق , المراقبـة ,... )   تحتاج طريقة للتواصل مع المستخدم  في حال حدوث اي مشكلـة  , و يمكن ان يتم ذلك بأكثر من طريقة من خلال شبكة الانترنت , او اجهزة الهاتف , او اي طرق اخرى !!
لكن مـا رأيك في الاستفــادة من هـاتفـك القديــم و ربطه مع الاردوينو , و استخدامه في مشاريعك بدلاً من الشراء بعض القطع التي قد تكون مكلـفة نوعـاً مــا !






مـاذا احتـاج : 
• بطاقة اردوينو .
• هـاتف محمـول قديم من اي نوع ( مثلاً NOKIA 3310 ).
• مرحل (Relay) , عدد 2.
 ... عدد المرحلات يعتمد على الوظيفة التي تريد استخدام الهاتف فيها ... 
• بطاقة تجارب مثقبة . 
 ... تجد في هذه التجربه انه قام بعمل  shield ليتم تثبيته على الاردوينو , يمكنك القيام بذلك بعد التأكد من نجاح التوصيلات علـى الـbreadboard ...



لنـبدأ :
في البداية يجب تحديد الوظيفة التي سيقوم بها الهاتف , و لتكن ارسال رسالة محفوظة في الجهاز !
عند استخدام الجهـاز بطريقة عادية , تجد انك تحتاج لزرين (button 2 ) فقط  لأتمام العمليه , مع الضغط عليهم عدة مرات , حسب ترتيب معين  ..
و هو  ما ستفعله الاردوينو , سنقوم ببرمجتها  "للضغط" على الازرار بنفس الترتيب لكي ترسل الرسالة .


الضغط على احد الازرار , يعني ببساطة التوصيل بين قطعتين نحاسيتين اسفل كل زر ! 


و ليتمكن الاردوينو من توصيلهما , سوف نستخدم المرحل !
_______________________________________
تعرف على المرحل , و كيفة استخدامه من هنـا :
_______________________________________
الخطوات :

نقوم بإزالة الغطـاء الداخلي للجهاز ( قد تحتاج لمفكات خاصة )!






نقوم بلـحم اسلاك على القطع النحاسية اسفل الازرار التي نحتاجهـا .
... اذا لم يكن لديك خبرة كافية , من الافضل ان تستعين بشخص لعمل هذه الخطوة ...






قم بتغطية الازرار بلاصق بلاستيكي  لحمايتها ..

حاول ان تمرر الاسلاك الى خارج الجهاز , و تعيد كل شيء لمكانه .
قد تحتاج لقص ممر بسيط للأسلاك في الغطاء الخارجي !!







نصل هذه الاسلاك مع المرحلات , ثم نصلها مع الاردوينو 


يمكنك تركيب الدائرة السابقة مباشرة , او باستخدام البريدبورد , او ان تصنع shield ليتم تركيبه على الاردوينو ..





البرمجــة :
______________________________ 

Button button = Button (10,PULLDOWN);



const int relayOK = 11;   // set pin 11 for phone button OK
const int relayDown = 12; // set pin 12 for phone button DOWN

const int onTime = 300;  //Relay On and Off timing. Adjust accordingly to suits your needs
const int offTime = 800;

void SMS_sendMsg();    // function to send the 'TRIP' message to 1st recepient

void setup() {

  pinMode(relayOK, OUTPUT);      // set pin 11 as OUTPUT (relay no.1)
  pinMode(relayDown, OUTPUT);    // set pin 12 as OUTPUT (relay no.2)

  digitalWrite(relayOK,LOW);     // set the state of both relays as LOW during system bootup
  digitalWrite(relayDown, LOW);
}

void loop() {

  if(button.isPressed()) {
      SMS_sendMsg();
  }
  else {
      digitalWrite(relayOK,LOW);
      digitalWrite(relayDown,LOW);
  }
}


void SMS_sendMsg(){
//Function for sending sms sequence 

  delay (1000);
  digitalWrite(relayOK,HIGH);//relay on -- to Page 2
  delay(onTime);
  digitalWrite(relayOK,LOW);//relay off
  delay(offTime);
  
  digitalWrite(relayOK,HIGH); // -- to Page 3
  delay(onTime);
  digitalWrite(relayOK,LOW);
  delay(offTime);
  
  digitalWrite(relayOK,HIGH); // -- to Page 4 (select phone number page)
  delay(onTime);
  digitalWrite(relayOK,LOW);
  delay(offTime);
  
  digitalWrite(relayDown,HIGH); // -- selecting phone number
  delay(onTime);
  digitalWrite(relayDown,LOW);
  delay(offTime);
  
  digitalWrite(relayOK,HIGH); // -- to Page 6
  delay(onTime);
  digitalWrite(relayOK,LOW);
  delay(offTime);
  
  digitalWrite(relayOK,HIGH); // -- to Page 7 - Confirm sending SMS
  delay(onTime);
  digitalWrite(relayOK,LOW);
  delay(offTime);
  
  delay(1000);
_______________________________________

شاهد الفيديو لتفهم عمل البرنامج اكثر ...






_____________________________________________________________
هذه التجربــة متـرجمــة !
مـــصـــدر الــتــجربــــة :

http://gadgetofficer.blogspot.com/2012/02/hacking-nokia-3310-as-cheap-arduino-sms.html
_____________________________________________________________



لكن هل هناك طرق اسهل لاستخدام الهاتف مع الاردوينو دون الحاجة الى كل هاذا ؟






نعم , في الهواتف التي تدعم الاتواصل التسلسلي (serial connection) يمكن ذلك بكل سهولـة ..  

شــاهد الطـريـقــة من هــنـــا  






لكن تبقـى مشكلة بأن معظم الاجهزة لا تدعم هذا النوع من التواصل !!
حاول استخدام احد هذه الانواع :
Motorola’s C257, C261, V175, V176, V177, C168, W220, and W375

* حاولت البحث عن قائمة بالهواتف التي تدعم هذه الخاصية لكن للأسف لم اجدها ! 



هل أعجبك الموضوع ؟

هناك 5 تعليقات :

  1. فكره جدامفييييده بحاول اجربها ان شاء الله

    ردحذف
  2. يعطيك العافية شو الهدف من المرحلات اذا بقدر اعمل التاخير بالاردوينو

    ردحذف
    الردود
    1. ليس الهدف من المرحلات عمل تأخير , و لكن توصيل كبسة الهاتف ( المرحل كأنه شخص يضغط على الزر ) .
      لاحض اننا وصلنا المرحل على الاطرفين النحاسيين لأزرار الهاتف .
      :)

      حذف
  3. ماشاء الله أفكار وتجارب ممتازة أحييك

    ردحذف
  4. اخي هل يمكن تبديل relay ب uln2003 وربطها مع الاسلاك الهاتف

    ردحذف

جميع الحقوق محفوظة - علي الهضابين ©2012-2013 | ، يرجى ذكر المصدر عند النقل . Privacy-Policy | أنضم ألى فريق التدوين


تصميم alwan-blogger | تطوير Reda Yagoub