Arduino এর সাথে DFMini Player MP3 মডিউল কিভাবে ব্যবহার করবেন: 4 টি ধাপ
Arduino এর সাথে DFMini Player MP3 মডিউল কিভাবে ব্যবহার করবেন: 4 টি ধাপ
Anonim
Arduino এর সাথে DFMini Player MP3 মডিউল কিভাবে ব্যবহার করবেন
Arduino এর সাথে DFMini Player MP3 মডিউল কিভাবে ব্যবহার করবেন

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

এই সমস্ত সিস্টেমে, আমাদের আরডুইনোতে সংযোগের জন্য একটি এমপি 3 সাউন্ড প্রজনন ডিভাইস প্রয়োজন। অতএব, এই নিবন্ধে আমরা নিম্নলিখিত বিষয়গুলি শিখব: DFMini Player MP3 এর বেসিক অপারেটিং সার্কিট; মেমরি কার্ডে সাউন্ড ফাইলের সংগঠন এবং কনফিগারেশন; Arduino এর সাথে সঙ্গীত নিয়ন্ত্রণ।

সরবরাহ

PCBWay কাস্টম PCB;

DFPlayer মিনি MP3 মডিউল - UTSOURCE;

10kR প্রতিরোধক - UTSOURCE;

সুইচ বোতাম - UTSOURCE;

ব্রেডবোর্ড - UTSOURCE;

Arduino UNO - UTSOURCE;

হেডার পিন - UTSOURCE;

ধাপ 1: ডিএফ মিনি প্লেয়ার MP3 মডিউল কি

ডিএফ মিনি প্লেয়ার এমপি 3 মডিউল কি
ডিএফ মিনি প্লেয়ার এমপি 3 মডিউল কি
ডিএফ মিনি প্লেয়ার এমপি 3 মডিউল কি
ডিএফ মিনি প্লেয়ার এমপি 3 মডিউল কি

DFMini Player মডিউল হল একটি ছোট মিউজিক প্লেয়ার, লো -কস্ট এবং লো পাওয়ার যার মেমোরি কার্ডে সংরক্ষিত শব্দ পুনরুত্পাদন করার উদ্দেশ্য রয়েছে।

এর উপর ভিত্তি করে, মডিউলটি স্বতন্ত্র মোডের মাধ্যমে নিয়ন্ত্রিত হতে পারে, অর্থাৎ এই মোডে কেবলমাত্র DFMini মডিউল, একটি ব্যাটারি থেকে পাওয়ার, স্পিকার, এটি নিয়ন্ত্রণ করার বোতাম এবং গানগুলির সাথে এসডি কার্ড থাকবে। এটি নিয়ন্ত্রণ করার আরেকটি উপায় হল একটি Arduino বা অন্য একটি নিয়ন্ত্রণ যন্ত্র ব্যবহার করা।

উদাহরণস্বরূপ, Arduino, DFMini Player মডিউলের সাথে সিরিয়াল যোগাযোগের মাধ্যমে কমান্ড পাঠাবে। DFMini Player মডিউল চিত্র 1 এ দেখানো হয়েছে।

এটি নিয়ন্ত্রণ করার জন্য, মৌলিক স্বতন্ত্র সার্কিট ব্যবহার করা গুরুত্বপূর্ণ। এই সার্কিটটি চিত্র 2 এ দেখানো হয়েছে।

উপরের সার্কিটে দেখানো দুটি বোতাম মিউজিক ট্র্যাক পরিবর্তন করতে এবং সাউন্ডের ভলিউম নিয়ন্ত্রণ করতে ব্যবহৃত হয়। দ্রুত স্পর্শ দিয়ে সিস্টেমটি আগের গানে ফিরে আসে, তবে, যদি আপনি 1 সেকেন্ডের বেশি সময় ধরে বোতাম টিপেন, তাহলে সিস্টেমটি গানের ভলিউম কমিয়ে দেবে।

IO2 পিনের সাথে সংযুক্ত বোতামটি পরবর্তী ট্র্যাকটিতে যেতে এবং ভলিউম বাড়াতে ব্যবহৃত হয়। একটি দ্রুত স্পর্শ দিয়ে সিস্টেম পরবর্তী গানে অগ্রসর হয়, তবে, যদি আপনি 1 সেকেন্ডের বেশি সময় ধরে বোতাম টিপেন, তাহলে সিস্টেমটি গানের ভলিউম বাড়িয়ে দেবে।

ধাপ ২:

ছবি
ছবি

এই স্বতন্ত্র পদ্ধতিতে, গানগুলি মেমরি কার্ডে সংরক্ষণ করতে হবে, যেমন চিত্র 3 এ দেখানো হয়েছে।

এইভাবে, প্রতিবার বোতাম টিপলে, সিস্টেম প্রতিটি গানকে আরোহী বা অবরোহী ক্রমে বাজাবে। যাইহোক, Arduino বা অন্য নিয়ন্ত্রণ ডিভাইস ব্যবহার করার সময়, আমাদের অবশ্যই SD কার্ডে বাদ্যযন্ত্রের ফাইলগুলি সংগঠিত করার পদ্ধতি পরিবর্তন করতে হবে।

এখন, আমি ব্যাখ্যা করব কিভাবে সিরিয়াল যোগাযোগের মাধ্যমে Arduino ব্যবহার করে DFMini প্লেয়ারকে নিয়ন্ত্রণ করা যায়।

ধাপ 3: Arduino এর সাথে DFMini প্লেয়ার নিয়ন্ত্রণ করা

Arduino এর সাথে DFMini প্লেয়ার নিয়ন্ত্রণ করা
Arduino এর সাথে DFMini প্লেয়ার নিয়ন্ত্রণ করা
Arduino এর সাথে DFMini প্লেয়ার নিয়ন্ত্রণ করা
Arduino এর সাথে DFMini প্লেয়ার নিয়ন্ত্রণ করা

এই ধাপে, ভলিউম নিয়ন্ত্রণ, পরিসীমা নিয়ন্ত্রণ, সমীকরণ কমান্ড এবং অন্যান্য বৈশিষ্ট্যগুলি Arduino দ্বারা পাঠানো হবে।

Arduino অবশ্যই DFMini Player এর সাথে সিরিয়ালের মাধ্যমে যোগাযোগ করবে এবং কন্ট্রোল কমান্ড পাঠাবে।

কন্ট্রোল সার্কিটের ইলেকট্রনিক স্কিম চিত্র 4 এ দেখানো হয়েছে।

প্রথমে আমাদের নিচের চিত্রে দেখানো সার্কিট একত্রিত করতে হবে। এই ধাপে, গানগুলির নামকরণ করা উচিত 01, 02, 03, উদাহরণস্বরূপ।

আপনি তাদের নামের সাথে গানগুলি ছেড়ে যেতে পারবেন না, কারণ যখন Arduino নির্দিষ্ট ট্র্যাকটি চালানোর জন্য কমান্ড পাঠাবে তখন সমস্যা হবে। অতএব, আপনাকে নীচে দেখানো হিসাবে কনফিগার করতে হবে।

ধাপ 4:

ফাইলগুলির নাম দেওয়ার পরে, আপনার আরডুইনোতে নিম্নলিখিত কোডটি লিখুন।

// সিরিয়াল সময় (Serial.available ()> 0) {command = Serial.read (); যদি ((কমান্ড> = '1') && (কমান্ড <= '9')) {সিরিয়াল.প্রিন্ট ("সঙ্গীত প্রজনন"); Serial.println (কমান্ড); কমান্ড = কমান্ড - 48; myDFPlayer.play (কমান্ড); menu_opcoes (); } // প্রজনন // বন্ধ করুন যদি (কমান্ড == 's') {myDFPlayer.stop (); Serial.println ("সঙ্গীত বন্ধ!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; যদি (pausa == 0) {Serial.println ("Continue…"); myDFPlayer.start (); } যদি (pausa == 1) {Serial.println ("সঙ্গীত বিরাম!"); myDFPlayer.pause (); } menu_opcoes (); }

// ভলিউম বাড়ায়

যদি (কমান্ড == '+') {myDFPlayer.volumeUp (); সিরিয়াল.প্রিন্ট ("বর্তমান ভলিউম:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } যদি (কমান্ড == '') {myDFPlayer.next (); Serial.println ("পরবর্তী:"); সিরিয়াল.প্রিন্ট ("বর্তমান ট্র্যাক:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // ভলিউম হ্রাস করে যদি (কমান্ড == '-') {myDFPlayer.volumeDown (); সিরিয়াল.প্রিন্ট ("বর্তমান ভলিউম:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} অকার্যকর menu_opcoes () {Serial.println (); Serial.println (F ("=================================================== ======================================================== ========================================= ""); Serial.println (F ("কমান্ড:")); Serial.println (F ("

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

বাদ্যযন্ত্র নিয়ন্ত্রণ Arduino IDE সিরিয়াল থেকে আমাদের Arduino বোর্ডে তথ্য পাঠানো নিয়ে গঠিত। প্রাথমিকভাবে, সিস্টেম সেটআপের মধ্যে কনফিগারেশন তৈরি করে এবং মডিউলে SD কার্ড োকানো হয়েছে কিনা তা পরীক্ষা করে।

যদি এটি োকানো না হয়, সিস্টেম ব্যবহারকারীকে সতর্ক করার জন্য একটি বার্তা উপস্থাপন করে।

উপরন্তু, সিস্টেম সিস্টেম কনফিগারেশন অপশন সহ বার্তা প্রদর্শন করে।

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("DFPlayer মডিউল আরম্ভ করছে … অপেক্ষা করুন!")); যদি (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("not initialized:")); Serial.println (F ("1। DFPlayer মিনি সংযোগ পরীক্ষা করুন")); Serial.println (F ("2। একটি SD কার্ড "োকান")); while (সত্য); } Serial.println (); Serial.println (F ("DFPlayer Mini module initialized!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // টাইমআউট সিরিয়াল 500ms myDFPlayer.volume (5); // ভলিউম 5 myDFPlayer. EQ (0); // Equalizacao স্বাভাবিক menu_opcoes (); }

যদি মেমরি কার্ড োকানো হয়, কোড প্রবাহ লুপ ফাংশনে প্রবেশ করবে।

অকার্যকর লুপ () {// সিরিয়ালের মাধ্যমে ডেটা এন্ট্রির জন্য অপেক্ষা করে যখন (Serial.available ()> 0) {command = Serial.read (); যদি ((কমান্ড> = '1') && (কমান্ড <= '3')) {সিরিয়াল.প্রিন্ট ("সঙ্গীত পুনরুত্পাদন"); Serial.println (কমান্ড); কমান্ড = কমান্ড - 48; myDFPlayer.play (কমান্ড); menu_opcoes (); } // প্রজনন // বন্ধ করুন যদি (কমান্ড == 's') {myDFPlayer.stop (); Serial.println ("সঙ্গীত বন্ধ!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; যদি (pausa == 0) {Serial.println ("Continue…"); myDFPlayer.start (); } যদি (pausa == 1) {Serial.println ("সঙ্গীত বিরাম!"); myDFPlayer.pause (); } menu_opcoes (); }

// ভলিউম বাড়ায়

যদি (কমান্ড == '+') {myDFPlayer.volumeUp (); সিরিয়াল.প্রিন্ট ("বর্তমান ভলিউম:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } যদি (কমান্ড == '') {myDFPlayer.next (); Serial.println ("পরবর্তী:"); সিরিয়াল.প্রিন্ট ("বর্তমান ট্র্যাক:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // ভলিউম হ্রাস করে যদি (কমান্ড == '-') {myDFPlayer.volumeDown (); সিরিয়াল.প্রিন্ট ("বর্তমান ভলিউম:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

ব্যবহারকারী নিম্নলিখিত নিয়ন্ত্রণ অক্ষর পাঠাতে পারেন:

সংখ্যা 1 থেকে 3: বাজানো গান নির্বাচন করুন;

  • চিঠি s: গান বন্ধ করুন; চিঠি p: গান বিরতি দিন;
  • + চিহ্ন পাঠান: গানের ভলিউম বাড়ান;
  • পাঠান - সংকেত: গানের ভলিউম হ্রাস করুন;
  • সংকেত পাঠান <: আগের গান নির্বাচন করুন;
  • সংকেত পাঠান>: পরবর্তী গান নির্বাচন করুন;

এই সংকেত, অক্ষর এবং সংখ্যা থেকে, Arduino সিরিয়াল মাধ্যমে তাদের গ্রহণ করবে এবং বাজানো সঙ্গীত নিয়ন্ত্রণ করবে।

প্রতিটি শর্ত নীচে এবং অভ্যন্তরীণভাবে তার নিজ নিজ কমান্ড সহ উপস্থাপন করা হয়েছে।

যদি ((কমান্ড> = '1') && (কমান্ড <= '3')) {সিরিয়াল.প্রিন্ট ("সঙ্গীত পুনরুত্পাদন"); Serial.println (কমান্ড); কমান্ড = কমান্ড - 48; myDFPlayer.play (কমান্ড); menu_opcoes (); } // প্রজনন // বন্ধ করুন যদি (কমান্ড == 's') {myDFPlayer.stop (); Serial.println ("সঙ্গীত বন্ধ!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; যদি (pausa == 0) {Serial.println ("Continue…"); myDFPlayer.start (); } যদি (pausa == 1) {Serial.println ("সঙ্গীত বিরাম!"); myDFPlayer.pause (); } menu_opcoes (); }

// ভলিউম বাড়ায়

যদি (কমান্ড == '+') {myDFPlayer.volumeUp (); সিরিয়াল.প্রিন্ট ("বর্তমান ভলিউম:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } যদি (কমান্ড == '') {myDFPlayer.next (); Serial.println ("পরবর্তী:"); সিরিয়াল.প্রিন্ট ("বর্তমান ট্র্যাক:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // ভলিউম হ্রাস করে যদি (কমান্ড == '-') {myDFPlayer.volumeDown (); সিরিয়াল.প্রিন্ট ("বর্তমান ভলিউম:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

সুতরাং, যদি আপনি উপস্থাপিত সমস্ত ধাপ প্রয়োগ করেন, আপনি শিখতে সক্ষম হয়েছেন:

  • DFMini Player MP3 এর বেসিক অপারেটিং সার্কিট;
  • মেমরি কার্ডে সাউন্ড ফাইলের সংগঠন এবং কনফিগারেশন;
  • Arduino এর সাথে বাদ্যযন্ত্র নিয়ন্ত্রণ এই কোড থেকে, আপনি অন্যান্য প্রকল্পগুলি বিকাশ করতে সক্ষম হবেন যা সিস্টেম কার্যকারিতা হিসাবে শব্দ ব্যবহার করতে হবে।

স্বীকৃতি

শেষ করার জন্য, আমরা আপনার পড়ার জন্য এবং PCBWAY. COM এর সমর্থনের জন্য আপনাকে ধন্যবাদ জানাই আপনার জন্য এই নিবন্ধটি তৈরিতে Silício Lab কে সমর্থন করার জন্য।

সিলিসিওস ল্যাব এই প্রকল্পটি নির্মাণের জন্য ইলেকট্রনিক উপাদানগুলি প্রদানের জন্য UTSOURCE কে ধন্যবাদ জানায়।

প্রস্তাবিত: