ہیلو ، پچھلے کچھ ہفتوں کے دوران ، میں گٹار سے اپنی محبت کے ساتھ دوبارہ رابطہ قائم کرنے پر کام کر رہا ہوں۔ باکس گٹار بجانا یہ تھا کہ سیکسو فون سنبھالنے سے کچھ سال پہلے میں کیسے آرام کرتا ہوں۔ گٹار پر واپس جاکر ، 3 سال شاذ و نادر ہی ہی ایک راگ کو گونجنے کے بعد ، میں نے دوسری چیزوں کے مابین پتا چلا کہ اب مجھے نہیں معلوم تھا کہ ہر تار کی آواز کیسے آنی چاہئے ، اسے اپنے دوست کے الفاظ میں ڈالنا ، "اب میری سماعت سنائی نہیں دیتی تھی"۔ اس کے نتیجے میں ، میں کی بورڈ یا موبائل ایپ کی مدد کے بغیر گٹار ٹیون نہیں کرسکا جسے میں نے بعد میں ڈاؤن لوڈ کیا۔ ہفتوں میں کچھ دن پہلے تک چلا گیا جب مجھ میں بنانے والا حوصلہ افزا ہوگیا اور میں نے اردوینو پر مبنی گٹار ٹونر بنانے کا فیصلہ کیا ۔ آج کے ٹیوٹوریل میں ، میں آپ کو اپنے DIY ارڈینو گٹار ٹونر کی تشکیل کے بارے میں اشتراک کروں گا ۔
گٹار ٹونر کس طرح کام کرتا ہے
ہم الیکٹرانکس میں جانے سے پہلے ، تعمیر کے پیچھے اصول کو سمجھنا ضروری ہے۔ حروف تہجی کے ذریعہ 7 بڑے میوزیکل نوٹ موجود ہیں۔ اے ، بی ، سی ، ڈی ، ای ، ایف ، جی اور عام طور پر کسی اور اے کے ساتھ اختتام پذیر ہوتا ہے جو ہمیشہ پہلے اے سے اونچا ہوتا ہے۔ موسیقی میں ان نوٹوں کے متعدد ورژن پہلے اے اور آخری اے کی طرح موجود ہوتے ہیں۔ ہر ایک کو ان کی مختلف حالتوں سے اور ایک دوسرے سے آواز کی خصوصیات میں سے جس کو پچ کہا جاتا ہے سے ممتاز ہیں۔ پچ کو اونچائی یا آواز کی کمیت اور اس آواز کی تعدد سے ظاہر ہوتا ہے۔ چونکہ ان نوٹوں کی فریکوئینسی معلوم ہے ، ہمارے لئے یہ طے کرنے کے لئے کہ آیا گٹار ٹن ہے یا نہیں ، ہمیں صرف خاص تار کے نوٹ کی تعدد کو نوٹ کی اصل تعدد سے موازنہ کرنے کی ضرورت ہے جس کے تار کی نمائندگی ہوتی ہے۔
7 میوزیکل نوٹ کی تعدد یہ ہیں:
A = 27.50Hz
بی = 30.87 ہرٹج
سی = 16.35 ہرٹج
ڈی = 18.35 ہرٹج
E = 20.60 ہرٹج
F = 21.83Hz
جی = 24.50 ہرٹج
ان نوٹوں کی ہر تغیرات ہمیشہ FxM کے برابر کی چوٹی پر ہوتی ہیں جہاں F فریکوئنسی ہوتا ہے اور M غیر صفر عدد ہوتا ہے۔ اس طرح آخری اے کے لئے جو پہلے بیان ہوا ہے ، پہلے اے سے اونچے مقام پر ہے ، تعدد ہے۔
27.50 x 2 = 55 ہرٹج۔
گٹار (لیڈ / باکس گٹار) عام طور پر کھلی تار پر نوٹ ای ، اے ، ڈی ، جی ، بی ، ای نوٹ کے ذریعہ 6 تار ہوتے ہیں۔ حسب معمول ، آخری ای پہلی ای سے اونچے مقام پر ہوگا۔ ہم ان نوٹوں کی تعدد کا استعمال کرتے ہوئے گٹار کو مدنظر رکھنے میں مدد کے ل our اپنے گٹار ٹونر کو ڈیزائن کریں گے۔
گٹار کے معیاری ٹننگ کے مطابق ، ہر تار کی نوٹ اور اسی کی فریکوئنسی نیچے دیئے گئے جدول میں دکھائی گئی ہے۔
اسٹرنگز |
تعدد |
اشارے |
1 (E) |
329.63 ہرٹج |
ای 4 |
2 (B) |
246.94 ہرٹج |
بی 3 |
3 (جی) |
196.00 ہرٹج |
جی 3 |
4 (D) |
146.83 ہرٹج |
ڈی 3 |
5 (A) |
110.00 ہرٹج |
A2 |
6 (E) |
82.41 ہرٹج |
ای 2 |
منصوبے کے بہاؤ بہت آسان ہے؛ ہم گٹار کے ذریعہ پیدا کردہ صوتی سگنل کو ایک فریکوئینسی میں تبدیل کرتے ہیں پھر اس کے موازنہ کرتے ہوئے تار کی درست تعدد والی قیمت سے۔ گٹارسٹ کو ایل ای ڈی کا استعمال کرتے ہوئے مطلع کیا جاتا ہے جب قدر سے وابستہ ہوتا ہے۔
تعدد کا پتہ لگانے / تبادلوں میں 3 اہم مراحل شامل ہیں۔
- تیز کرنا
- آفسیٹنگ
- ڈیجیٹل تبادلوں کا ینالاگ (نمونے لینے)
پیدا ہونے والا صوتی سگنل Ardino's ADC کو تسلیم کرنے کے ل too بہت کمزور ہو گا لہذا ہمیں سگنل کو بڑھانے کی ضرورت ہے ۔ پرورش کے بعد ، سگنل کو تراشنے سے بچنے کے ل A ، اردوینو کے اے ڈی سی کے ذریعہ قابل شناخت حد میں سگنل رکھنے کے ل we ، ہم سگنل کی وولٹیج کو آفسیٹ کرتے ہیں۔ آفسیٹ کرنے کے بعد ، سگنل پھر اردوینو اے ڈی سی کو منتقل کیا جاتا ہے جہاں اس کا نمونہ لیا جاتا ہے اور اس آواز کی تعدد حاصل کی جاتی ہے۔
مطلوبہ اجزاء
اس منصوبے کی تعمیر کے لئے درج ذیل اجزاء ضروری ہیں۔
- اردوینو یونو x1
- LM386 x1
- کنڈینسر مائک x1
- مائکروفون / آڈیو جیک X1
- 10 ک پوٹینومیٹر x1
- O.1uf کپیسیٹر x2
- 100 ہوم مزاحم x4
- 10 ہوم مزاحم X1
- 10 اف کپیسیٹر x3
- 5 ملی میٹر پیلا ایل ای ڈی ایکس 2
- 5 ملی میٹر سبز ایل ای ڈی ایکس 1
- عام طور پر اوپن پش بٹن x6
- جمپر تاروں
- بریڈ بورڈ
اسکیمیات
نیچے گٹار ٹونر سرکٹ ڈایاگرام میں دکھائے گئے جزو کو مربوط کریں ۔
پش بٹن اوپر اور نیچے مزاحموں کے بغیر جڑے ہوئے ہیں کیونکہ بلڈ پل اپ مزاحم کاروں میں اردوینو استعمال کیا جائے گا۔ یہ یقینی بنانا ہے کہ سرکٹ جتنا ممکن ہو آسان ہے۔
گارڈار ٹونر کے لئے ارڈینو کوڈ
اس گٹار ٹونر پروجیکٹ کے کوڈ کے پیچھے الگورتھم آسان ہے۔ کسی خاص تار کو ٹیون کرنے کے لئے ، گٹارسٹ اسی پش بٹن کو دبانے کے ذریعہ تار کا انتخاب کرتا ہے اور کھلی کھلی تار کھینچتا ہے۔ آواز پروردن کے مرحلے کے ذریعہ جمع کی جاتی ہے اور ارڈینوو اے ڈی سی کو منتقل کردی جاتی ہے۔ فریکوئنسی کو ضابطہ ربط کیا جاتا ہے اور اس کا موازنہ کیا جاتا ہے۔ جب تار سے ان پٹ فریکوئنسی مخصوص تعدد سے کم ہوتی ہے ، تو اس تار کے لئے پیلے رنگ کا ایل ای ڈی میں سے ایک اشارہ ملتا ہے کہ تار کو سخت کرنا چاہئے۔ جب پیمائش کی فریکوئنسی اس تار کی مقررہ تعدد سے زیادہ ہے تو ، ایک اور ایل ای ڈی آتی ہے۔ جب تعدد اس تار کے لئے مقررہ حد میں ہوتا ہے تو گٹارسٹ کو ہدایت دینے کے لئے گرین ایل ای ڈی آتا ہے ۔
مکمل آردوینو کوڈ آخر میں دیا گیا ہے ، یہاں ہم نے مختصر طور پر کوڈ کے اہم حص explainedے کی وضاحت کی ہے۔
ہم سوئچ رکھنے کے ل an ایک صف تیار کرکے شروع کرتے ہیں۔
انٹ بٹنری = {13، 12، 11، 10، 9، 8}؛ //
اگلا ، ہم ہر ڈور کے لئے اسی تعدد کو روکنے کے لئے ایک صف تیار کرتے ہیں۔
فلوٹ فریریکری = {82.41، 110.00، 146.83، 196.00، 246.94، 329.63}؛ // ہرٹز میں
اس کے ساتھ ، ہم پھر ان پنوں کا اعلان کرتے ہیں جن میں ایل ای ڈی منسلک ہیں اور دیگر متغیرات جو ADC سے تعدد حاصل کرنے کے لئے استعمال ہوں گے۔
int lowerLed = 7؛ int HigherLed = 6؛ int justRight = 5؛ # ڈیفائن لمبائی 512 بائٹ خام ڈیٹا؛ انٹ گنتی؛
اگلا باطل سیٹ اپ () فنکشن ہے۔
یہاں ہم ہر پنوں کے لئے جس میں سوئچز جڑے ہوئے ہیں ، کے لئے آرڈینو میں داخلی پل اپ کو چالو کرکے شروع کرتے ہیں۔ جس کے بعد ہم نے پنوں کو ترتیب دیا جس پر ایل ای ڈی آؤٹ پٹ کے طور پر منسلک ہوتے ہیں اور اعداد و شمار کو ظاہر کرنے کے لئے سیریل مانیٹر لانچ کرتے ہیں۔
باطل سیٹ اپ () { for (int i = 0؛ i <= 5؛ i++) { پن موڈ (بٹنری ، INPUT_PULLUP)؛ } pinMode کا (lowerLed، پیداوار)؛ پن موڈ (اعلی درجے کی ، آؤٹ پٹ)؛ پن موڈ (justRight ، آؤٹ پٹ)؛ سیریل.بیگین (115200)؛ }
اگلا ، باطل لوپ فنکشن ہے ، ہم تعدد کا پتہ لگانے اور موازنہ کو نافذ کرتے ہیں ۔
باطل لوپ () { if (شمار <LENGTH) { گنتی ++؛ خام ڈیٹا = اینالاگ ریڈ (A0) >> 2؛ } دوسری { رقم = 0؛ pd_state = 0؛ انٹ پیریڈ = 0؛ کے لئے (میں = 0؛ میں <لین، میں + +) { // Autocorrelation sum_old = رقم؛ رقم = 0؛ (k = 0؛ k <len-i؛ k ++) رقم + = (خام ڈیٹا -128) * (خام ڈیٹا -128) / 256؛ // سیریل.پرنٹلن (مجموعہ)؛ // چوٹی کا پتہ لگانے والی ریاستی مشین اگر (pd_state == 2 && (مجموعہ جوڑ)) <= 0) { مدت = i؛ pd_state = 3؛ } اگر (pd_state == 1 && (sum> thres) && (sum-sum_old)> 0) pd_state = 2؛ اگر (! i) resh تھرش = جوڑ * 0.5؛ pd_state = 1؛ } } // فریکوئنسی ہرٹج میں شناخت ہے تو (تاڑنا> 100) { freq_per = sample_freq / مدت؛ سیریل.پرنٹلن (فریق_پر)؛ (INT s = 0؛ s <= 5؛ s ++) { اگر (ڈیجیٹلریڈ (بٹنری) == HIGH) { اگر (freq_per - freqarray <0) { ڈیجیٹل رائٹ (لوئر لیڈ ، HIGH)؛ } دوسری صورت میں اگر (freq_per - freqarray> 10) { ڈیجیٹل رائٹ (اعلی درجے کی ، HIGH)؛ } دوسری { ڈیجیٹل رائٹ (justRight ، HIGH)؛ } } } } شمار = 0؛ } }
ایک مظاہرے کی ویڈیو کے ساتھ مکمل ضابطہ ذیل میں دیا جاتا ہے. کوڈ کو اپنے اردوینو بورڈ میں اپ لوڈ کریں اور اس سے دور ہوجائیں۔