ආයුබෝවන්!
ඔන්න මෙම ලිපියෙන් කතාකරන්නට යන්නේ Arduino සමඟින් SD Card Module එක භාවිත කරලා කොහොමද Audio / Wave ක්ලිප් එකක්,සිංදුවක් ප්ලේ කරන්නේ කියල. අපේ හැකියාව අනුව Arduino මුලික කරගෙන කරන නිර්මාණයන් වලදී Audio Clips ප්ලේ කරගෙන අපේ නිර්මාණය තවත් ලස්සන කරගන්න වගේම ගුණාත්මක භාවය වැඩි කරගන්න පුළුවන්.
ඒ කියන්නේ අපි I/O Pins යොදාගෙන යම් උපකරණයක් On/Off කරීමේ දී අපි දෙන විධානය ක්රියාත්ම කළා කියල අපි නිර්මාණය කරන Device එකට අපිට වාචිකව කියන්න පුලුවන්නම්? අපි Read කරන Input එකක අගය ඒ කියන්නේ Temperature / Humidity වගේ දේවල් අපි හදන Device එකට අපිට වාචිකව කියන්න පුලුවන්නම්? එහෙනම් අපේ නිර්මාණය ගොඩක් සිත් ඇදගන්නා සුළු වේවි.වගේම ප්රායෝගිකව එදිනෙදා ජීවිතයේ අපි යොදාගන්න උපකරණයක්නම් ඔබේ කාලයත් ඉතිරි කරගැනීමට හැකිවේවි.අපි දැනට නිර්මාණය කරගෙන යන Arduino Based Home Elevator එකෙහි Voice Announcements සඳහා Audio Files භාවිතාකරලා තියෙනව .එම ව්යාපෘතිය පිළිබඳව ලිපියක් ඉක්මනින්ම ඔයාලට අරගෙන එන්නම් .
අපි එහෙමනම් බලමු කොහොමද Arduino+SD Card Module එක යොදාගෙන Audio Clip එකක් ප්ලේ කරගනෙන් කියල.මේ එක්කම LM386 යොදාගෙන කුඩා Amplifier එකක් නිර්මාණය කරගන්න ආකාරයත් ඔයාලට ඉගනගන්න පුළුවන් වේවි.මොකද අපි මෙහිදී Audio Output එක වර්ධනය කරගැනීම සඳහා අපේ නිර්මාණයට LM386 Amplifier එක යොදාගන්නවා.
ඒ සඳහා අපිට අවශ්යය වෙනවා මේ උපාංග කීපය.
1. SD Card Module එකක්
2. SD Card එකක්
3. Arduino (Uno/Mega/Nano/Promini ඕනෑම බෝර්ඩ් එකක්)
4. Breadboad එකක්
5. Push Button Switch 2ක්
6. Jumper Wires කීපයක්
7. LM386 Amplifier IC එකක්
8. 220uf Capacitor දෙකක්
9. 10uf Capacitor එකක්
10. 1K Resistor එකක්
11. 10K Resistor එකක්
12. 10K Potentiometer එකක්
පරිපථහි දෘඩාංග එකලස් කිරීම.
පහත සටහනෙහි ආකාරයට නිවැරදිව දෘඩාංගයන් සියල්ල අමුණාගන්න
LM386 Amplifier Circuit Diagram
SD Card මොඩියුලය Arduino පුවරුව සමඟින් සන්නිවේදනය සඳහා භාවිත වන්නේ (SPI) Serial Peripheral Interface මඟින් නිසා අපි මෙහි දී SD Card මොඩියුලය Arduino පුවරුවෙහි SPI Pins සමඟින් සම්බන්ධ කරගන්න ඕන.
SD Card Module Arduino Board
Gnd Gnd
Vcc 5V
MISO (Master In Slave out) D12
MOSI (Master Out Slave In) D11
SCK (Synchronous Clock) D13
CS (Chip Select) D4
Audio File Wave File ආකාරයට සකසාගැනීම
ආර්ඩුයිනෝ පුවරුව සමඟින් Play කල හැක්කේ Wave ආකාරයේ Audio බැවින් MP3 Audio Flile Wave ආකාරයට සකසාගැනීමට අවශ්යය වෙනවා.ඒ සඳහා මෙතනින්( http://audio.online-convert.com/convert-to-wav) පිවිස Convert කරගැනීමට අවශ්ය Audio Track එම වෙබ් පිටුවට Upload කර පහත පියවර අනුගමනය කරන්න.
1. Choose File මඟින් ගොස් අවශ්යය Audio ව Upload කර මේකාරයට පරාමිතීන් (Parameters) සකසාගන්න.
Bit Resolution 8Bit
Sampling Rate 1600Hz
Audio Channel Mono
PCM Format PCM unsigned 8-bit
2. ඉන් පසුව Convert File ක්ලික් කරන්න. අදාළ Audio ෆයිලය Convert වූ පසුව ඔබේ පරිගණකයට Download වේවි.
ඒ ආකාරයට ඔබට අවශ්යය Audio සියල්ල .wave ආකාරයට සකසා ගන්න.
3.එම ****.Wave File සියල්ල හඳුනාගැනීමට පහසු නමකින් Rename කරගනන.උදා:- duino1.wave / duino2.wave / duino3.wave / duino4.wave / duino5.wave
4.දැන් ඔබේ SD Card එක තුලට එම wave සියල්ලම දමාගන්න.මතක ඇතිව මුලින් ඔබේ SD Card එක අනිවාර්යයෙන්ම Format කරල ඉන්න.
Arduino පුවරුව Program කරගැනීම. Programming your Arduino
හරි එහෙනම් ඔන්න අවසාන පියවර.
Audio Play කරවීම සඳහා අපිට TMRpcm library එක යොදාගන්නවා.
Download :- TMRpcm Library
Download කරගත් TMRpcm library එක දැන් ඔබේ Arduino IDE එකට Add කරගන්න ඕන.
Arduino IDE by selecting Sketch > Include Library > Add .ZIP Library > ගිහින් Dwonload කරගත් TMRpcm library එක තෝරන්න.
TMRpcm library Library එක මඟින් සිදුකරගතහැකි සහ සිදුවන විශේෂ ක්රියාවන් කීපයක් මේ.
Playing an audio file:
මෙම ලයින් එක කෝඩ් එකෙහි අවශ්යය තැනට යොදා අදාළ .wave File එකෙහි නම සටහන් කිරීම මඟින් අපෙ SD Card එක තුල ඇති .wave Files ප්ලේ කරගැනීම සිදුකරන්න පුළුවන්.
music.play(“****.wav”);
Pause an audio File
ප්ලේ වන ඕඩියෝව අවශ්යය අවස්ථාවක Push Button එකක් මඟින් නැවතීමට නැතිනම් Pass කිරීමට මෙම ලයින් එක යොදාගන්න පුළුවන්.
music.pause();
Forwarding/Rewinding an Audio
ඕඩියෝව අපට අවශ්යය ස්ථානයේ දී වාදනය වීම ආරම්භ කිරීම සඳහා මෙම ලයින් එක භාවිත කරනවා.
music.play(“2.wav”,33); // මෙහි 33 යන්නෙන් අදහස් වන්නේ ඕඩියෝවෙහි 33 වන තප්පරයෙහි සිට වාදනය ආරම්භ වන්න යන්නයි.
Setting the Volume of the audio
පරිපථහි යොදාගෙන ඇති Potentiometer මඟින් Audio Output එකෙහි Volume අඩු වැඩි කර හැකි අවශ්යයනම් Audio Output Volume ප්රමාණය නිශ්චිත අගයක තියාගැනීම මෙම ලයින් එක මඟින් කරන්න පුළුවන්.
music.setVolume(5); // මෙහි 5 යන්නෙන් අදහස් වන්නේ Volume ප්රමාණයෙහි අගයයි.මෙම අගය ඉහල අගයක තැබූ විට ගෝෂා කාරී බවක් දැනෙනවා.වඩාත්ම සුදුසු Volume අගය “5” ලෙස තබා Amplifier එකට Audio input කරන තැනට අපි යොදාගෙන ඇති Potentiometer මඟින් හඬ පාලනය කරගැනීමයි.
Setting the quality of the audio
මෙම Library එක මඟින් දෙයාකාරයක ගුණාත්මක භාවයක් ඇති පරිදි අපේ Audio ව වාදනය කරගන්නට පුළුවන්,කෝඩ් එකෙහි අදාල ස්ථානයට මෙම දෙයාකාරයම යොදා බලන්න.වඩා හොද විදිහට හඬ ඇහෙන්නේ කොයි ලයින් එක මඟින්ද කියල.
music.quality(0);
music.quality(1);
Code:-
Arduino+SD_Card_Music_Player.ino
එහෙනම් ඔන්න දැන් තියෙනෙන් ඔයාගේ අවස්ථාව.ඔයාලගේ නිර්මාණශීලි හැකියාවන් එකතුකරලා talking robot, voice alert security system, speaking clock, voice assistant වගේ නිර්මාණයන් කරන්න උත්සහ කරන්න.නිතරම හැම නිර්මාණයකටම ඔයාලගේම උත්සාහයෙන් පුංචි දෙයක් හරි එකතුකරගන්න බලන්න .ඒ විදිහට හිතන්න උත්සහ කලොත්ට තමයි අලුත් නිර්මාණයන් බිහිවන්නේ. එහෙනම් තවත් මේ වගේම ප්රයෝජනවත් Project එකක් සමඟින් එකතුවෙන බලාපොරොත්තුවෙන් අදට නවතින්නම්.
ජයවේවා!