آرڈوئینو کوڈ اور ویڈیو: ISD1820 آرڈوئینو وائس ریکارڈر
ISD1820 ایک سادہ وائس ریکارڈر ماجیول ہے جو آپ کو Arduino استعمال کرتے ہوئے آڈیو ریکارڈ کرنے اور چلانے کی اجازت دیتا ہے۔ اس ٹیوٹوریل میں، آپ سیکھیں گے کہ ISD1820 کو Arduino کے ساتھ کیسے ترتیب دیا جائے تاکہ 20 سیکنڈ تک آواز ریکارڈ کی جا سکے اور حکم پر اسے چلایا جا سکے۔ یہ پروجیکٹ ان ابتدائی افراد کے لیے بہترین ہے جو Arduino کے ساتھ آڈیو پروسیسنگ کو دریافت کرنا چاہتے ہیں۔

اس پورے ٹیوٹوریل میں، آپ کو کوڈ میں استعمال ہونے والے اہم شناخت کنندگان ملیں گے، جیسے REC، PLAY_E، اور PLAY_L۔ یہ شناخت کنندگان ریکارڈنگ اور پلے بیک کے افعال کے لیے استعمال ہونے والے پنوں کے مطابق ہیں۔ مزید برآں، فراہم کردہ کوڈ سنیپٹس اس پروجیکٹ کے پیچھے پروگرامنگ منطق کو واضح کرنے میں مدد کریں گے۔ مزید تفصیلی وضاحت کے لیے، ویڈیو کو ضرور دیکھیں (ویڈیو میں 00:00 پر)۔
ہارڈویئر کی وضاحت
اس پروجیکٹ کا مرکزی جزو ISD1820 وائس ریکارڈر ماجیول ہے، جو 20 سیکنڈ تک آڈیو ریکارڈ کر سکتا ہے۔ اس میں ریکارڈنگ، پلے بیک، اور فیڈ تھرو کے افعال کو کنٹرول کرنے کے لیے کئی پن موجود ہیں۔ ماجیول 3V سے 4.5V کی سپلائی وولٹیج پر کام کرتا ہے، جو اسے زیادہ تر Arduino بورڈز کے ساتھ مطابقت رکھتا ہے۔
ISD1820 ماجیول کے علاوہ، آپ کو ایک Arduino بورڈ، ایک اسپیکر، اور ایک مائیکروفون کی ضرورت ہوگی۔ Arduino ڈیجیٹل پنوں کے ذریعے ریکارڈنگ اور پلے بیک کے افعال کو کنٹرول کرے گا۔ ماجیول کا آپریشن سیدھا ہے: جب ریکارڈ پن کو ہائی سیٹ کیا جاتا ہے تو یہ آڈیو ریکارڈ کرتا ہے اور جب پلے بیک پن فعال ہوتے ہیں تو آڈیو چلاتا ہے۔
ڈیٹاشیٹ کی تفصیلات
| مینوفیکچرر | ISD1820 |
|---|---|
| پارٹ نمبر | ISD1820 |
| لاجک/IO وولٹیج | 3.3 V عام |
| سپلائی وولٹیج | 3.0 V سے 4.5 V |
| آئیڈل کرنٹ | 0.5 µA عام |
| آپریٹنگ کرنٹ | 30 mA زیادہ سے زیادہ |
| ریکارڈنگ کا وقت | 20 سیکنڈ زیادہ سے زیادہ |
| پلے بیک کا وقت | 20 سیکنڈ زیادہ سے زیادہ |
| پیکیج | 8-DIP |
- ماجیول کو نقصان پہنچانے سے بچنے کے لیے سپلائی وولٹیج 3.0 V اور 4.5 V کے درمیان یقینی بنائیں۔
- محفوظ انٹرفیسنگ کے لیے 5V Arduino سگنل کو 3.3V لاجک لیول پر منتقل کرنے کے لیے ریزسٹر استعمال کریں۔
- کرنٹ کی کھپت کی نگرانی کریں؛ ماجیول آپریشن کے دوران 30 mA تک کھینچ سکتا ہے۔
- پلے بیک کے لیے آڈیو آؤٹ پٹ پر کم پاور والا اسپیکر (0.5 W) جوڑیں۔
- ماجیول مختلف ریکارڈنگ لمبائیوں کو سپورٹ کرتا ہے؛ اپنی ضروریات کے مطابق وقت کو ایڈجسٹ کریں۔
وائرنگ کی ہدایات

ISD1820 کو اپنے Arduino سے جوڑنے کے لیے، ماجیول کے VCC پن کو Arduino پر 3.3V آؤٹ پٹ سے جوڑ کر شروع کریں۔ اگلا، ماجیول کے GND پن کو Arduino کے کسی ایک گراؤنڈ پن سے جوڑیں۔ کنٹرول پنوں کے لیے، ماجیول کے REC پن کو Arduino پن 2 سے، PLAY_E کو پن 3 سے، PLAY_L کو پن 4 سے، اور FT کو پن 5 سے جوڑیں۔
چونکہ Arduino 5V پر کام کرتا ہے، آپ کو کنٹرول پنوں کو محفوظ طریقے سے جوڑنے کے لیے وولٹیج ڈیوائیڈر استعمال کرنے کی ضرورت ہوگی۔ مثال کے طور پر، Arduino کے پن سے ماجیول کے کنٹرول پن تک 5 kΩ ریزسٹر جوڑیں، اور پھر ماجیول کے کنٹرول پن سے گراؤنڈ تک 3.3 kΩ ریزسٹر جوڑیں۔ اس عمل کو کسی بھی اضافی کنٹرول پن کے لیے دہرائیں تاکہ یہ یقینی بنایا جا سکے کہ انہیں صحیح وولٹیج کی سطح ملے۔
کوڈ کی مثالیں اور واک تھرو
درج ذیل کوڈ سنیپٹ ریکارڈنگ اور پلے بیک کے لیے استعمال ہونے والے پنوں کی وضاحت کرتا ہے۔ یہ آپ کو ہارڈ کوڈڈ اقدار استعمال کرنے کے بجائے اپنے کوڈ میں ان پنوں کو آسانی سے حوالہ دینے کی اجازت دیتا ہے۔
#define REC 2 // پن 2 ریکارڈنگ کے لیے استعمال ہوتا ہے
#define PLAY_E 3 // پن 3 پلے بیک-ایج ٹرگر کے لیے استعمال ہوتا ہے
#define PLAY_L 4 // پن 4 پلے بیک کے لیے استعمال ہوتا ہے
سیٹ اپ فنکشن میں، ہم پنوں کو آؤٹ پٹ کے طور پر ابتدائی کرتے ہیں۔ یہ یقینی بناتا ہے کہ Arduino ISD1820 ماجیول کو مؤثر طریقے سے کنٹرول کر سکتا ہے۔
void setup()
{
pinMode(REC, OUTPUT); // REC پن کو آؤٹ پٹ کے طور پر سیٹ کریں
pinMode(PLAY_L, OUTPUT); // PLAY_L پن کو آؤٹ پٹ کے طور پر سیٹ کریں
pinMode(PLAY_E, OUTPUT); // PLAY_E پن کو آؤٹ پٹ کے طور پر سیٹ کریں
}
مرکزی لوپ سیریل مانیٹر سے صارف کے ان پٹ کی جانچ کرتا ہے۔ موصول ہونے والے کردار کے لحاظ سے، یہ مناسب کارروائیاں متحرک کرے گا، جیسے آڈیو ریکارڈ کرنا یا چلانا۔
void loop() {
while (Serial.available() > 0) {
char inChar = (char)Serial.read();
if (inChar == 'p' || inChar == 'P') {
digitalWrite(PLAY_E, HIGH); // پلے بیک شروع کریں
delay(50);
digitalWrite(PLAY_E, LOW); // پلے بیک روکیں
}
}
یہ مشروط ڈھانچہ صارف کے ان پٹ کی بنیاد پر ISD1820 کے لچکدار کنٹرول کی اجازت دیتا ہے، جس سے ضرورت کے مطابق آڈیو ریکارڈ کرنا اور چلانا آسان ہو جاتا ہے۔ مزید تفصیلات کے لیے، مکمل کوڈ مضمون کے نیچے لوڈ ہوتا ہے۔
ڈیمونسٹریشن / کیا توقع کریں
ایک بار جب سب کچھ ترتیب دیا جائے اور کوڈ اپ لوڈ ہو جائے، تو آپ سیریل مانیٹر کے ذریعے r کمانڈ بھیج کر آڈیو ریکارڈ کر سکیں گے اور p کمانڈ استعمال کر کے پلے بیک کر سکیں گے۔ متوقع رویے میں سیریل مانیٹر میں ایک ردعمل شامل ہے جو اشارہ کرتا ہے کہ ریکارڈنگ کب شروع اور رکتی ہے، نیز پلے بیک کب شروع اور ختم ہوتا ہے۔ کوڈ میں سیٹ کردہ وقت کو ذہن میں رکھیں؛ مثال کے طور پر، ریکارڈنگ 3 سیکنڈ کے لیے سیٹ ہے، اور پلے بیک 5 سیکنڈ کے لیے (ویڈیو میں 05:00 پر)۔
/*
* ISD1820 Arduino Voice Recorder
* to record and playback sound using Arduino and ISD1820 Sound Recorder
* Watch the video https://youtu.be/IfK8z_o5vbk
* get this code from https://robojax.com
* Get this code and other Arduino codes from Robojax.com/RJT58
Learn Arduino step by step in a structured course with all material, wiring diagrams, and libraries
all in one place.
/*
* ISD1820 Arduino Voice Recorder
* Code Written by Ahmad Shamshiri for Robojax.com
* on Jan 04, 2018 at 08:57, in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
*/
#define REC 2 // pin 2 is used for recording
#define PLAY_E 3 // pin 3 , P-E is used for playback-edge trigger
// when PLAY_E goes HIGH, playback STARTS and continues
// ISD1820 Arduino Voice Recorder for Robojax.com
#define PLAY_L 4 // pin 4 , P-Lis used for playback
// when PLAY_L is HIGH, it will playback. As soon as it goes LOW, playback STOPS
// So you have to keep it HIGH to keep playing
#define FT 5 // pin 5 is used for feed through
// if the SPI (speaker) pin is used to send audio to another device,
// set FT to high and any audio from the microphone will pass through the SPI connector
// and will NOT record
#define playTime 5000 // playback time 5 seconds
#define recordTime 3000 // recording time 3 seconds
#define playLTime 900 // press and release playback time 0.9 seconds
void setup()
{
// ISD1820 Arduino Voice Recorder for Robojax.com
pinMode(REC,OUTPUT);// set the REC pin as output
pinMode(PLAY_L,OUTPUT);// set the PLAY_L pin as output
pinMode(PLAY_E,OUTPUT);// set the PLAY_e pin as output
pinMode(FT,OUTPUT);// set the FT pin as output
Serial.begin(9600);// set up Serial monitor
}
void loop() {
// ISD1820 Arduino Voice Recorder for Robojax.com
while (Serial.available() > 0) {
char inChar = (char)Serial.read();
if(inChar =='p' || inChar =='P'){
digitalWrite(PLAY_E, HIGH);
delay(50);
digitalWrite(PLAY_E, LOW);
Serial.println("Playback Started");
delay(playTime);
Serial.println("Playback Ended");
break;
}// if
else if(inChar =='r' || inChar =='R'){
digitalWrite(REC, HIGH);
Serial.println("Recording started");
delay(recordTime);
digitalWrite(REC, LOW);
Serial.println("Recording Stopped ");
}
else if(inChar =='l' || inChar =='L'){
digitalWrite(PLAY_L, HIGH);
Serial.println("Playback L Started");
delay(playLTime);
digitalWrite(PLAY_L, LOW);
Serial.println("Playback L Ended");
}
// ISD1820 Arduino Voice Recorder for Robojax.com
Serial.println("**** Serial Monitor Exited");
}// wihile
Serial.println("**** Enter r to record, p to play");
delay(500);
}
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ایمیزون
-
ای بےISD1820 voice recorder from eBayebay.us
-
علی ایکسپریسISD1820 voice recorder from AliExpresss.click.aliexpress.com
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
فریٹزنگ فائل
-
ISD1820 voice recorder module
ISD1820-module.fzpz0.01 MB