این ماژول که بر پایه آی سی ISD1820 ساخته شده است در بسیاری از دستگاه ها دیده می شود.
حافظه آن ماندگار بوده و با قطع تغذیه پاک نمیشود و از یک پیغام 20 ثانیه ای پشتیبانی می کند.
دارای یک تقویت کننده داخلی است که یک بلندگوی 8 اهم نیم وات را راه اندازی می کند.
دو حالت پخش دارد PE , PL
PE: پخش تمام پیغام
PL: پخش تا وقتی که کلید را فشار داده اید. با رها کردن کلید پخش متوقف شده و با فشردن کلید ادامه آن پخش می شود
کلید ضبط کردن که با نگه داشتن آن پیغام را ضبط میکند تا وقتی کلید رها شود.
این ماژول را به راحتی می توانید با اتصال به منبع تغذیه روشن و از آن استفاده کنید ولی جامپر های آن قابلیت استفاده در یک پروژه را به فراهم می کند.
پینهای REC , PL , PE برای فرمان دادن به کلیدهای ماژول می باشد. برای فرمان دادن به آنها هر یک از این پین ها را به مثبت تغذیه متصل کنید.
جامپرهای PE , FT
با اتصال جامپر FT ماژول بعد از ضبط هر پیغام بلافاصله آن را پخش می کند.
با اتصال جامپر PE ماژول بعد از روشن شدن پیغام داخل حافظه را پخش می کند و بی وقفه آن را تکرار می کند تا وقتی ماژول را خاموش کنید.
این کار را با یک مثال ساده انجام می دهیم.
قصد داریم با یک سنسور مجاورت و یک میکرو کنترولر به ماژول ضبط صدا فرمان بدهیم.
مانند شکل زیر یک آردواینو و یک سنسور مجاورتی مادون قرمز را با ماژول ضبط و پخش صدا به هم متصل می کنیم.
سپس برنامه نمونه را بارگزاری کنید و نتیجه را ببینید.
در این مثال وقتی در برابر سنسور مادون قرمز قرار می گیرید فرمان رکورد کردن ارسال شده و چراغ روی برد روشن می شود و بعد از اتمام پیغام 20 ثانیه ای آن را پخش می کند
در نظر داشته باشید که با ضبط هر صدای جدید پیغام قبلی پاک می شود زیرا این ماژول فقط جای 1 پیغام را دارد.
و نکته آخر که شما می توانید با تغییر مقاومت ROSC کیفیت و مدت پیغام را تغییر دهید.
این مقاومت را می توانید به نام R4 با مقدار پیش فرض 100 کیلو اهم روی ماژول پیدا کنید.
در جدول زیر مقادیر مختلف آن را با تاثیرات آن بر روی کیفیت و زمان پیغام مشاهده می کنید.
int IR 11
int REC 8
int PLAYE 9
int PLAYL 10
int led=13;
void setup(){
pinMode(IR, INPUT);
pinMode(REC, OUTPUT);
Serial.begin(9600);
}
void loop(){
int i = digitalRead(IR);
if(i == 1) {
Serial.println("Someone's here!!");
digitalWrite(led,HIGH);
digitalWrite(REC, 1);
delay(20000);
digitalWrite(REC, 0);
digitalWrite(led,LOW);
delay(1000);
digitalWrite(PLAYE, 1);
delay(20000);
digitalWrite(PLAYE, 0);
}
}