خانه / میکروکنترلرها / میکروکنترلر های AVR / پروژه های AVR / فایل های پروژه ضبط و پخش صدا با میکروکنترلر و ISD4004

فایل های پروژه ضبط و پخش صدا با میکروکنترلر و ISD4004

پروژه ضبط و پخش صدا با میکروکنترلر و ISD4004 همراه با اکولایزر یک پروژه کاربردی و ترکیبی از دیجیتال و آنالوگ می باشد.این پروژه کاربرد هایی مانند گفتن یک پیام متنی در آسانسورها عروسک ها دستگاه های سخنگو و… دارد.

پروژه ضبط و پخش صدا با AVR

قسمت اصلی این پروژه آیسی ضبط و پخش صدا ISD4004  می باشد.از میکروکنترلر به عنوان قسمت کنترل کننده آیسی و استفاده شده روی پروژه ۳ عدد پوش باتن یا شستی  که یکی برای ضبط صدا ، یکی برای پخش و یکی هم برای قطع عملیات ضبط یا پخش پیش بینی شده است. با فشردن کلیک ضبط میکروکنترلر کدهای لازم برای ضبط صدا را با پروتکل SPI  به آیسی ISD4004 ارسال می کند و تا زمانی که شستی STOP فشار داده نشده است ضبط صدا ادامه پیدا می کند (البته محدودیت حافظه یادتون نره) و با فشردن شستی STOP ضبط صدا خاتمه پیدا می کنه و با فشردن شستی پخش یا PLAY صدای ذخیره شده پخش می شود.

بلوک دیاگرام isd4004

برای ورودی صدا از یک عدد میکروفون خازنی می توانیم استفاده کنیم و یا با فیش هدفون می توانید صدا را به ورودی آیسی ISD4004 اعمال کنید.در این مدار یک اکولایزر با آیسی PT2389 پیش بینی شده است که افکت های مختلف را می توانید روی صدا اعمال کنید و همچنین از یک آیسی تقویت کننده LM386N برای تقویت صدا استفاده کردیم و البته این سه بخش (بلوک ضبط و پخش صدا -بلوک اکولایز – بلوک تقویت کننده ) جدا از هم هستند و هر قسمت را دوست نداشتید می توانید استفاده نکنید.مثلا خروجی آیسی ضبط و پخش را مستقیم به تقویت کننده وصل کنید نحوه وصل در شکل زیر مشخص است.

حتما در ادامه این مطلب را هم بخوانید:  راه اندازی سنسور دما SMT160

ضبط و پخش صدا با میکروکنترلر

فیلم عملکرد پروژه ضبط و پخش صدا از خروجی گوشی

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

فیلم تست با میکروفون خازنی (برای کیفیت بالاتر میکروفون بهتر)


 

لیست قطعات پروژه ضبط و پخش صدا 

(شماتیک و عکس مدار را چک کنید تا اگر قطعه ای را فراموش کردم یادآور کنید.)

  • آی سی ضبط و پخش ISD4004 (دقت کنید اصل باشه 🙂 )
  • آی سی اکولایزر PT2389
  • آی سی تقویت کننده LM386N-1  هشت پایه
  • میکروکنترلر ATMEGA8-A DIP
  • رگولاتور ۳٫۳ ولت LF33
  • رگولاتور ۵ ولت ۷۸۰۵
  • پوش باتن تک سوئیچ ۲ پایه  ۱۰ عدد
  • پتانسیومتر ولوم ۱۰ کیلو اهم
  • ال ای دی سبز ۵ عدد
  • ال ای دی قرمز ۴ عدد
  • مقاومت صفر اهم ۵ عدد
  • سوکت ۲۸ پین آی سی مگا۸
  • سوکت ۸ پین سوکت
  • ۲۸ پین برای ISD4004
  • سوکت  ۲۴ پین برای PT2389
  • مقاومت ۱۰۰ اهم
  • ۳ عدد خازن ۱۰۰ میکروفاراد ۲ عدد برای رگولاتور ها
  • خازن ۱ میکرو فارارد برای ISD  و PT  هفت عدد
  • مقاومت ۴٫۷ کیلو اهم ۱۲ عدد
  • خازن ۴۷۰ پیکو فاراد ۱ عدد برای تقویت کننده
  • خازن ۲۲۰ میکرو فاراد برای تقویت کننده دو عدد
  • خازن ۱۰ میکروفاراد برای نقویت کننده ۲ عدد
  • خازن ۱۰۰نانو یا ۱۰۴  ده عدد
  • خازن ۱۰۲ ۵عدد
  • خازن ۲۲ نانو ۲۲۳ دو عدد
  • مقاومت ۱۰کیلو اهم ۱ عدد
  • مقاومت ۵٫۶ ۲ عدد یا مقاومت ۴٫۷ کیلو دو عدد
  • پین هدر نری ۴۰*۱ یک شاخه
  • میکرو فون خازنی
  • فیش هدفونی برای ورودی ضبط صدا در صورت نیاز
  • اسپیکر ۱۶ اهم ۱وات
  • سیم بردبردی مادگی برای وصل کردن ورودی ها و خروجی ها طبقات مختلف (خروجی آیسی به تقویت کننده و یا خروجی صدا به ورودی اکولایزر)
حتما در ادامه این مطلب را هم بخوانید:  ارسال دما و رطوبت با پیامک (دریافت دما و رطوبت خانه و گلخانه از راه دور)

 

اتصالات برنامه نوشته شده :

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

شماتیک ISD4004

شستی های PLAY -STOP-Record

#define play_key PIND.7
#define rec_key  PIND.6
#define stop_key PIND.5

ال ای دی های وضعیت :

#define rec_led PORTD.0
#define play_led PORTD.1

نمونه کد نوشته شده برای میکروکنترلر ATMEGA8

#include <mega8.h>
#include <stdio.h>
#include <delay.h>
#define SCK 5
#define MOSI 3
#define CS 0
#define SS 2
#define     POWERUP         0x20
#define     SETPLAY         0xE0
#define     PLAY            0XF0
#define     SETREC          0XA0
#define     REC             0XB0
#define     STOPPWRDN       0X10
#define     STOP            0X30
#define play_key PIND.7
#define rec_key PIND.6
#define stop_key PIND.5
#define rec_led PORTD.0
#define play_led PORTD.1
unsigned char spi(unsigned char data);
void playback(void);
void record(void);
void stop(void);
//Melec.ir
void main()
{

DDRB|=((1<<CS)|(1<<SCK)|(1<<MOSI)|(1<<SS));
SPCR=((1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0)|(1<<DORD));
MCUCR=0x00;
GICR=0xc0;
PORTB|=1<<CS;
DDRD=0X03;
PORTD=0XE0;
DDRC=0XFF;

//#asm("sei")
while(1)
    {  
      play_led=0;
      rec_led=0;
      if(!play_key)
        {
          delay_ms(300);
          playback();  
          play_led=1;
          rec_led=0;
          while(1)
            {
              if(!stop_key)
                { 
                  delay_ms(300);
                  stop();  
                  goto st;
                }
            }
        } 
        if(!rec_key)
        {
          delay_ms(300);
          record(); 
          play_led=0;
          rec_led=1;
          while(1)
            {
              if(!stop_key)
                { 
                  delay_ms(300);
                  stop(); 
                  goto st;
                }
            }
        }
        
      st:
       
    }
}
unsigned char spi(unsigned char data)
{
SPDR=data;
while(!(SPSR & 0X80));
}
interrupt [EXT_INT0] void external_int0_INT(void) 
{
#asm("cli")

#asm("sei")
}
interrupt [EXT_INT1] void external_int1_RAC(void) 
{
#asm("cli")

#asm("sei")
}
void playback(void)
{
PORTD.0=1;
PORTD.1=0;
PORTB&=~(1<<CS);
spi(POWERUP);
PORTB|=1<<CS;
delay_ms(30);
PORTB&=~(1<<CS);
spi(0x00);
spi(0x00);
spi(SETPLAY);
PORTB|=1<<CS;

PORTB&=~(1<<CS);
spi(PLAY);
PORTB|=1<<CS;
}
void record(void)
{
PORTD.0=0;
PORTD.1=1;
PORTB&=~(1<<CS);
spi(POWERUP);
PORTB|=1<<CS;
delay_ms(25);
PORTB&=~(1<<CS);
spi(POWERUP);
PORTB|=1<<CS;
delay_ms(100);
PORTB&=~(1<<CS);
spi(0x00);
spi(0x00);
spi(SETREC);
PORTB|=1<<CS;

PORTB&=~(1<<CS);
spi(REC);
PORTB|=1<<CS;
}
void stop(void)
{
PORTB&=~(1<<CS);
PORTC=spi(STOP)>>3;
PORTB|=1<<CS;
delay_ms(5);
//Melec.ir
}

خب امیداوارم تا اینجا یادگرفته باشید که چگونه با این آیسی کار کنید و نمونه شماتیک و برنامه را دیدید.

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

حتما در ادامه این مطلب را هم بخوانید:  پروژه ساعت آنالوگ با lcd گرافیکی و avr
فایل های قابل دانلود بعد از خرید
فایل های قابل دانلود بعد از خرید

شما می توانید بعد از خرید و دانلود فایل ها فایل PCB  را خودتان چاپ کنید و یا به یکی از شرکت های مدارچاپی بفرستید تا چاپ و از روی لیست قطعات ، قطعات را تهیه و با نقشه مدار و فایل PCB برد را منتاژ کنید. مثلا روی فایل PCB نوشته U2 که روی شماتیک نیز اسم قطعه بهمراه شماره قطعه (U2) مشخص هستند.بعد از منتاژ از روی برنامه میکروکنترلر را پروگرام و تست کنید.این پروژه چندین بار منتاژ شده و هیچ مشکل سخت افزاری و نرم افزاری ندارد.و همچنین در خرید آیسی ISD4004 دقت کنید که اصل باشد.

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

خرید و دانلود فایل ها  [۹۹۰۰ تومان]

این نوشته را با دوستانتان در تلگرام به اشتراک بگذارید :

درباره ی جهاندیده

با سلام درود به شما که مطالب سایت خودتان را مطالعه می کنید امیدوارم مطالب سایت برایتان مفید باشد و باعث پیشرفت روز افزون شما شود. دوران راهنمایی در کار منتاژ کیت های الکترونیکی بودم تا رفتم هنرستان ^_^ دو سال هنرستان الکترونیک خیلی چیزها یاد گرفتم ! دو سال کاردانی الکترونیک و کارشناسی ICT گرایش بهره برداری از سیستم های مخابراتی پر از تجربه بود و مدتی است در الکترونیک دنیای مشغولم . الکترونیک - تکنولوژی - ICT ، برنامه نویسی ...

۳۸ دیدگاه

  1. سلام ، ممنون از سایت مفیدتون
    این پروژه قابلیت ضبط و ذخیره سازی چند صدا و پخش جداگانه ی اونا رو هم داره؟

  2. من میخواستم فایل کامل این پروژه رو بخرم،
    میتونید یه برنامه واسش بنویسید که قابلیت ضبط و ذخیره سازی چند صدا و پخش اونا رو داشته باشه؟
    یعنی آدرس بهش بدیم، بتونه یه صدای خاص رو که ذخیره کرده بوده، پخش کنه

  3. برنامه نویسی isd های مختلف با هم فرق داره؟
    همین برنامه و سخت افزارش رو میشه با isd دیگه ای انجام داد؟

    • برای ISD4004 ها با حافظه های مختلف که فرقی نداره مثلا ISD4004-8M یا ISD4004-16M

      ولی روی ISD دیگر تست نکردم لطفا شماره ISD مورد نظر را بگین تا چک کنم بگم. ولی اگر اونم SPI باشه به احتمال زیاد نباید زیاد فرق داشته باشن .

  4. isd های سری ۲۵۰۰ میتونه جایگزین ۴۰۰۴ بشه تو این پروژه؟

  5. با ISD های سری ۲۵۰۰ هم میشه چند صدا ضبط و جداگانه آدرس دهی و پخش بشه؟

  6. خیلی ممنون،
    فقط چطوری باید با این پین ها آدرس دهی کرد؟
    واسه میکروکنترلر دیگه برنامه ی آدرس نباید بنویسیم؟

  7. سلام وقت بخیر،
    در این پروژه خط ۱۰۵ کار آدرس دهی رو انجام میده و خط ۱۰۷ کار play؟
    و چرا ۱۰۵ دوباره در خط ۱۰۶ تکرار شده؟
    با تشکر

  8. خیلی ممنون بابت راهنمایی هاتون،
    میشه توضیح بدید که چرا تو خط های ۴ تا ۷ این مقادیر رو به پین ها دادید؟

  9. خیلی ممنون از راهنماییتون،
    بنده فایل کامل پروژه رو دانلود کردم؛
    ولی متوجه نشدم که P1,P2,… دقیقا چه قطعاتی هستند؟

  10. خیلی ممنون از راهنماییتون،
    بنده فایل کامل پروژه رو دانلود کردم؛
    فقط متوجه نشدم که P1,P2,.. دقیقا چه قطعاتی هستند؟

  11. سلام مجدد،
    Vcc استفاده شده در این پروژه چند ولت است؟

    • سلام
      اگر شماتیک را منظرتان هست که ۳٫۳ ولت به vcc اختصاص داده شده ولی ورودی اصلی مدار همانطور که در شماتیک هم هست ۹ ولت است و بعد یک رگولاتور ۵ ولت برای قسمت هایی که نیاز به ۵ ولت دارند. و یک رگولاتور ۳٫۳ برای قسمت هایی که نیاز به ۳٫۳ ولت دارند .

      • بله، شماتیک رو دیدم
        ولی مشکلی که هست وقتی ولتاژ ورودی که در شماتیک ۹ ولت اومده را از ۶٫۸ ولت بالاتر می برم، اسپیکر وزوز میکنه!
        به نظر شما مشکل چیه؟

        • خب رگولاتور های مدار تا وقتی زیر ۷ ولت هستن کار نمیکنن یا درستکار نمیکنن وقتی ولتاژ را بالا میبرین تازه شروع به کار میکنن.
          مدار را چطوری بستین ؟ pcb را زدین یا روی بردبرد ؟
          آیسی isd4004 را از کجا تهیه کردین ؟ قیمتیش چقدر بود ؟ خراب نباشه

          ببینید وقتی رکمه ضبط را میزنید باید ال ای دی روشن و صدای اسپیکر تغییر میکند یا تغییرات را میبینید ؟

  12. سلام،
    روی بردبرد در حال تست هستم تا بعد pcb چاپ کنم

  13. از پاساژ امجد جمهوری تهیه کردم ۳۰۰۰۰ تومان بود، از کجا باید مطمئن بشم که خراب نباشه؟
    وقتی دکمه ی play رو می زنم، LED روشن میشه اما اسپیکر بوق میزنه!
    و وقتی دکمه ی record رو میزنم، LED سبز روشن میشه

  14. سلام وادب
    اگه من بخوام برای خروجی از led استفاده کنم که مثلا هنگام پخش ی اهنگ رقص نور داشته باشه از این مدار میشه استفاده کرد؟

  15. با عرض سلام
    با ای سی isd2560 میشه بدون میکرو کنترلر صدا رو ضبط و پخش نمود؟

  16. سلام
    پروژه کارشناسی من دقیقا شبیه اینه با این تفاوت که باید روی حافظه sd ذخیره بشه. باید چه تغییراتی انجام بدم تو این مدار. ممنون میشم کمک کنین

  17. نمیدونم با آی سی کار کردین

    اگه ممکنه پروژه ای بزارید که صدا رو بگیره پردازشش کنه و با توجه به فرکانسهای صدا و واحد تایمر همون صدارو خود میکرو تولید کنه نه آی سی.

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

13 − 10 =