قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 03-08-2016, 01:53 AM المشاركة 1   
افتراضي طريقة استخدام الميكروكنترولر فى انتاج الأصوات فى العديد من التطبيقات Twitter FaceBook Google+



السلام عليكم ورحمه الله ..

اولا رد الجميل واجب .. للمهندس القدير " أحمد سمير فايد " له كل الشكر والإحترام .. مما قدمه فى عالم الميكروكنترولر .. من دورات تعليميه ..


Microcontrollers and sounds









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

أجعل الميكرو كنترولر أكثر فاعيلية .. وجمالا فى المشاريع المتقدمه أو المتوسطه .. من خلال برمجتة وتخز ين اكواد تنتج ترددات متداخلة لكى تنتج لنا اصوات معينه ..


الدائرة الإلكترونيه ...






الكود

كود:
    void main(){

    int x,y,z; trisb=254; portb=0;

          while(1){



       if(portb.f1==1){

       for(z=0;z<3;z++)
    {
       for(x=1;x<300;x++){
       portb.f0=1; for(y=0;y<x;y++)delay_us(10);
       portb.f0=0; for(y=0;y<x;y++)delay_us(10);
    }
  }
  };

   //*****************************//
   
   
     if(portb.f2==1){
     for(z=0;z<4;z++)
     {
      for(x=0;x<400;x++)
     { portb.f0=1; delay_us(750);
      portb.f0=0; delay_us(800);
    }


     for(x=0;x<450;x++)
    {
      portb.f0=1; delay_us(500);
      portb.f0=0; delay_us(750);}
    }

   };

     if(portb.f3==1){
     for(z=0;z<25;z++)
     {

       for(x=0;x<50;x++){
       portb.f0=1; for(y=0;y<x;y++)delay_us(10);
       portb.f0=0; for(y=0;y<x;y++)delay_us(10);
      }
     }

         delay_ms(1000);
     };
     
     
    //***************************************//
       if(portb.f4==1){
     for(z=0;z<35;z++)
     {

       for(x=0;x<30;x++){
       portb.f0=1; for(y=0;y<x;y++)delay_us(16);
       portb.f0=0; for(y=0;y<x;y++)delay_us(16);
      }
     }
     };

    //******************************************//
     
     if(portb.f5==1){
     for(z=0;z<4;z++)
     {
      for(x=0;x<40;x++)
     { portb.f0=1; delay_us(750);
      portb.f0=0; delay_us(800);
    }


     for(x=0;x<50;x++)
    {
      portb.f0=1; delay_us(500);
      portb.f0=0; delay_us(750);}
    }

   };
  //******************************************//
     
     
       if(portb.f6==1){
     for(z=0;z<4;z++)
     {
      for(x=0;x<40;x++)
     { portb.f0=1; delay_us(950);
      portb.f0=0; delay_us(1000);
    }


     for(x=0;x<50;x++)
    {
      portb.f0=1; delay_us(700);
      portb.f0=0; delay_us(950);}
    }

   };
  //******************************************//


     if(portb.f7==1){
     for(z=0;z<4;z++)
     {
      for(x=0;x<40;x++)
     { portb.f0=1; delay_us(1300);
      portb.f0=0; delay_us(1010);
    }


     for(x=0;x<50;x++)
    {
      portb.f0=1; delay_us(800);
      portb.f0=0; delay_us(1300);}
    }

   };
  //********************************//
     
     
    }
  }

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

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

الفكرة اظنها واضحة .. والأن يمكنك الإجتهاد والممارسه لكى تكتسب خبرة فى فك تردات مقاطع الصوت ... ويوجد برامج تقوم بتحليل الإشارة الصوتيه ومعرفة قيم الترددات الموجودة فى المقطع .. وكلنا نعلم أن أى مقطع صوتي يتكون من العديد من الترددات ..




المشروع بالكامل للتحميل..https://drive.google.com/file/d/0Bxg...ew?usp=sharing




تحياتى للجميع ...


التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 03-08-2016 الساعة 04:56 AM
اعلانات

mohamedamie
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2015
المشاركات: 109
نشاط [ mohamedamie ]
قوة السمعة:0
قديم 04-08-2016, 09:04 AM المشاركة 2   
افتراضي


السلام عليكم
عمل ممتاز
لدي سؤال كيف يمكن تحليل الأصوات قبل إدخالها للميكروكنترولر

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 05-08-2016, 12:31 AM المشاركة 3   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


السلام عليكم
عمل ممتاز
لدي سؤال كيف يمكن تحليل الأصوات قبل إدخالها للميكروكنترولر
السلام عليكم ورحمه الله ..

أخى لكى نفهم طريقة تحليل إشارة الصوت .. لازم استخدام اسكلسكوب أو أحد برامج لتحليل إشارة الصوت ..

صراحة لم اجربها .. ولكن معظم الأصوات اللتى عملتها على الميكرو ..فى الكود .. معظمها .. اجتهااااد منى .. ومع الممارسه .. سوف تفهم الطريقة ,, وتستطيع التعامل معها ...


حمل المشروع و عدل فى زمن حلقات FOR وسوف تلاحظ الإختلاف فى الأصوات

بالتوفيق


الصورة الرمزية ghars
ghars
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2016
المشاركات: 60
نشاط [ ghars ]
قوة السمعة:0
قديم 05-08-2016, 07:28 AM المشاركة 4   
افتراضي


السلام عليكم
الطريقة الصحيحة لأخراج إشارات Analog يجب إستعمال PWM . الطريقة التى إستعملتها يا أخى عبد الله لا تعطى ذبذبات صافية بل تعطى واحدة رئيسية و ذبذبات أخرى ثانوية

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 09:42 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025