সুচিপত্র:

Arduino হয়ে ওঠে টকিং টম: 6 টি ধাপ
Arduino হয়ে ওঠে টকিং টম: 6 টি ধাপ

ভিডিও: Arduino হয়ে ওঠে টকিং টম: 6 টি ধাপ

ভিডিও: Arduino হয়ে ওঠে টকিং টম: 6 টি ধাপ
ভিডিও: #SanTenChan নিনো ফ্রাসিকা দ্বিতীয় পর্বের সানি গেসুয়ালদির বই থেকে কিছু বামন পাঠ করেছেন! 2024, জুলাই
Anonim
Arduino হয়ে ওঠে টকিং টম
Arduino হয়ে ওঠে টকিং টম
Arduino হয়ে ওঠে টকিং টম
Arduino হয়ে ওঠে টকিং টম

স্মার্টফোন ব্যবহারের আমার পুরনো স্মৃতিগুলির মধ্যে একটি হল 'টকিং টম' গেম খেলা। খেলাটি বেশ সহজ ছিল। টম নামে একটি বিড়াল আছে, যা কথা বলতে পারে। গেমটিতে, টম ফোনের মাইকের মাধ্যমে যেকোন ইনপুট শুনতেন এবং তারপর যা শুনতেন তা পুনরাবৃত্তি করতেন। সুতরাং, টমকে যা -ই বলুন না কেন, এটি ঠিক একই জিনিসকে তার নিজস্ব কণ্ঠস্বরে পুনরাবৃত্তি করবে।

যদিও এটি সহজ শোনায়, এই পুরো পদ্ধতির জন্য অনেক জটিল ধাপের প্রয়োজন হয় যেমন ডিজিটাল আকারে মাইক এনালগ ইনপুট স্যাম্পল করা, টমকে তার অনন্য কণ্ঠ দেওয়ার জন্য অডিও ম্যানিপুলেট করা এবং তারপর স্পিকারের মাধ্যমে এটি চালানোর জন্য সেই সমস্ত ডিজিটাল মান থেকে সংকেত পুনর্গঠন করা । এই সমস্ত জটিল ধাপ, কিন্তু স্মার্টফোনটি এটিকে 9 থেকে 10 বছর আগেও একটি আকর্ষণের মতো পরিচালনা করেছিল!

মজার বিষয় হল একটি সস্তা মাইক্রোকন্ট্রোলার ভিত্তিক Arduino বোর্ডের সাথে একই কাজ করা যায় কিনা তা দেখতে হবে। সুতরাং, এই নির্দেশে আমি দেখাবো কিভাবে আপনি একটি Arduino এবং অন্য কিছু সস্তা ইলেকট্রনিক্স থেকে একটি সহজ টকিং টম প্রকল্প তৈরি করতে পারেন।

এই নির্দেশিকা দিল্লির হ্যাচনহ্যাক মেকারস্পেসের সহযোগিতায় লেখা হয়েছিল

দ্রষ্টব্য: এই নির্দেশযোগ্য প্রকল্পটির প্রথম সংস্করণ যা টকিং টমের 'কথা বলা' বৈশিষ্ট্যটি সম্পূর্ণ করে যেখানে arduino আপনি যা বলবেন তা পুনরাবৃত্তি করতে সক্ষম হবে। ভয়েস পরিবর্তনের অংশটি ভবিষ্যতের সংস্করণে আচ্ছাদিত হবে, যদিও, আরডুইনো -এর নির্মিত এডিসির কম রেজোলিউশনের কারণে রেকর্ড করা অডিও ইতিমধ্যেই কিছুটা ভিন্ন শোনাচ্ছে: P (এটি প্রকল্প ভিডিওতে স্পষ্টভাবে লক্ষ্য করা যায়)।

সুতরাং শুরু করি!

ধাপ 1: ব্যবহৃত উপকরণ

ব্যবহৃত উপকরণ
ব্যবহৃত উপকরণ
ব্যবহৃত উপকরণ
ব্যবহৃত উপকরণ
ব্যবহৃত উপকরণ
ব্যবহৃত উপকরণ

হার্ডওয়্যার:

  • একজন আরডুইনো ইউএনও
  • নিয়মিত লাভের সাথে MAX4466 মাইক্রোফোন মডিউল
  • এসপিআই ভিত্তিক এসডি কার্ড রিডার মডিউল
  • এসডি কার্ড
  • পিসি স্পিকার, PAM8403 পরিবর্ধক মডিউল ইত্যাদি অডিও পরিবর্ধক।
  • অ্যাম্প্লিফায়ারের সাথে সংযোগের জন্য স্পিকার
  • মহিলা অডিও জ্যাক
  • 1 x 1k ওহম প্রতিরোধক
  • 2 x 10k ওহম প্রতিরোধক
  • 1 x 10uF ক্যাপাসিটর
  • 2 x পুশ বোতাম
  • জাম্পার তার

সফটওয়্যার:

  • Arduino IDE
  • ধৃষ্টতা (alচ্ছিক)
  • Arduino এর জন্য TMRpcm এবং SD গ্রন্থাগার

ধাপ 2: প্রকল্পের একটি মৌলিক ওভারভিউ

প্রকল্পের প্রধানত 2 টি বৈশিষ্ট্য রয়েছে:

  • এটি সাউন্ড ইফেক্ট ইত্যাদির জন্য এসডি কার্ডে প্রাক-ইনস্টল করা অডিও ফাইলের একটি সেট থেকে এলোমেলোভাবে নির্বাচিত অডিও চালাতে পারে।
  • এটি মাইক্রোফোন থেকে সাউন্ড ইনপুট রেকর্ড করতে পারে এবং তারপর রেকর্ডিং বন্ধ হওয়ার সাথে সাথে এটি আবার চালাতে পারে। এটি আরডুইনোকে মাইকের মাধ্যমে যা শুনেছে তা পুনরাবৃত্তি করতে দেয়।

প্রকল্পের ইউজার ইন্টারফেস প্রধানত 2 টি পুশ বোতাম নিয়ে গঠিত যার প্রতিটি উপরের বৈশিষ্ট্যগুলির একটির সাথে মিলে যায়।

এসডি কার্ড থেকে অডিও ফাইল রেকর্ডিং এবং প্লে করার প্রধান পরিশ্রম টিএমআরপিসিএম লাইব্রেরি দ্বারা পরিচালিত হয়।

অডিও রেকর্ডিং MAX4466 মাইক মডিউল, arduino এর অভ্যন্তরীণ ADC এবং TMRpcm লাইব্রেরি ব্যবহার করে অডিও নমুনা করে এবং তারপর সাময়িকভাবে এটি SD কার্ডে প্লেব্যাকের জন্য '.wav' ফাইল হিসাবে সংরক্ষণ করে। '.wav' অডিও ফাইলগুলি ডিজিটাল ফরম্যাটে অডিও ডেটা সংরক্ষণ করতে PCM (পালস কোড মডুলেশন) ব্যবহার করে যাতে এটি আবার সহজেই চালানো যায়। সাধারণত, অডিও ভিত্তিক প্রকল্পের জন্য একটি বাহ্যিক ADC ব্যবহার করা ভাল কারণ Arduino এর ADC এর রেজোলিউশন এত বেশি নয় কিন্তু এটি এই প্রকল্পের জন্য কাজ করে।

TMRpcm লাইব্রেরির সাহায্যে অডিও ফাইলগুলি (প্রাক-ইনস্টল করা এবং রেকর্ড করা) প্লে করা হয় যা Arduino এর PWM সক্ষম পিন থেকে PWM সংকেত হিসাবে অডিও আউটপুট করে। এই সিগন্যালটি তখন একটি আরসি ফিল্টারে খাওয়ানো হয় যাতে এনালগ সিগন্যাল পাওয়া যায় যা পরে স্পিকারের মাধ্যমে অডিও চালানোর জন্য একটি এম্প্লিফায়ারে খাওয়ানো হয়। এই অংশের জন্য আপনি একটি বহিরাগত DAC ব্যবহার করতে পারেন কারণ arduino এর অভ্যন্তরীণভাবে নেই। একটি DAC ব্যবহার করা একটি ভাল বিকল্প হতে পারে কারণ এটি উল্লেখযোগ্যভাবে অডিও মানের উন্নতি করবে।

এসডি কার্ড মডিউল এবং আরডুইনো এর মধ্যে যোগাযোগ SPI (সিরিয়াল পেরিফেরাল ইন্টারফেস) এর মাধ্যমে করা হয়। কোড, এসডি কার্ডের বিষয়বস্তু সহজেই অ্যাক্সেস করতে এসডি এবং এসপিআই লাইব্রেরি ব্যবহার করে।

ধাপ 3: এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন

এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
এসডি কার্ড প্রস্তুত করুন এবং এসডি কার্ড মডিউল সংযুক্ত করুন
  • প্রথমে আপনাকে FAT16 বা FAT32 ফাইল সিস্টেমের সাথে SD কার্ড হিসেবে ফরম্যাট করতে হবে (SD কার্ড ফরম্যাট করতে আপনি আপনার স্মার্টফোন ব্যবহার করতে পারেন)।
  • এখন এসডি কার্ডে কিছু.wav অডিও ফাইল প্রাক-ইনস্টল করুন। আপনি অডাসিটি দিয়ে.wav ফাইল তৈরি করতে পারেন (নীচের নির্দেশাবলী দেখুন)। ফাইলগুলির নাম মনে রাখবেন audio_1.wav, audio_2.wav, audio_3.wav ইত্যাদি।

SD কার্ড মডিউল arduino এর সাথে তথ্য যোগাযোগের জন্য SPI ব্যবহার করে। অতএব, এটি কেবল সেই পিনগুলির সাথে সংযোগ স্থাপন করে যাদের এসপিআই সক্ষম আছে। এই সংযোগগুলি নিম্নরূপ:

  • Vcc - 5v
  • GND - GND
  • MOSI (মাস্টার আউট স্লেভ ইন) - পিন 11
  • MISO (মাস্টার ইন স্লেভ আউট) - 12 পিন
  • CLK (ঘড়ি) - পিন 13
  • এসএস/সিএস (স্লেভ সিলেক্ট/চিপ সিলেক্ট) - পিন 10

অডাসিটি সফটওয়্যার দিয়ে '.wav' ফাইল তৈরি করা হচ্ছে:

  • অডাসিটিতে আপনি যে অডিও ফাইলটি.wav এ রূপান্তর করতে চান তা খুলুন।
  • ফাইলের নামে ক্লিক করুন এবং তারপরে 'স্প্লিট স্টেরিও টু মনো' নির্বাচন করুন। এই বিকল্পটি স্টেরিও অডিওকে দুটি মনো চ্যানেলে বিভক্ত করে। আপনি এখন একটি চ্যানেল বন্ধ করতে পারেন।
  • নীচে 'প্রকল্প হার' মান পরিবর্তন করে 16000 Hz করুন। এই মানটি arduino এর অভ্যন্তরীণ ADC এর সর্বাধিক নমুনা ফ্রিকোয়েন্সি সম্পর্কিত।
  • এখন ফাইল-> রপ্তানি/রপ্তানি WAV হিসাবে পেয়েছি।
  • ফাইলের উপযুক্ত অবস্থান এবং নাম নির্বাচন করুন। এনকোডিং মেনু থেকে 'স্বাক্ষরবিহীন 8-বিট পিসিএম' নির্বাচন করুন কারণ আমরা ডিজিটাল ফরম্যাটে অডিও সংরক্ষণের জন্য পিসিএম ফরম্যাট ব্যবহার করছি।

ধাপ 4: অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন

অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন
অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন
অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন
অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন
অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন
অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন
অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন
অডিও আউটপুট এবং মাইক্রোফোন সংযুক্ত করুন

মাইক্রোফোন সংযুক্ত করা হচ্ছে:

  • Vcc - 3.3v
  • GND - GND
  • আউট - A0 পিন

বিঃদ্রঃ:

  • মাইক্রোফোনটি ব্রেডবোর্ড ব্যবহার না করে সরাসরি আরডুইনোতে সংযুক্ত করার চেষ্টা করুন কারণ এটি ইনপুট সিগন্যালে অপ্রয়োজনীয় শব্দ সৃষ্টি করতে পারে।
  • মাইক্রোফোন মডিউলে হেডারগুলি পরিষ্কারভাবে সোল্ডার করা নিশ্চিত করুন কারণ খারাপ সোল্ডার জয়েন্টগুলিও শব্দ তৈরি করে।
  • এই মাইক্রোফোন মডিউলটিতে অ্যাডজাস্টেবল লাভ রয়েছে যা বোর্ডের পিছনের অংশে একটি পাত্রের সাহায্যে নিয়ন্ত্রণ করা যায়। আমি আপনাকে উপার্জন কিছুটা কম রাখার পরামর্শ দেব কারণ এটি আপনার মুখের কাছাকাছি রেখে কথা বলতে পারলে শব্দটি খুব বেশি বাড়িয়ে তুলবে না যার ফলে পরিষ্কার আউটপুট হবে।

অডিও আউটপুট সংযুক্ত করা হচ্ছে:

  • প্রতিরোধকের সাথে সংযুক্ত ক্যাপাসিটরের ধনাত্মক সহ 10 ইউএফ ক্যাপাসিটর এবং 1 কে ওম প্রতিরোধককে ব্রেডবোর্ডে সিরিজের মধ্যে রাখুন। এগুলি একত্রে একটি আরসি ফিল্টার তৈরি করে যা পিডব্লিউএম আউটপুটকে এনালগ সিগন্যালে রূপান্তর করে যা এম্প্লিফায়ারে খাওয়ানো যায়।
  • Arduino এর পিন 9 কে প্রতিরোধকের অন্য প্রান্তে সংযুক্ত করুন।
  • ক্যাপাসিটরের নেগেটিভ টার্মিনাল মহিলা অডিও জ্যাকের বাম এবং ডান চ্যানেলের সাথে সংযুক্ত হয়।
  • অডিও জ্যাকের GND GND এর সাথে সংযুক্ত হয়।
  • অডিও জ্যাক একটি অক্স কেবল দিয়ে এম্প্লিফায়ারের সাথে সংযুক্ত। আমার ক্ষেত্রে আমি আমার পিসির স্পিকার সিস্টেম ব্যবহার করেছি।

বিঃদ্রঃ:

PWM কে অডিও আউটপুট হিসেবে ব্যবহার করা সবচেয়ে ভালো বিকল্প নাও হতে পারে কারণ বাহ্যিক DAC অনেক ভালো রেজোলিউশন এবং গুণমান প্রদান করবে। উপরন্তু, আরসি ফিল্টারে ক্যাপাসিটর এবং প্রতিরোধক অবাঞ্ছিত শব্দ সৃষ্টি করতে পারে। কিন্তু এখনও এই প্রকল্পের জন্য আউটপুট বেশ শালীন ছিল।

ধাপ 5: বোতামগুলি ওয়্যার আপ করুন

ওয়্যার আপ দ্য বোতাম
ওয়্যার আপ দ্য বোতাম
ওয়্যার আপ দ্য বোতাম
ওয়্যার আপ দ্য বোতাম
ওয়্যার আপ দ্য বোতাম
ওয়্যার আপ দ্য বোতাম

প্রকল্পটি ব্যবহারকারী ইন্টারফেস হিসাবে বোতামগুলি ধাক্কা দেওয়ার জন্য ব্যবহার করে। উভয়ই বিভিন্ন ফাংশন সম্পাদন করে এবং ভিন্নভাবে ব্যবহৃত হয় কিন্তু একই ওয়্যারিং রয়েছে। তাদের সংযোগ নিম্নরূপ:

  • রুটিবোর্ডে বোতামগুলি রাখুন।
  • 10k ওহম টান ডাউন রেসিস্টারের সাথে arduino এর 2 টি পিন করার জন্য একটি বাটনের একটি টার্মিনাল সংযুক্ত করুন। বোতামের অন্য টার্মিনাল 5v এর সাথে সংযুক্ত হয়। সুতরাং, যখন বোতামটি চাপানো হয় তখন পিন 2 উচ্চ হয় এবং আমরা কোডে এটি সনাক্ত করতে পারি।
  • অন্য বোতামটি 2 এর পরিবর্তে arduino এর পিন 3 এর সাথে সংযুক্ত হয়।

পিন 2 এর সাথে সংযুক্ত বোতামটি এসডি কার্ডে আগে থেকে ইনস্টল করা অডিও ফাইলের সেট থেকে একটি র্যান্ডম অডিও ফাইল চালায় যখন এটি একবার চাপলে।

পিন 3 এর সাথে সংযুক্ত বোতামটি রেকর্ডিংয়ের জন্য। রেকর্ডিংয়ের জন্য আপনাকে এই বোতাম টিপে ধরে রাখতে হবে। এই বাটনটি চাপার সাথে সাথে আরডুইনো রেকর্ডিং শুরু করে এবং এই বোতামটি রিলিজ হয়ে গেলে রেকর্ডিং বন্ধ করে দেয়। রেকর্ডিং বন্ধ করার পরে, এটি অবিলম্বে সেই রেকর্ডিং পুনরায় চালায়।

ধাপ 6: কোড আপলোড করুন

কোড আপলোড করুন
কোড আপলোড করুন
কোড আপলোড করুন
কোড আপলোড করুন
কোড আপলোড করুন
কোড আপলোড করুন

কোড আপলোড করার আগে, নিশ্চিত করুন যে আপনি TMRpcm, SD ইত্যাদি সমস্ত প্রয়োজনীয় লাইব্রেরি ইনস্টল করেছেন।

আরডুইনো কী করছে তার প্রতিক্রিয়া পেতে কোড আপলোড করার পরে আপনি সিরিয়াল মনিটরও খুলতে পারেন।

বর্তমানে কোডটি রেকর্ড করা অডিওকে অন্যরকম শব্দ করার জন্য হেরফের করছে না কিন্তু আমি এই বৈশিষ্ট্যটি পরবর্তী সংস্করণে অন্তর্ভুক্ত করার পরিকল্পনা করছি যেখানে আপনি পটের সাহায্যে অডিও সিগন্যালের আউটপুট ফ্রিকোয়েন্সি সেট করতে পারবেন এবং বিভিন্ন ধরনের শব্দ পেতে পারেন ।

এবং আপনি সম্পন্ন !!

প্রস্তাবিত: