فهرست مطالب:

میکروکنترلر پارچه تن ژنراتور در کد C: 8 مرحله (همراه با تصاویر)
میکروکنترلر پارچه تن ژنراتور در کد C: 8 مرحله (همراه با تصاویر)

تصویری: میکروکنترلر پارچه تن ژنراتور در کد C: 8 مرحله (همراه با تصاویر)

تصویری: میکروکنترلر پارچه تن ژنراتور در کد C: 8 مرحله (همراه با تصاویر)
تصویری: حرکات زشت سحر قریشی در باشگاه مردانه در دبی#سحرقریشی #امیرتتلو #تتلو #سحر_قریشی 2024, جولای
Anonim
میکروکنترلر پارچه تن ژنراتور در کد C
میکروکنترلر پارچه تن ژنراتور در کد C

در اواخر اکتبر سال گذشته کاربرانی که دستورالعمل های کاربر را می دادند ، پس از دیدن مصنوعی جعبه ناهار ، به من پیام دادند. از پیام او: من در دبستان موسیقی تدریس می کنم. ما تعداد زیادی موسیقی ضبط کننده پخش می کنیم. به عنوان مثال ، بچه ها فلوت کوچکی می نوازند …… من چندین کودک با نیازهای ویژه دارم که می توانند از این تخته پوستر سیاه با حلقه هایی که نام یادداشت روی آنها است استفاده کنند. این دانش آموزان حلقه ها را با اسامی نت ها فشار می دهند ، در حالی که بقیه دانش آموزان در حال پخش آهنگ هستند … اکثر کودکان با نیازهای خاص می توانند این کار را به خوبی و به موقع با موسیقی انجام دهند. چیزی که من به دنبال آن هستم ایجاد یک دستگاه تولید صدا بسیار ساده است تا این بچه ها بتوانند همان زمینی را بازی کنند که توسط دانش آموزان روی دستگاه های ضبط خود پخش می شود. من فقط چند زمین بازی خواهم بود. من فکر کردم می توانم یک نوع دکمه کوچک به پایین حلقه های گرد آنها وصل کنم تا وقتی آنها را فشار می دهند ، صدا از بلندگوی کوچکی به اندازه کافی بلند بیرون بیاید تا بتوانند بشنوند. با داشتن مادری که معلم است و مدرسه را دوست دارد ، چگونه می توانم مقاومت کنم؟ راستش را بخواهید من نتوانستم. این تقریباً یک شرح حال از پروژه و دستورالعمل هایی است که چگونه می توانید پروژه خود را بسازید.

مرحله 1: شروع یا چرا نتوانستم به آنالوگ بچسبم

آغاز یا چرا نتوانستم به آنالوگ بچسبم
آغاز یا چرا نتوانستم به آنالوگ بچسبم

مطالب خوب از صفحه بعدی شروع می شود. اگر می خواهید بدانید که چگونه با استفاده از قطعاتی که انجام دادم ، به پایان رسید ، زمان را بخوانید. زمان سنج واقعی: پس از انجام پروژه کمی فکر کردم بلافاصله به تولید کننده پیزو تن از کتاب op-amps من Forest Mims III فکر کردم. به نظر می رسد راه خوبی است ، این فقط یک پیزو ، یک IC 741 و چند جزء غیرفعال است. کار مهمی نیست درسته؟ خوب این 2 مشکل دارد ، 1) هنگامی که سوئیچ را فشار می دهید ، امکان تغییر پیچ وجود دارد 2) تنظیم آن تقریباً غیرممکن است. اولین مورد را می توان با استفاده از برخی از فن آوری های حذف ، برطرف کرد ، اگرچه نمی دانستم چگونه این کار را بدون افزودن شمارنده دیگر انجام دهم. همچنین ممکن است مشکلی در استفاده از پیزو وجود داشته باشد. مسئله دوم هنگامی که شروع به تلاش برای ضربه زدن به یک زمین خاص کردید ، دشوار شد. 555 چطور؟ برگه اطلاعات یک تابع زمان را بر اساس مقاومت و خازن نشان می دهد. این بسیار عالی است تا زمانی که شروع به تایپ کردن مقادیر واقعی قطعات دنیای واقعی کنید ، آن زمان است که متوجه می شوید ضربه زدن به زمین 440 هرتز کمی دشوار می شود. می توانید از گلدان های تزیینی برای تنظیم آن استفاده کنید ، اما با گذشت زمان تمایل به حرکت دارند. تنظیم مداوم ساز ، علاوه بر افزایش سریع هزینه و مقدار قطعات ، و همسرم هنگام فشار دادن دکمه 555 را برای این پروژه تغییر داد. op-amps از قبل از تولد من ساختن یک قطعه واقعاً ساده با چند قسمت و یادداشت های خاص چقدر دشوار است؟ سخت تر از آنچه فکر می کردم. اکثر طرح های موجود برای این پروژه بسیار پیچیده است. طراحان Synth به دنبال شکل موج/لحن کامل هستند. این امر مستقیماً با پروژه ای که قرار است برای بودجه مدرسه یا معلمان ارزان باشد ، در تضاد است. ساختن صفحه کلید به اندازه کافی آسان است ، این فقط یک دسته مقاومت و قدرت یا یک دسته دیود و قدرت است. این بقیه طراحی مدار و هزینه رایانه های شخصی است که برای شخصی در سطح الکترونیکی اولیه از دست می رود. تعریف مجدد پروژه: بنابراین پروژه قبل از اینکه من واقعاً شروع کنم ، دوباره تعریف شد. من به چیزی نیاز داشتم که بتواند با فشار دادن یک دکمه ، پین بلندگو را به موقع تغییر دهد. من نمی خواستم مجبور به طراحی و خرید PCB شوم. این باید تا حد ممکن از چند جزء استفاده می کرد و به عنوان یک کیت مبتدی مونتاژ می شد. تمام مدت به صورتم خیره شده بود. ده !! میکروکنترلر! میکروکنترلر: بنابراین پس از خرید هر دو کیت آردوینو Devices Modern Bare Bones و یک تابلوی هدف ساده Evil Mad Scientist و گذاشتن آنها روی میز من برای ماه ها بدون استفاده ، من یک پروژه مقدماتی عالی داشتم. شروع کردم به بررسی زمان لازم برای جمع آوری هر دو ، منحنی یادگیری کد ، هزینه ، قطعات اضافی مورد نیاز و انجام هر کاری که می خواهم و در صفحه هدف قرار گرفت. هزینه تقریباً یکسان بود ، 15 دلار بعلاوه یک کابل FTDI 20 دلاری برای آردوینو ، 12 دلار بعلاوه یک برنامه نویس USBtinyISP 22 دلار. من قبلاً C ++ را در دانشکده کوچکی که می توانستم تحمل کنم می دانستم و می دانستم که C برای میکروکنترلرها چندان بد نخواهد بود ، در حالی که به غیر از چشمک زدن برای اطمینان از اینکه کیت خود را به درستی کنار هم قرار داده ام ، هیچ تجربه آردوینو نداشتم. هر دو قابل نصب بودند. این تقریباً پرش بود ، بنابراین تصمیم گرفتم قسمتهای کمتری از این دو ، تخته هدف را انتخاب کنم.

مرحله 2: آنچه شما نیاز دارید Rev 1

آنچه شما نیاز دارید Rev 1
آنچه شما نیاز دارید Rev 1

قطعات هزینه USBtinyISP AVR Programmer Kit (USB SpokePOV Dongle) v2.0 $ 22.00 5 پوند 2.75 دلار 5) 3.49 دلار (4 بسته) https://www.radioshack.com/product/index.jsp؟productId=2062539"AAA "دارنده باتری 1.79 دلار https://www.radioshack.com/product/index.jsp؟ productId = 2102735SPST سوئیچ اسلاید Submini (اختیاری برای سوئیچ قدرت) 2.69 دلار (2 بسته) https://www.radioshack.com/product/index.jsp؟productId=2062490LED و مقاومت (اختیاری ، در صورت تمایل به چراغ برق) $ باید رایگان باشد اگر آنها در اطراف دروغ می گویند سیم $ نیز باید در اطراف باشد لحیم نقره (اگر این مورد در نزدیکی کودکان اتفاق می افتد ، احتمالاً نباید از سرب استفاده کنید ، والدین در مورد چنین چیزهایی بسیار عجیب می شوند ؛)) مالیدن الکل (برای دوباره move flux) اگر می خواهید مکان هایی برای صرفه جویی در هزینه ها وجود داشته باشد ، نیازی نیست قطعات را از RadioShack تهیه کنید. من این کار را کردم زیرا آنها نزدیک و قابل پیش بینی هستند.

مرحله 3: مونتاژ Rev 1

مجمع Rev 1
مجمع Rev 1
مجمع Rev 1
مجمع Rev 1

قطعات خود را مانند تصویر کنار هم قرار دهید. مطمئن شوید که برای از بین بردن هرگونه جوش لحیم کاری از الکل و برس برس استفاده کنید. شماتیک برای کسانی که آن را ترجیح می دهند در زیر آمده است. D1 و R1 می توانند هر چیزی باشند که شما می خواهید ، این فقط یک چراغ قدرت است. C1 فقط برای کمک به برق کمی سازگارتر است. من از 10uF استفاده کردم این شماتیک برای نسخه های بعدی یکسان است ، فقط دکمه های فشار را برای سوئیچ های پارچه ای عوض کنید. در آخرین نسخه من سوئیچ ها را به PC4 و PC5 یا پین 27 و 28 اضافه کردم.

مرحله 4: آنچه شما نیاز دارید Rev 2

آنچه شما نیاز دارید Rev 2
آنچه شما نیاز دارید Rev 2

بنابراین اساساً شما دکمه های Radio Shack را با پارچه های دستباف عوض می کنید. شما نیاز دارید: چند رنگ پارچه یا یک رنگ اگر می خواهید هر نت یک رنگ باشد. قسمت لحافی نزدیکترین پارچه فروشی شما بهترین مکان برای خرید ارزان است. چهارپایه های لحافی 1.50 دلار است و می توانید یک سوئیچ از یک دستگاه تهیه کنید. پارچه های رسانا ، من پارچه Flectron را از LessEMF پیشنهاد می کنم که 20 دلار برای قطعه 12 اینچ در x54 اینچ برای اتصال سیم به پارچه 20 دلار است. می توانید آنها را در اکثر پارچه فروشی ها ارزان تهیه کنید. JoAnn این ابزار را دارد و 25 دلار برای 2 دلار شما برای این کار به چکش احتیاج دارید. سیم ، من از 22AWG استفاده کردم ، اگر شما آن را دارید کوچکتر را پیشنهاد می کنم. برای ادغام ، پارچه رنگی و رسانا را به هم بچسبانید. در فروشگاه بپرسید و احتمالاً می توانید آن را در حیاط بخرید. این احتمالاً خوب کار می کند ، اگرچه من به شما پیشنهاد می کنم از کسی باتینگ بپرسید ، من در ابتدا از یک چیز واقعاً شل استفاده کردم ، سپس به یک چیز بافتنی محکم تر روی آوردم. من پیشنهاد می کنم فقط چند مورد متفاوت را امتحان کنید تا بهترین کار را پیدا کنید. لوله های کوچک کننده حرارتی ، این امر باعث می شود که کل کار بسیار قابل کنترل تر شود. سیمهای جمع کننده حرارتی با هم از کنار یکدیگر عبور می کنند و بسیار بهتر می مانند.

مرحله 5: مونتاژ Rev 2

مجمع Rev 2
مجمع Rev 2
مجمع Rev 2
مجمع Rev 2
مجمع Rev 2
مجمع Rev 2

پارچه های چند رنگ را روی هم بگذارید و یک مربع برش دهید ، لازم نیست کامل باشد. پارچه را اتو کنید تا هرگونه چین خوردگی ایجاد شود ، دوباره آنها را روی هم بچسبانید و مطمئن شوید که همه لبه ها با هم مطابقت دارند. هر لبه ای را که نمی خواهید برش دهید. قسمت بالا و پایین را ببرید ، سمت چپ و راست را مستقیم بگذارید. بعد از دوختن ، سوئیچ را وارونه می کنید ، بنابراین طرفهای گرد را خیلی گرد نکنید و ارتفاع کافی در کناره های صاف بگذارید تا پس از اتمام کار ، سوئیچ را به راحتی فشار دهید. قسمت صاف اولین و آخرین سوئیچ را بچرخانید. به چرخ خیاطی خود بروید و دو دور آن را کنار هم بچینید تا طرف خوب رو به روی هم قرار بگیرد و یک دوخت روی قسمت های صاف بدوزید. هنگامی که بالای دکمه ها قرار می گیرند دوخته شده ، مربع ها را از پارچه رسانا جدا کرده و یک طرف را فیوز کنید. سیم را به طول برش دهید و یک سر آن را بردارید. سیم را به یکی از چشم ها بچسبانید. (لحیم کاری به احتمال زیاد به حلقه نمی چسبد) یک تکه پارچه کوچک را در گوشه ای از پارچه برش دهید و چشم را چسب بزنید تا پارچه و سیم را بچسبانید. پشت را از محلول جدا کرده و پارچه رسانا را به پشت پارچه رنگی ذوب کنید. برای همه سوئیچ ها این کار را تکرار کنید. برای سهولت کار ، می توانید هر زمان که یک سیم از سیم برای سیم بعدی عبور می کند ، سیم ها را با هم جمع کنید. یک قطعه پارچه به طول مجموعه سوئیچ تهیه کرده یا بسازید و یک نوار پارچه رسانا را به طول آن ببرید. برخلاف کلیدهای رنگی ، این یک قطعه بلند است. این همان چیزی است که دکمه ها برای ایجاد ارتباط لمس می کنند. یک شکاف کوچک را بریده و مانند یک سوئیچ رنگی ، یک سیم را با یک چشم به آن وصل کنید. آن را به پشت پارچه پایینی بچسبانید. قسمت بالا و پایین را با پارچه رسانا رو به بیرون بدوزید ، از یک چوب حیاط برای وارونه کردن مجموعه بعد از دوخت آن استفاده کنید. چند سوراخ کوچک در کوبیدن برش دهید ، من از چوب چوب برای تهیه استفاده کردم یک دایره و سپس چوب چوب را بردارید و برش بزنید. آنها را به شکل برش زده و وارد سوئیچ ها کنید. این چیزی است که پارچه رسانا را از هم جدا می کند. ممکن است در حالی که سوئیچ ها را به جای بعد از آن وارونه می کنید ، ضربه زدن را راحت تر کنید. چیزهایی که من استفاده می کردم در حین وارد کردن آنها بسیار بد شد و مجبور شدم ضربه های متفاوتی را دریافت کنم. در نهایت سیم ها را به تخته هدف وصل کنید و همه چیز آماده است. نوار پایین بلند آسیاب می شود.

مرحله 6: آنچه شما نیاز دارید Rev 3

آنچه شما نیاز دارید Rev 3
آنچه شما نیاز دارید Rev 3

در Rev 3 سوئیچ ها را مستقل از سیم کشی کردم. این باعث صرفه جویی در زمان زیادی شد. من همچنین ظاهر نتیجه نهایی را بسیار بیشتر دوست دارم. بنابراین ، در اینجا قطعات جدیدی که نیاز دارید آمده است: عکس ها ، فقط آنها را از JoAnn's دریافت کرده اید. آنها با یک ابزار نصب با 7 دلار بد آمدند ، من به جای آن یکی از ابزار انبردست را پیشنهاد می کنم زیرا مجبور بودم ابزار خود را جدا کنم تا چفت ها را در وسط نصب کنم. دوختن می تواند جایگزین مناسبی باشد ، اگرچه مدت زمان بیشتری طول می کشد تا به آن بچسبید. نخ هادی ، Spark Fun دارای مواردی است که می تواند در چرخ خیاطی شما قرار گیرد. من مجبور شدم در دستگاه خود به آرامی حرکت کنم ، در غیر این صورت نخ شکسته می شود. مسافت پیموده شده شما ممکن است متفاوت باشد

مرحله 7: مونتاژ Rev 3

مجمع Rev 3
مجمع Rev 3
مجمع Rev 3
مجمع Rev 3
مجمع Rev 3
مجمع Rev 3
مجمع Rev 3
مجمع Rev 3

این بازبینی از نظر زمان تا ساخت بسیار بهتر از نسخه قبلی بود. به علاوه ، داشتن کلیدهای قابل جابجایی بیش از یک بار عقل من را نجات داد. با ساخت پایه شروع کنید. این فقط یک ربع مهیب است که به نصف جمع شده است. یک لایه خفاش را در قسمت بالا قرار دهید و بدوزید و یک سوراخ برای معکوس باقی بگذارید. آن را از سوراخ بیرون بیاورید و اساساً یک چیز بالش دارید. من آن را تخت کردم ، بنابراین کار با آن راحت تر بود. از نخ ساده استفاده کنید و خسته شوید. من روی این الماس کار کردم ، اما شاید دفعه بعد اژدها را پشت سر بگذارم ، یا چیزی جالب. حالا ، به سوئیچ ها بروید. من این طرح را دوست دارم زیرا اساساً می توانید یک تن از آنها را زودتر درست کنید و فقط از آنچه می خواهید استفاده کنید. با استفاده از یک تکه مقوا ، کاغذ یا پارچه شروع کنید و یک شکل گلابی از آن ببرید. از آن به عنوان راهنما برای برش بالا و پایین هر سوئیچ استفاده کنید. من یک رنگ برای هر پایین و یک رنگ متفاوت برای قسمت های بالا برش می دهم ، اما شما می توانید خلاق باشید و آنچه را که می خواهید انجام دهید. راهنمای خود را به شکل یک آبنبات چوبی که به راحتی در داخل سوئیچ قرار می گیرد ، کوتاه کنید. "چوب" را بلند کنید تا بتواند روی لبه "گلابی" بپیچد. شکل را از پارچه جوش و رسانا جدا کرده و یک طرف پارچه رسانا را فیوز کنید. قسمت پشتی را از مواد جاذب جدا کرده و آن را به بالای پارچه ای که در قسمت پایینی و قسمت پایینی پارچه ای که در بالا قرار دارد ، ذوب کنید. مقدار اضافی را در قسمت بالا بپیچید. به چرخ خیاطی خود سر بزنید و بین پارچه های بالایی و پایینی ضربه بزنید. بیرون پارچه رسانا را بدوزید و قسمت "چوب" سوئیچ را رد کنید. متوجه شدم که می توان پارچه رسانای بالا را به قسمت پایین دوخت و یک پارچه کوتاه ایجاد کرد. بهتر است از طریق پارچه رسانا دوخت نزنید. ضربه محکم و ناگهانی و سوئیچ تمام شده است. به نظر من استفاده از ضربه محکم و ناگهانی مردانه برای همه اتصالات پایین/GND و ضربه محکم و ناگهانی زن برای همه قسمت های بالا. این باعث می شود همه سوئیچ ها قابل تعویض باشند. مدار: نکته ای که در مورد برش دور وجود دارد این است که تعداد زیادی بیت اضافی دارید. ضایعات خود را برداشتم ، قطعات بزرگ ذوب شده را به قطعات بزرگ پارچه رسانا رساندم و از آنها برای برش مستطیل های کوچکتر که به عنوان پد استفاده می کردم ، استفاده کردم. سوئیچ های خود را بطور دقیق بچسبانید و پدها را با پایه به هم وصل کنید و فضای کافی برای دوختن خط به آنها و محکم کردن آنها را داشته باشید. پای چرخ خیاطی که من از آن استفاده می کردم با مهربانی به نزدیک شدن در عکس نزدیک نمی شد ، بنابراین این را در نظر داشته باشید و به خود کمی فضا بدهید. از آنجا که من یک نخ رسانا دارم که می تواند در چرخ خیاطی من وارد شود ، من فقط یک خط از پد به پد و عقب دوختم. مجبور شدم آهسته پیش بروم وگرنه نخ پاره می شود ، اما یک تن سریعتر از دوخت دستی بود. همچنین با نخ رسانا روی بوبین و سوزن ، یک اتصال محکم خوب به دست آوردم. چیزها دیوانه می شوند ، اما کمی چسب کاردستی یا المرز آن را صاف می کند. سعی کنید خطوط را به خوبی از یکدیگر دور کنید و نباید مشکلی داشته باشید. مونتاژ نهایی: همه کلیدهای خود را بکشید ، برد را وصل کنید ، کد را بارگذاری کنید و کار تمام است. من از سیم برای رساندن از روی تخته به پد استفاده کردم و سپس فقط سیم را با پایه به پایه دوختم. برای نسخه بعدی ، من تخته را در یک جعبه پلاستیکی با چفت و بست نصب می کنم تا به پایه متصل شود تا انگشتان بیکار آن را از هم جدا نکنند.

مرحله 8: کد

کد
کد

اگر قبلاً هیچ تراشه ای را برنامه نویسی نکرده اید ، این کار تا حدودی دلهره آور است. این فایده ندارد که ابزارها پوسته پوسته شده باشند و در بیشتر مواقع مجبورید یک عملیات را چندین بار انجام دهید. دو منبع من برای درک آنچه در جریان است ، صفحه USBtinyISP ، https://www.ladyada.net/make/usbtinyisp/ و دوره خرابی برنامه نویسی اسباب بازی سر و صدا ، http:/ /blog.makezine.com/archive/2008/05/noise_toy_crashcourse_in.html اینها باید بتوانند شما را شروع کنند.

بسیاری از افراد Arduino را برای این کد نویسی دوست دارند و استفاده از آن اشکالی ندارد ، مگر اینکه من احساس می کنم که این برنامه به طور معمول ساده نفخ زیادی می افزاید. همچنین ، من C را می شناسم و آردوینو را نمی شناسم. شاید یک روز ، اگر وقت باشد.:) کد: {{{ # #شامل // از یک پین برای روشن کردن SPK /// Typedefs ///////// typedef charged char u8 استفاده نکنید؛ int main (void) {u8 btnState0؛ u8 btnState1؛ u8 btnState2؛ u8 btnState3؛ u8 btnState4؛ u8 btnState5؛ u8 btnState6؛ DDRB = (1 << DDB6) ؛ // SPK را برای خروجی PORTD = (1 << PD0) | تنظیم کنید (1 << PD1) | (1 << PD2) | (1 << PD3) | (1 << PD4) ؛ // Set Button High PORTC = (1 << PC4) | (1 << PC6] ؛ TCCR2B = (1 << CS21) ؛ // تنظیم تایمر در حالی که (1) {btnState0 = ~ PINC & (1 << PC5)؛ btnState1 = IN PINC & (1 << PC4)؛ btnState2 = IN PIND & (1 << PD0)؛ btnState3 = ~ PIND & (1 << PD1)؛ btnState4 = IN PIND ((1 << PD2) ؛ btnState5 = ~ PIND ((1 << PD3) ؛ btnState6 = ~ PIND ((1 << PD4) ؛ if (btnState0) {if (TCNT2> = 190) {PORTB ^= (1 << PD6) ؛ // تلنگر SPK Pin TCNT2 = 0؛ }} if (btnState1) {if (TCNT2> = 179) {PORTB ^= (1 << PD6)؛ // تلنگر SPK Pin TCNT2 = 0؛ }} if (btnState2) {if (TCNT2> = 159) {PORTB ^= (1 << PD6) ؛ // تلنگر SPK Pin TCNT2 = 0؛ }} if (btnState3) {if (TCNT2> = 142) {PORTB ^= (1 << PD6) ؛ // تلنگر SPK Pin TCNT2 = 0؛ }} if (btnState4) {if (TCNT2> = 126) {PORTB ^= (1 << PD6)؛ // تلنگر SPK Pin TCNT2 = 0؛ }} if (btnState5) {if (TCNT2> = 119) {PORTB ^= (1 << PD6) ؛ // تلنگر SPK Pin TCNT2 = 0؛ }} if (btnState6) {if (TCNT2> = 106) {PORTB ^= (1 << PD6)؛ // تلنگر SPK Pin TCNT2 = 0؛ }}}}}}} زمین های بازی از کجا می آیند؟ کمی ریاضی لازم بود. ساعت تایمر در atmega 168 با فرکانس 1 مگاهرتز کار می کند. این برای صدا بسیار سریع است ، بنابراین ما باید از پیش شماره /8 استفاده کنیم. سپس از آنجا که برای ایجاد 1 چرخه ، باید پین خروجی را بالا و پایین ببریم ، باید پاسخ را بر 2 تقسیم کنیم تا گام مناسب را بدست آوریم. فرمول به این شکل است ، Pitch را در کد = (1000000/8)/(فرکانس هدف*2) برای A (440) این برای اهداف ما 125000/880 = 142.045 یا 142 خواهد بود ، زیرا مقدار باید یک عدد صحیح باشد به فرکانس هدف یادداشت ها را تقریباً در هرجایی از اینترنت می توان یافت و عموماً همه یکسان هستند. من هنوز می خواهم به جای استفاده از دسته ای از If ها یک عبارت case اضافه کنم و از PWM برای کنترل بهتر صدا و صدای بلندگو استفاده کنم ، اما در حال حاضر ، این کار می کند.

توصیه شده: