- المواد المطلوبة:
- وحدة مقياس الذبابة SIM900 GSM:
- وحدة الصوت ISD1820:
- مخطط الدائرة وشرحها:
- برمجة اردوينو الخاص بك:
- العمل:
في عالم اليوم الحديث ، نعتمد جميعًا على الهواتف المحمولة كوسيلة أساسية للاتصال اللاسلكي. لكن ، لقد واجهنا جميعًا مواقف قد لا نتمكن خلالها من الرد على مكالماتنا ، فقد تكون هذه المكالمات مكالمة شخصية مهمة أو مكالمة عمل مغيرة للحياة وقد تكون قد فاتتك هذه الفرصة لأنك لم تكن قادرًا على الرد على ذلك الاتصال في ذلك الوقت المحدد.
يهدف هذا المشروع إلى حل هذه المشكلة عن طريق إنشاء جهاز الرد الآلي على المكالمات باستخدام وحدة Arduino و GSM. في المرة القادمة عندما تقوم بالتغيير إلى رقم هاتف جديد أو الخروج في رحلة حج طويلة أو الاستمتاع بإجازة تستحقها ، فقط استخدم هذا الجهاز لتسجيل صوتك موضحًا سبب الغياب وسيتم الرد على جميع مكالماتك تلقائيًا بواسطة هذا الجهاز و سيتم تشغيل الصوت المسجل لهم. يمكن استخدام هذا أيضًا لأرقام عملك للرد على مكالمات عملائك خلال ساعات العمل خارج المكتب. تبدو مثيرة للاهتمام ، أليس كذلك؟ لذلك دعونا نبنيها..
المواد المطلوبة:
قد يبدو المشروع معقدًا بعض الشيء ولكن من السهل حقًا إنشاؤه ، فأنت تحتاج فقط إلى المكونات التالية
- اردوينو اونو
- وحدة GSM - Flyscale SIM 900
- وحدة الصوت ISD 1820
- محول 12 فولت لتشغيل وحدة GSM
- بطارية 9V لتشغيل Arduino
- توصيل الأسلاك
قبل أن نبدأ بالفعل في المشروع ، دعنا نتعرف على وحدة GSM ووحدة الصوت ISD 1820
وحدة مقياس الذبابة SIM900 GSM:
تعتبر وحدات GSM رائعة للاستخدام خاصة عندما يتطلب مشروعنا الوصول عن بُعد. يمكن أن تتخذ هذه الوحدات جميع الإجراءات التي يمكن أن يقوم بها هاتفنا المحمول العادي ، مثل إجراء / تلقي مكالمة ، وإرسال / استقبال رسائل SMS ، والاتصال بالإنترنت باستخدام GPRS وما إلى ذلك. يمكنك أيضًا توصيل ميكروفون ومكبر صوت عاديين بهذه الوحدة والتحدث على جهازك. مكالمات الجوال. فيما يلي بعض الدروس عنهم باستخدام متحكم مختلف:
- الاتصال والرسائل باستخدام وحدة Arduino و GSM
- الاتصال والنص باستخدام Raspberry Pi و GSM Module
- تتفاعل وحدة GSM مع متحكم PIC - إجراء واستقبال المكالمات
كما هو موضح أدناه ، تأتي وحدة GSM مع محول USART والذي يمكن توصيله مباشرة بالكمبيوتر باستخدام وحدة MAX232 أو يمكن استخدام دبابيس Tx و Rx لتوصيله بمتحكم دقيق. يمكنك أيضًا ملاحظة المسامير الأخرى مثل MIC + و MIC- و SP + و SP- إلخ حيث يمكن توصيل ميكروفون أو مكبر صوت. و حدة يمكن أن تعمل بالطاقة بواسطة محول 12V من خلال DC جاك برميل العادي.
أدخل بطاقة SIM الخاصة بك في فتحة الوحدة وقم بتشغيلها ، يجب أن تلاحظ تشغيل مؤشر LED للطاقة. انتظر الآن لمدة دقيقة أو نحو ذلك ، وسترى مؤشر LED أحمر (أو أي لون آخر) يومض مرة واحدة كل 3 ثوانٍ. هذا يعني أن الوحدة النمطية الخاصة بك كانت قادرة على إنشاء اتصال ببطاقة SIM الخاصة بك. الآن يمكنك متابعة توصيل الوحدة الخاصة بك بالهاتف أو أي متحكم.
وحدة الصوت ISD1820:
وحدة ISD 1820 Voice هي حقًا وحدة رائعة يمكنها إضفاء الإثارة على مشروعاتك بالإعلانات الصوتية. هذه الوحدة قادرة على تسجيل مقطع صوتي لمدة 10 ثوانٍ ثم تشغيله عند الحاجة. تأتي الوحدة نفسها مع ميكروفون ومكبر صوت (8 أوم 0.5 واط) ويجب أن تبدو كما هو موضح أدناه.
و حدة تعمل على + 5V ، ويمكن أن تعمل بالطاقة باستخدام العصي بيرغ على اليسار. كما أن لديها ثلاثة أزرار في الأسفل وهي Rec. زر تشغيل. زر و PlayL. زر على التوالي. يمكنك تسجيل صوتك بالضغط على Rec. زر وتشغيله باستخدام زر التشغيل. سيقوم PlayL بتشغيل الصوت طالما أنك تضغط على الزر. عند التعامل مع MCU ، يمكننا استخدام المسامير الموجودة على اليسار. هذه المسامير يمكن تحملها من 3 إلى 5 فولت وبالتالي يمكن تشغيلها مباشرة بواسطة Arduino / ESP8266. في مشروعنا ، نتحكم في دبوس PLAYE باستخدام دبوس D8 لوحدة Arduino الخاصة بنا. حتى نتمكن من تشغيل الصوت المسجل عند اكتشاف مكالمة واستلامها بواسطة وحدة GSM.
مخطط الدائرة وشرحها:
تم إعطاء مخطط الدائرة الكاملة لمشروع آلة الرد على المكالمات الصوتية التلقائية أعلاه. كما ترى فإن التوصيلات بسيطة حقًا. نقوم بتشغيل وحدة GSM بمحول 12V 1A و Arduino مع بطارية 9V ، يتم تشغيل وحدة ISD Voice بواسطة دبوس + 5V من Arduino. كما نعلم ، يمكننا تسجيل أي شيء على وحدة الصوت الخاصة بنا عن طريق الضغط على زر rec وسيتم تشغيل هذا عند الضغط على PE ، يجب إرسال هذا الصوت إلى ميكروفون وحدة GSM. لذلك نقوم بتوصيل دبوس مكبر الصوت الخاص بوحدة الصوت بدبوس الميكروفون الخاص بوحدة GSM.
هنا ، يتم توصيل وحدة Arduino و GSM بشكل تسلسلي ، ودبوس Tx الخاص بـ Arduino متصل بالدبوس 9 ورقم Rx pin متصل بالدبوس 10. وهذا سيساعد Arduino على الاستماع إلى وحدة GSM. عندما تصل مكالمة إلى وحدة GSM ، سيستمع Arduino إليها ويطلب من وحدة GSM الرد على المكالمة. يتأكد Arduino من أن المكالمة نشطة ثم يقوم بتشغيل الرسالة الصوتية المسجلة على وحدة الصوت عن طريق جعل دبوس 8 (متصل بـ PE لوحدة الصوت) يرتفع لمدة 200 مللي ثانية.
برمجة اردوينو الخاص بك:
نعلم من الفقرة أعلاه ما هو دور Arduino هنا ؛ الآن دعونا نلقي نظرة على الكود الذي يفعل نفس الشيء. يتم تقديم كود Arduino الكامل للمشروع في أسفل هذه الصفحة ، وهنا أيضًا قمت بسكب الكود في ملفات غير مهمة صغيرة لشرحها.
قبل أن نسبق أي تثبيت إضافي لمكتبة GSM ، يرجى النقر فوق رابط مكتبة Github GSM هذا لتنزيل المكتبة المستخدمة في هذا المشروع. ستحصل على ملف مضغوط يجب إضافته إلى مكتبة Arduino الخاصة بك عن طريق Sketch -> Include Librarey -> إضافة ملف Zip .
تُستخدم الأسطر الثلاثة الأولى من الكود الموضح أدناه لتضمين المكتبة في الكود الخاص بنا. نحن نستخدم المكتبة التسلسلية والمكتبة السلكية لأننا لا نستخدم دبابيس Rx و Tx الافتراضية في Arduino للتواصل مع وحدة GSM.
#تضمن
نقوم بتمكين الاتصال التسلسلي على المسامير 9 و 10 باستخدام السطر التالي. أصبح هذا ممكنًا بواسطة مكتبة البرامج التسلسلية التي قمنا بتضمينها أعلاه.
SoftwareSerial gprs (9،10) ؛ // TX ، RX
داخل وظيفة الإعداد الخاصة بنا ، نقوم بتهيئة الشاشة التسلسلية بمعدل 9600 باود ويتم أيضًا تهيئة وحدة GSM باستخدام 9600 Baudrate. يتم إعلان الدبوس 8 الذي يقوم بتشغيل الصوت كطرف إخراج.
إعداد باطل () {Serial.begin (9600) ؛ // تعمل الشاشة التسلسلية على 9600 باودرات لتصحيح أخطاء sim900_init (& gprs ، 9600) ؛ // تعمل وحدة GSM على 9600 baudrate pinMode (8 ، الإخراج) ؛ // دبوس لتشغيل Voice Serial.println ("Arduino - Automatic Voice Machine") ؛ }
بعد ذلك ، يتعين علينا إنشاء وظيفة يمكنها قراءة وفهم ما تقوله وحدة GSM من خلال المنفذ التسلسلي الخاص بها. إذا استخدمنا سطر قراءة تسلسلي بسيط مثل "gprs.read ()" لقراءة الرسالة ، فسنحصل عليها في شكل قيم ASCII العشرية ، فلن يكون هذا منطقيًا بالنسبة لنا.
لذلك يتم استخدام الوظيفة التالية لتحويل هذه القيم العشرية إلى سلاسل باستخدام كائنات سلسلة ثم ربطها لتشكيل سلسلة. يتم تخزين قيمة السلسلة النهائية في متغير Fdata ، وهو من نوع سلسلة ويمكن استخدامه للمقارنة مع أي قيم سلسلة.
void check_Incoming () {if (gprs.available ()) // إذا كان GSM يقول شيئًا {Incomingch = gprs.read () ؛ // استمع إليها واحفظها في هذا المتغير إذا (Incomingch == 10 - Incomingch == 13) // إذا كانت تحتوي على مسافة (10) أو Newline (13) فهذا يعني أنها أكملت كلمة واحدة {Serial.println (data) ؛ Fdata = بيانات ؛ البيانات = "" ؛ } // اطبع الكلمة وامسح المتغير لبدء آخر جديد {String newchar = String (char (Incomingch))؛ // تحويل الحرف إلى سلسلة باستخدام بيانات كائنات السلسلة = بيانات + newchar ؛ // بعد التحويل إلى سلسلة ، قم بإجراء سلسلة سلسلة}}}
و تستخدم الأسطر التالية من أجل التصحيح ، مع هذه الخطوط المصحح يمكنك إرسال أية أوامر AT من رصد المسلسل من اردوينو إلى GSM وانظر أيضا ما هو الردود على رصد المسلسل.
if (Serial.available ()) {// يُستخدم لتصحيح أخطاء gprs.write (Serial.read ()) ؛ // Used for debugging} // مستخدمة لتصحيح الأخطاء
كما ذكرنا سابقًا ، يتعين على Arduino التحقق مما إذا كانت وحدة GSM تتلقى أي مكالمات. يمكن القيام بذلك عن طريق جعل Arduino يتحقق من " RING " لأن وحدة GSM ستخرج RING في حالة المكالمة وفقًا لقائمة أوامر AT. عند العثور على مكالمة ، سينتظر لمدة 5 ثوانٍ ويرسل الأمر " ATA " إلى وحدة GSM ، وهذا سيجعل وحدة GSM للرد على المكالمة وبعد الرد عليها ستستجيب بـ "OK". ينتظر Arduino مرة أخرى إقرار " OK " ثم يقوم بتحويل Pin 8 عاليًا لمدة 200 مللي ثانية لتشغيل الصوت المسجل من وحدة الصوت.
if (Fdata == "RING") // إذا كانت وحدة GSM تقول RING {delay (5000) ؛ // انتظر 5 ثوانٍ لإنشاء تأخير 3 حلقات. gprs.write ("ATA \ r \ n") ؛ // الرد على المكالمة Serial.println ("تم استلامها") ؛ // يُستخدم للتصحيح أثناء (Fdata! = "OK") // حتى يتم الرد على المكالمة بنجاح {check_Incoming () ؛ // قراءة ما يقوله وضع GSM Serial.println ("تشغيل رسالة مسجلة") ؛ // يستخدم لتصحيح الأخطاء // تشغيل تأخير الرسائل الصوتية المُسجلة (500) ؛ digitalWrite (8 ، عالية) ؛ // الذهاب تأخير كبير (200) ؛ // انتظر 200 مللي ثانية digitalWrite (8 ، منخفضة) ؛ //اذهب الى الأسفل }
العمل:
بمجرد أن يصبح كودك وجهازك جاهزًا ، فقد حان الوقت لبعض المرح. قم بتشغيل كلا الوحدتين واضغط على زر REC في وحدة الصوت وقم بتسجيل رسالة. يمكن أن تكون هذه الرسالة 10 ثوانٍ فقط.
الآن قم ببرمجة Arduino الخاص بك باستخدام الرمز الوارد أدناه وأدخل بطاقة SIM في وحدة GSM ، يجب أن تنتظر لمدة دقيقتين على الأقل الآن حتى تتمكن وحدة GSM من إنشاء اتصال بمزود خدمة الشبكة الخاص بك. بمجرد الانتهاء من ذلك ، سترى مؤشر LED باللون الأحمر يومض مرة واحدة كل 3 ثوانٍ ، وهذا يشير إلى أن بطاقة SIM الخاصة بك جاهزة لاستقبال المكالمات. يمكنك الآن محاولة الاتصال ببطاقة SIM هذه من أي رقم ويجب أن تسمع الرسالة المسجلة بعد ثلاث رنات متواصلة. يظهر العمل الكامل للمشروع في الفيديو أدناه.
تداعيا !!! الآن لديك آلة الرد التلقائي على المكالمات الصوتية الخاصة بك ، وما عليك سوى المضي قدمًا واستخدامها عند الحاجة وإبهار أصدقائك وعائلتك بها.
آمل أن تكون قد استمتعت بالمشروع وقمت ببناء شيء مشابه ، إذا واجهت أي مشاكل ، فقم بنشرها في قسم التعليقات وسأساعدك.