فهرست مطالب:

آردوینو تبدیل به تام صحبت می شود: 6 مرحله
آردوینو تبدیل به تام صحبت می شود: 6 مرحله

تصویری: آردوینو تبدیل به تام صحبت می شود: 6 مرحله

تصویری: آردوینو تبدیل به تام صحبت می شود: 6 مرحله
تصویری: Lesson 56 : What is a function? | Arduino Step By Step Course 2024, جولای
Anonim
آردوینو تبدیل به تام صحبت می شود
آردوینو تبدیل به تام صحبت می شود
آردوینو تبدیل به تام صحبت می شود
آردوینو تبدیل به تام صحبت می شود

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

در حالی که ساده به نظر می رسد ، اما کل این روش نیاز به مراحل پیچیده ای دارد مانند نمونه برداری از ورودی آنالوگ میکروفون به صورت دیجیتالی ، دستکاری صدا به منظور صدایی منحصر به فرد به تام و سپس بازسازی سیگنال از تمام آن مقادیر دیجیتالی برای پخش مجدد آن از طریق بلندگو به همه این مراحل پیچیده ، اما تلفن هوشمند حتی 9 تا 10 سال قبل از آن مانند یک جذابیت استفاده می کرد!

نکته جالب این است که آیا می توان همین کار را با برد Arduino مبتنی بر میکروکنترلر ارزان قیمت انجام داد یا خیر. بنابراین ، در این برنامه آموزشی نشان خواهم داد که چگونه می توانید یک پروژه ساده Talking Tom را از یک آردوینو و برخی وسایل الکترونیکی ارزان دیگر بسازید.

این دستورالعمل با همکاری Hatchnhack Makerspace در دهلی نوشته شده است

توجه: این دستورالعمل اولین نسخه از پروژه است که ویژگی "Talking" Talking Tom را تکمیل می کند ، جایی که آردوینو قادر به تکرار هر چیزی است که شما به آن می گویید. قسمت تغییر صدا در نسخه آینده پوشش داده می شود ، اگرچه به دلیل وضوح کمتر آردوینو در ADC ساخته شده ، صدای ضبط شده در حال حاضر کمی متفاوت به نظر می رسد: P (این را می توان به وضوح در فیلم پروژه متوجه شد).

بنابراین بیایید شروع کنیم!

مرحله 1: مواد مورد استفاده

مواد استفاده شده
مواد استفاده شده
مواد استفاده شده
مواد استفاده شده
مواد استفاده شده
مواد استفاده شده

سخت افزار:

  • UNO آردوینو
  • ماژول میکروفون MAX4466 با افزایش قابل تنظیم
  • ماژول SD Card Reader مبتنی بر SPI
  • کارت SD
  • تقویت کننده صوتی مانند بلندگوی رایانه ، ماژول تقویت کننده PAM8403 و غیره.
  • بلندگوهایی برای اتصال به آمپلی فایر
  • جک صوتی زن
  • مقاومت 1 x 1k اهم
  • مقاومت 2 x 10k اهم
  • 1 x 10uF خازن
  • 2 دکمه فشاری
  • سیم های جامپر

نرم افزار:

  • آردوینو IDE
  • جسارت (اختیاری)
  • کتابخانه TMRpcm و SD برای آردوینو

مرحله 2: یک مرور کلی از پروژه

این پروژه عمدتا دارای 2 ویژگی است:

  • این می تواند یک صوت تصادفی انتخاب شده از مجموعه ای از فایل های صوتی از پیش نصب شده در کارت SD را برای جلوه های صوتی و غیره پخش کند.
  • می تواند ورودی صدا را از میکروفون ضبط کرده و به محض توقف ضبط ، آن را پخش کند. این به آردوینو اجازه می دهد تا هر چیزی را که از طریق میکروفون شنیده است تکرار کند.

رابط کاربری پروژه عمدتا از 2 دکمه فشاری تشکیل شده است که هر کدام مربوط به یکی از ویژگی های فوق می باشد.

اصلی ترین کار سخت ضبط و پخش فایل های صوتی از کارت SD توسط کتابخانه TMRpcm انجام می شود

در ضبط صدا از ماژول میکروفون MAX4466 ، ADC داخلی arduino و کتابخانه TMRpcm استفاده می شود تا از صدا نمونه برداری کرده و سپس به صورت موقت در کارت SD به عنوان فایل.wav برای پخش ذخیره شود. فایل های صوتی '.wav' از PCM (Pulse Code Modulation) برای ذخیره داده های صوتی در قالب دیجیتالی استفاده می کنند تا بتوان دوباره به راحتی آنها را پخش کرد. به طور کلی ، بهتر است از ADC خارجی برای پروژه های مبتنی بر صدا استفاده کنید زیرا وضوح ADC آردوینو زیاد نیست اما برای این پروژه کار می کند.

پخش فایل های صوتی (از پیش نصب شده و ضبط شده) نیز با کمک کتابخانه TMRpcm انجام می شود که صدا را به عنوان سیگنال PWM از پین فعال شده PWM آردوینو پخش می کند. این سیگنال سپس به یک فیلتر RC وارد می شود تا سیگنال آنالوگ دریافت شود و سپس به یک تقویت کننده برای پخش صدا از طریق بلندگو وارد می شود. برای این قسمت می توانید از DAC خارجی استفاده کنید زیرا آردوینو داخلی ندارد. استفاده از DAC ممکن است گزینه بهتری باشد زیرا کیفیت صدا را به میزان قابل توجهی بهبود می بخشد.

ارتباط بین ماژول کارت SD و آردوینو از طریق SPI (رابط جانبی سریال) انجام می شود. کد ، از کتابخانه SD & SPI برای دسترسی آسان به محتویات کارت SD استفاده می کند.

مرحله 3: کارت SD را آماده کنید و ماژول کارت SD را وصل کنید

کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
کارت SD را آماده کنید و ماژول کارت SD را وصل کنید
  • ابتدا باید به عنوان کارت SD با سیستم فایل FAT16 یا FAT32 قالب بندی کنید (می توانید از تلفن هوشمند خود برای قالب بندی کارت SD استفاده کنید).
  • اکنون برخی از فایل های صوتی.wav را در کارت SD از پیش نصب کنید. می توانید فایل های.wav را با Audacity ایجاد کنید (دستورالعمل های زیر را ببینید). به یاد داشته باشید که نام فایلها را audio_1.wav ، audio_2.wav ، audio_3.wav و غیره بگذارید.

ماژول کارت SD برای ارتباط داده ها با آردوینو از SPI استفاده می کند. بنابراین ، فقط به آن پین هایی که SPI را فعال کرده اند متصل می شود. این اتصالات به شرح زیر است:

  • Vcc - 5 ولت
  • GND - GND
  • MOSI (Master Out Slave In) - پین 11
  • MISO (Master In Slave Out) - پین 12
  • CLK (ساعت) - پین 13
  • SS/CS (Slave Select/Chip Select) - پین 10

تولید فایل.wav با نرم افزار Audacity:

  • فایل صوتی را که می خواهید به.wav تبدیل کنید در Audacity باز کنید.
  • روی نام فایل کلیک کنید و سپس "Split Stereo to Mono" را انتخاب کنید. این گزینه صدای استریو را به دو کانال مونو تقسیم می کند. اکنون می توانید یکی از کانال ها را ببندید.
  • مقدار "نرخ پروژه" را در پایین به 16000 هرتز تغییر دهید. این مقدار با حداکثر فرکانس نمونه برداری ADC داخلی arduino مطابقت دارد.
  • حالا به File-> Export/Export as WAV بروید.
  • محل و نام فایل مناسب را انتخاب کنید. از منوی رمزگذاری "Unsigned 8-bit PCM" را انتخاب کنید زیرا ما از فرمت PCM برای ذخیره صدا در قالب دیجیتال استفاده می کنیم.

مرحله 4: خروجی صدا و میکروفون را وصل کنید

خروجی صدا و میکروفون را وصل کنید
خروجی صدا و میکروفون را وصل کنید
خروجی صدا و میکروفون را وصل کنید
خروجی صدا و میکروفون را وصل کنید
خروجی صدا و میکروفون را وصل کنید
خروجی صدا و میکروفون را وصل کنید
خروجی صدا و میکروفون را وصل کنید
خروجی صدا و میکروفون را وصل کنید

اتصال میکروفون:

  • Vcc - 3.3 ولت
  • GND - GND
  • OUT - پین A0

توجه داشته باشید:

  • سعی کنید میکروفون را مستقیماً به آردوینو وصل کنید ، زیرا ممکن است نویز غیر ضروری را در سیگنال ورودی ایجاد کند.
  • اطمینان حاصل کنید که سرصفحه ها را روی ماژول میکروفون تمیز لحیم کنید زیرا اتصالات لحیم کاری نامناسب نیز صدا ایجاد می کنند.
  • این ماژول میکروفون دارای قابلیت افزایش قابل تنظیم است که می توان آن را با استفاده از یک قابلمه در قسمت پشتی برد کنترل کرد. من به شما پیشنهاد می کنم که سود را تا حدی پایین نگه دارید زیرا در این صورت نویز را زیاد نمی کند در حالی که می توانید آن را نزدیک دهان خود نگه دارید و خروجی تمیزتری را تولید کنید.

اتصال خروجی صدا:

  • خازن 10 uF و مقاومت 1k اهم را به صورت سری روی تخته نان قرار دهید و خازن مثبت آن به مقاومت متصل شود. اینها با هم یک فیلتر RC تشکیل می دهند که خروجی PWM را به سیگنال آنالوگ تبدیل می کند که می تواند در تقویت کننده تغذیه شود.
  • پین 9 آردوینو را به سر دیگر مقاومت وصل کنید.
  • پایانه منفی خازن به کانال چپ و راست جک صوتی زن متصل می شود.
  • GND جک صوتی به GND متصل می شود.
  • جک صوتی با کابل Aux به تقویت کننده متصل می شود. در مورد من ، من از سیستم بلندگوی رایانه خود استفاده کردم.

توجه داشته باشید:

استفاده از PWM به عنوان خروجی صدا ممکن است بهترین گزینه نباشد زیرا یک DAC خارجی وضوح و کیفیت بسیار بهتری را ارائه می دهد. علاوه بر این ، خازن و مقاومت در فیلتر RC ممکن است باعث ایجاد نویز ناخواسته شود. اما هنوز هم خروجی برای این پروژه بسیار مناسب بود

مرحله 5: دکمه ها را سیم بندی کنید

دکمه ها را سیم بزنید
دکمه ها را سیم بزنید
دکمه ها را سیم بزنید
دکمه ها را سیم بزنید
دکمه ها را سیم بزنید
دکمه ها را سیم بزنید

این پروژه از دکمه ها به عنوان رابط کاربر استفاده می کند. هر دو عملکردهای متفاوتی را انجام می دهند و متفاوت استفاده می شوند اما سیم کشی یکسانی دارند. ارتباط آنها به شرح زیر است:

  • دکمه ها را روی تخته نان قرار دهید.
  • یک ترمینال یکی از دکمه ها را به پین 2 آردوینو با مقاومت کششی 10 کیلو اهم متصل کنید. پایانه دیگر دکمه به 5 ولت متصل می شود. بنابراین ، با فشار دادن دکمه ، پین 2 HIGH می شود و می توانیم آن را در کد تشخیص دهیم.
  • دکمه دیگر به همان اندازه با پین 3 آردوینو به جای 2 متصل می شود.

دکمه متصل به پین 2 هنگامی که یک بار فشرده می شود ، یک فایل صوتی تصادفی از مجموعه فایل های صوتی از پیش نصب شده روی کارت SD را پخش می کند.

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

مرحله 6: کد را بارگذاری کنید

کد را بارگذاری کنید
کد را بارگذاری کنید
کد را بارگذاری کنید
کد را بارگذاری کنید
کد را بارگذاری کنید
کد را بارگذاری کنید

قبل از بارگذاری کد ، مطمئن شوید که همه کتابخانه های مورد نیاز مانند TMRpcm ، SD و غیره را نصب کرده اید.

همچنین می توانید پس از بارگذاری کد ، Serial Monitor را باز کنید تا از عملکرد arduino بازخورد بگیرید.

در حال حاضر کد برای تغییر صدای ضبط شده دستکاری نمی کند ، اما من قصد دارم این ویژگی را در نسخه بعدی قرار دهم ، جایی که ممکن است بتوانید فرکانس خروجی سیگنال صوتی را با استفاده از قابلمه تنظیم کرده و انواع مختلف صداها را دریافت کنید. به

و تو تمام شدی !!

توصیه شده: