فهرست مطالب:

چشمه رقص: آردوینو با تجزیه و تحلیل طیف MSGEQ7: 8 مرحله
چشمه رقص: آردوینو با تجزیه و تحلیل طیف MSGEQ7: 8 مرحله

تصویری: چشمه رقص: آردوینو با تجزیه و تحلیل طیف MSGEQ7: 8 مرحله

تصویری: چشمه رقص: آردوینو با تجزیه و تحلیل طیف MSGEQ7: 8 مرحله
تصویری: رقص با اهنگ اذری 2024, دسامبر
Anonim
چشمه رقص: آردوینو با تجزیه و تحلیل طیف MSGEQ7
چشمه رقص: آردوینو با تجزیه و تحلیل طیف MSGEQ7

دریافت یک سیگنال صوتی و تبدیل آن به واکنش بصری یا مکانیکی بسیار جالب است. در این پروژه ما باید از Arduino Mega برای اتصال به تجزیه و تحلیل طیف MSGEQ7 استفاده کنیم که سیگنال صوتی ورودی را گرفته و بر روی آن فیلتر گذر باند را انجام می دهد تا آن را به 7 باند فرکانسی اصلی تقسیم کند. سپس آردوینو سیگنال آنالوگ هر باند فرکانسی را تجزیه و تحلیل کرده و یک عمل ایجاد می کند.

مرحله 1: اهداف پروژه

این پروژه 3 حالت عملکرد را مورد بحث قرار می دهد:

  1. LED ها به پین های دیجیتالی PWM متصل می شوند تا به باندهای فرکانسی واکنش نشان دهند
  2. LED ها به پین های دیجیتالی متصل می شوند تا به باندهای فرکانسی واکنش نشان دهند
  3. پمپ ها از طریق درایورهای موتور به Arduino Mega متصل می شوند و به باندهای فرکانسی واکنش نشان می دهند

مرحله 2: نظریه

تئوری
تئوری
تئوری
تئوری

اگر در مورد IC MS تجزیه و تحلیل طیف MSGEQ7 صحبت کنیم ، می توان گفت که دارای فیلترهای عبور 7 باند داخلی است که سیگنال صوتی ورودی را به 7 باند اصلی تقسیم می کند: 63 هرتز ، 160 هرتز ، 400 هرتز ، 1 کیلوهرتز ، 2.5 کیلوهرتز ، 6.25 کیلوهرتز و 16 کیلوهرتز

خروجی هر فیلتر به عنوان خروجی IC با استفاده از مالتی پلکسر انتخاب می شود. این مالتی پلکسر دارای خطوط انتخاب کننده است که توسط یک شمارنده دوتایی داخلی کنترل می شود. بنابراین می توانیم بگوییم که شمارنده باید از 0 تا 6 (000 تا 110 به صورت باینری) بشمارد تا بتواند یک باند را در یک زمان عبور دهد. این به وضوح نشان می دهد که کد آردوینو باید بتواند شمارنده را پس از رسیدن به تعداد 7 بازنشانی کند.

اگر نگاهی به نمودار مدار MSGEQ7 داشته باشیم ، می بینیم که از تنظیم کننده فرکانس RC برای کنترل ساعت داخلی نوسان ساز استفاده می کنیم. سپس از فیلتر کردن عناصر RC در پورت سیگنال صوتی ورودی استفاده می کنیم.

مرحله 3: روش ها

رویه ها
رویه ها

با توجه به صفحه منبع (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) ما می توانیم ببینیم که کد منبع با خروجی ها به عنوان سیگنال های PWM تکراری برخورد می کند. ما می توانیم برخی از خطوط کد را متناسب با اهداف خود تغییر دهیم.

ما می توانیم متوجه شویم که اگر جک استریو داشته باشیم ، می توانیم مقاومت و خازن ورودی را به کانال دوم دو برابر کنیم. ما MSGEQ7 را از Arduino VCC (5 ولت) و GND تغذیه می کنیم. ما MSGEQ7 را به برد آردوینو متصل می کنیم. من ترجیح می دهم از Arduino Mega استفاده کنم زیرا دارای پین های PWM مناسب برای پروژه است. خروجی IC MSGEQ7 به پین آنالوگ A0 ، STROBE به پین 2 Arduino Mega و RESET به پین 3 متصل است.

مرحله 4: روش های عملکرد: 1- LED ها به عنوان خروجی های دیجیتال PWM

روش های عملکرد: 1- LED ها به عنوان خروجی های دیجیتال PWM
روش های عملکرد: 1- LED ها به عنوان خروجی های دیجیتال PWM

با توجه به کد منبع ، می توانیم LED های خروجی را به پایه های 4 تا 10 متصل کنیم

const int LED_pins [7] = {4، 5، 6، 7، 8، 9، 10}؛

سپس می توانیم رقص LED ها را بر اساس قدرت هر باند فرکانسی مشاهده کنیم.

مرحله 5: روش های عملکرد: 2- LED ها به عنوان خروجی های دیجیتال

Image
Image
نحوه عملکرد: 3- پمپ ها به عنوان خروجی های دیجیتال
نحوه عملکرد: 3- پمپ ها به عنوان خروجی های دیجیتال

ما می توانیم LED های خروجی را به هر پین دیجیتالی متصل کنیم.

const int LED_pins [7] = {40 ، 42 ، 44 ، 46 ، 48 ، 50 ، 52} ؛

سپس می توانیم چشمک بزنیم که LED ها بر روی قدرت هر باند فرکانسی چشمک می زنند.

مرحله 6: روش های عملکرد: 3- پمپ ها به عنوان خروجی های دیجیتال

نحوه عملکرد: 3- پمپ ها به عنوان خروجی های دیجیتال
نحوه عملکرد: 3- پمپ ها به عنوان خروجی های دیجیتال

در آخرین حالت ما ماژول درایور موتور L298N را به خروجی های آردوینو متصل می کنیم. این ما را قادر می سازد تا عملکرد پمپ را بر اساس خروجی تجزیه کننده طیف MSGEQ7 کنترل کنیم.

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

اگر کد را به عنوان منبع خام اجرا کنیم ، ممکن است پمپ ها به درستی کار نکنند. به این دلیل است که سیگنال PWM کم است و برای راننده موتور مناسب نیست که موتورها یا پمپ ها را اجرا کرده و جریان مناسبی را ارائه دهد. به همین دلیل توصیه می کنم مقدار PWM را با ضرب قرائت های آنالوگ از A0 با ضریب بیشتر از 1.3 افزایش دهید. این کمک می کند تا نقشه برداری برای راننده موتور مناسب باشد. من 1.4 تا 1.6 را توصیه می کنم. همچنین می توان PWM را 50 تا 255 تغییر داد تا مطمئن شویم که مقدار PWM مناسب خواهد بود.

ما می توانیم LED ها را به همراه خروجی های درایورهای موتور متصل کنیم ، اما چراغ ها مانند قبل به دلیل افزایش مقادیر PWM به خوبی قابل مشاهده نیستند. بنابراین پیشنهاد می کنم آنها را به پین های دیجیتالی 40 تا 52 متصل کنید.

مرحله 7: مخاطبین

بسیار خوشحالم که نظرات شما را می شنوم. لطفاً در پیوستن به کانالهای من دریغ نکنید:

YouTube:

اینستاگرام:plydigital010

توییتر: @simply01Digital

توصیه شده: