اطلاعیه

Collapse
No announcement yet.

تولید صدا با توان 25 وات

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : پاسخ : تولید صدا با توان 25 وات

    نوشته اصلی توسط صادق ابراهیم پور
    با سلام
    مداری که اول تاپیک با یه tip41 بود ... اون مدار میزان دامنه ای که ایجاد میکنه 12 ولته

    اما اون مداری که خودت قرار دادی دامنه ای که ایجاد میکنه 24 ولته و.....
    برای این که منظورم روبهتر بفهمی
    بیا به دو سر هر دو مدار یه آرمیچر12 ولت وصل کن یه پره داشته باشه که جهت چخشش مشخص بشه
    در مدار اول وقتی بیس رو به مثبت وصل میکنی مدار فقط در یک جهت می چرخه

    اما در مدار دوم دو بیس وجود داره وقتی یکی رو به مثبت وصل می کنی فرضا در جهت عقربه های ساعت و وقتی بیس ترانزیستور دیگه رو به مثبت وصل می کنی خلاف عقربه های ساعت می چرخه (هیچ وقت هر دو بیس رو با هم تحریک نکن) به این نوع مدار ها میگن پوش پول که برای ایجاد دامنه بیشتر ازش استفاده می شه
    ببخشید اگه چیزایی که میگم برای شما گنگه چون من زیاد تئوری کار نمی کنم و بیشتر تجربی توضیح میدم
    سلام
    اتفاقا دقیقا متوجه شدم که چی میگی برای اینه که پرده با بیشترین دامنه ممکن بالا و پایین بره آخه منم همین حدس رو زدم و پین ها رو مخالف هم قرار دادم اما میزان صوت در حد 25 وات نبود حتی زمانی که Vcc رو 6 یا هفت ولت دیگه هم زیاد کردم !

    دیدگاه


      #17
      پاسخ : تولید صدا با توان 25 وات

      نوشته اصلی توسط بهنام زکی زاده
      یادم میاد حدوداً 6-5 سال پیش یه آژیر پلیس با بسکام نوشته بودم و برای مدار قفل رمز دیجیتال استفاده کرده بودم. الان کدش رو تو آرشیو برنامه های قدیمی پیدا کردم، اگه دوستان لطف کنن به C تبدیلش کنن یا از ایده کار برای نوشتن یه آژیر با C میشه از استفاده کرد. اصول کار به این صورته که با یه حلقه باید آروم آروم فرکانس رو زیاد کنیم و با حلقه دیگه آروم آروم کم کنیم نتیجه میشه مثل آزیر پلیس و آمبولانس...

      کد:
      '///////////////////////////////////////////////////////////////////////////////
      '//          Police Alarm With ATmega8 (Use 4%)           //
      '//           Compiler: Bascom 1.11.9.0              //
      '//           Programmer: Behnam zakizadeh             //
      '//            Web: www.avr64.com                 //
      '///////////////////////////////////////////////////////////////////////////////
      
      $regfile = "m8def.dat"
      $crystal = 1000000
      
      Dim Frq As Word
      Dim D As Word
      
      Config Pind.0 = Output
      Spkr Alias Pind.0
      
      '----------------------------------
      Do
        For Frq = 50 To 20 Step -1                'Step -1 => Speed
         D = 51 - Frq
         Sound Spkr , D , Frq
        Next Frq
        For Frq = 20 To 50 Step 1                'Step 1 => Speed
         D = 51 - Frq
         Sound Spkr , D , Frq
        Next Frq
      Loop
      '----------------------------------
      
      End
      اگه بخوایم با C بنویسیم حلقه ها که کاری نداره فقط باید تابعی برای تولید فرکانس نوشت که یه عدد بگیره و فرکانس متنظر با اون رو تولید کنه. مثلا اگه 1000 رو بهش دادیم پایه خاص رو 1000 بار در ثانیه 0 و 1 کنه تا فرکانس 1 کیلوهرتز تولید بشه. الان سخت افزار آماده ندارم وگرنه یه نمونه کد می نوشتم و تست میکردم، اگه لازم شد بگید بنویسم...

      یه چیزی شبیه این (اینو تستش نکردم، یه جورایی فقط یه مدله برای نوشتن برنامه آژیر به زبان C، من با WINAVR کار میکنم، با استدیو یا کدویژن هم میشه همشون مثل همن) :smile:
      کد:
      ddrb.0 = 1;
      
      while(1)
      {
      
       for(int i=500;i<1000;i++)
       {
        sound(i);
       }
      
       for(int i=1000;i>500;i--)
       {
        sound(i);
       }
      
      }
      
      void sound(int i)
      {
       for(int j=0;j<i;j++)
       {
        PORTB.0 = !(PORTB.0);
        _delay_us(10);
       }
      }
      این برنامه رو با سخت افزار مناسب امتحان کردم جواب نمیده میشه ویرایشش کنی لطفا ؟

      دیدگاه

      لطفا صبر کنید...
      X