منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : انا وبكاء طفلتي ! ..... مشروع متكامل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : رغيد الطيب

بسم الله السميع العليم
السلام عليكم ورحمة الله وبركاته


سوف اشارككم اليوم احدى مشاكلي العائلية منذ نشوئها وحتى تم إغلاقها بفضل من الله ومنة ....


--------------------------------------------------
المشكلة
--------------------------------------------------

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


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


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


فالاجابة تكمن في كوني لم استطع ان اتجاهل بكاء الطفلة سواءا بتركها تبكي في غرفتها او بإخراجها لتبكي في الجو الحار ... فبعد كوب من الشاي وضرب بضعة اخماس في اسادس (666 * 55 * 65 ** 66 * 555) ... ارتأيت ان استعين بصديقي القديم Mr. VB.NET للخروج من هذه المشكلة



-------------------------------------------------------
فكرة الحل
-------------------------------------------------------

يكمن الحل في نظري في ارضاء جميع الاطراف .... الطرف الاول الطفلة بحيث نجعلها تنام في الغرفة التي تحبها وهي بالطبع الغرفة ذات التكييف وفي نفس الوقت إرضاء والديها بالاطمئنان عليها وهي بعيدة عنهم.

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


-------------------------------------------------------
دراسة المشروع
-------------------------------------------------------


اجزاء المشروع تنقسم الى ثلاثة اقسام هي : ( إستقبال البيانات ، تحليلها ، ارسال التنبيهات )

او قل لنسميها ثلاثة تحديات ... سنتصدى لها واحد تلو الآخر ونصمم سويا مشروعنا الصغير للتنبيه عن حالات بكاء صغيرتي المدللة.


التحدي الأول : إدخال البيانات
------------------------------------
يختلف برنامجنا عن غيره من البرامج في كونه لن يكون هناك مستخدم يجلس امام الكمبيوتر ليزوده بالمعلومات عن حالة الطفلة هل هي تبكي ام انها تنام بسعادة واطمئنان.
لهذا وجب على برنامجنا ان يستخلص المدخلات استخلاصا دون مساعدة أي إنسان.


التحديث الثاني : تحليل البيانات
------------------------------------
اذا نجح برنامجنا في تحديه الأول واستطاع ان ينتزع المدخلات بنفسه ودون مساعده سيتوجب عليه بعذ هذا تحدي آخر هو فلترة هذه المدخلات لمعرف الحالة الحقيقية للطفلة وبكلام آخر يجب ان يكون لذى برنامجنا دماغ صغير يستخدمة لفحص ومقارنة المدخلات والتفكير فيها حتى يقرر ما اذا كان التنبيه واجبا ام لا.



التحدي الثالث : ارسال التنبيهات
-------------------------------------
يؤسفني انه لازال امام برنامجنا تحدي آخر يكمن في كيفية ارسال البيانات وكيف سينبه الأم التي في المطبخ ؟! .. فهي لاتمتلك جهاز كمبيوتر (لتطبخ فيه بعض المجلدات بنكهة لوحة التحكم ) حتى نتمكن من ارسال رسالة اليها بالبريد مثلا او تنبيه على شكل رسائل في شاشة الكمبيوتر مثل رسائل برامج الماسنجر ... فلاشيء هناك في المطبخ غير بعض الاطعمة الشهية مع القليل من الدخان المتطاير.

على سيرة الدخان ... حكمة خارجة عن الموضوع تقول :
تواضع تكن كالنجم لاح لناظر **** على صفحات الماء وهو رفيعُ
ولا تكن كالدخان يعلو بنفسه **** إلى طبقات الــجو وهو وضيعُ

جعلني الله واياك من المتواضعين




-------------------------------------------------------
تحليل الحل البرمجي لمشروعنا
-------------------------------------------------------

رأينا في السابق ان برنامجنا ينقسم الى ثلاثة اقسام اولها هو ..

تحليل ادخال البيانات :

لكي نقوم بإيجاد بيانات ادخال لبرنامجنا يمكننا التفكير في طريقتين .... الاولى عن طريق الكاميرا بحيث ناخذ صور من الكاميرا الموجهة على الصغيرة اثناء نومها ثم نحلل هذه الصور في الفقرة الثانية لمعرفة ما اذا كانت الصبية قد افاقت ام لا.

والطريقة الثانية هي عن طريق المايكروفون بحيث نراقب ترددات الصوت طوال فترة نوم الصغيرة ونقوم بتحليلها لمعرفة ماذا كانت تبكي بكاء عابرا او بكاء فوقان من النوم.

بالنسبة لنا هنا سنختار الطريقة الثانية كونها الانسب لحالتنا هذه وذلك لأنها ستراقب بكاء الطفلة وليس حركتها فقد تفيق الطفلة وتعلب لبعض الوقت في الفراش دون ان يكون هناك ما يضايقها فلاداعي لإقلاق الام وننبهها دون وجود مايستحق التنبيه ولندعها تركز في وجبة الغداء الشهية التي طالما يعود الأب للبيت وهو يحلم فيها.


تحليل القسم الثاني (البيانات) :

عرفنا سويا كيف سنحصل على المدخلات لبرنامجنا وما نوعها وينبغي ان نعرف كيف سنحللها .... في الواقع ان مدخلات الصوت ما هي إلا عبارة قيم متسلسلة تعبر عن الصوت على شكل بايتات (مصفوفة بايتات) وهذه البايتات تمثل القيم التي اذا ما ارسلناها الى السمعات فسوف تخرجها على شكل صوت .... تخيل معي ان قيمة الصوت تتراوح بين 0 و 100 فان هذا سيعني انه اذا كانت القيمة 0 فمعناها الصمت المطبق (لاصوت) وهي حالة نادرة لانه لابد وان يكون هناك ضوضاء ولو خفيفة جدا لاتسمع ... المهم انه واذا وجد قيمة 100 فان هذا يعني اكبر صوت تستطيع اخراجه سماعاتك وبين ذلك فقيم تمثل قوة الصوت فلو كانت 60 فيعني 60% من قدرة سماعات كمبيوترك.

نستخلص من ذلك انه اذا كان لديك مصفوفة من الارقام المتراوحة بين 0 و 100 مثلا فان السماعات ستشغل هؤلاء واحدة تلو الاخرى بحسب قوة (قيمة) كل رقم.

طبعا في الوضع الحقيقي القيم ليست من صفر الى مئة بل تعتمد على نوع التسجيل الذي اخترته انت WaveFormat يعتمد على عدة خيارات مثل هل تريده احادي (مونو) او ثنائي (استريو) كما انه يمكن تحديد طول كل عينة من الصوت التي سيقوم المكرفون بإلتقاطها (بايت او اثنين .... وهكذا) ... والتردد (كم عينات ستؤخذ في الثانية الواحدة).

المهم لك لتعرفه ان قيم الصوت تعتمد على نوع التسجيل الذي اخترته وهذا موضوع لايمهنا هنا كثيرا.

فسوف آخد ابسط نوع للتسجيل مثلا نوع احادي بطول بايت واحد وتردد صغير.... وبهذا تكون القيم تبعنا محصورة في (بايت واحد) ومن 128 الى 255 ...

عرفنا في التحليل السابق ان الصوت عبارة عن قيم تعبر عن مستوى الضجيج وهو ما سنقوم بمراقبته لمعرفة فترات بكاء الطفلة من فترات سكوتها.


تحليل القسم الثالث (التبيهات) :

اذا استطعنا بنجاح ان نعرف ماذا كان التبيه واجب ام لا ... وفي حال وجوب التبيه ينبغي التفكير بإسلوب بسيط غير مكلف لننبه به الام عن بكاء طفلتها ... وهنا يمكن الاتجاه الى AT Commands فليس ابسط من ان نقوم بوصل سلك الهاتف العادي بكمبيوترنا بحيث انه اذا بكت الطفلة واجتازت البيانات المرحلتين السابقتين بنجاح فسنجعل الكمبيوتر يقوم بالاتصال بالأم على جوالها من رقم البيت فيرن مرتين او ثلاث ثم يقطع الاتصال فتعرف الام بأن المتصل هو برنامجنا الصغير دون ان اي تكلفة تذكر... فتهرع الى طفلتها الصغيرة.



الى هنا اكتفي لأن النوم قد اعياء عيناي ولنا لقاء بإذن الله تعالى لنكمل التصميم وتطبيق مشروعنا الصغير.



اتركم في رعاية الله


السلام عليكم ورحمة الله وبركاته