Arduino Tone හරහා ශබ්ද ජනනය කිරීම

ලිපිය පටන් ගන්න කලින් අපි බලමු ශබ්දයක් කියන්නෙ මොකක්ද කියලා,
ශබ්දයක් කියන්නෙ සංඛ්‍යාත එකක හෝ ඊට වැඩි ප්‍රමාණයක එකතුවක්.
සංඛ්‍යාතයක් කියන්නෙ යම් කාල පරාසයකදි ඇති වන කම්පන ප්‍රමාණයක මිනුමක්.
යම් සංඛ්‍යාතක් ඇති වන්න නම් කිසියම් කාල පරාසයකදී යමක් කම්පනය විය යුතුයි. එය එම කාලයේදී කම්පනය වන වාර ගනණ වැඩි වන තරමට එමඟින් ජනනය වන ශබ්ද සංඛ්‍යාතයේ අගයද වැඩි වේ.
සරලව ගතහොත් Bass ගතිය වැඩි ශබ්ද අඩු සංඛ්‍යාත වන අතර
Treble ගතිය ඇත්තේ වැඩි සංඛ්‍යාත වලටය.
ඉතින් මේ සංඛ්‍යාතය මනින්නෙ කොහොමද?
අපි කිව්ව කාල පරාසය තත්පරයක් නම්, තත්පරයකදී Speaker එකක් වැනි ශබ්දය ඇති කරන උපාංගයක් හරහා සිදු කරන කම්පන වාර ගනණ මැනීමට ලක් කරයි. එය මනින සම්මත් ඒකකය Hz (Hertz) වේ.
ශබ්ද ගැන කතාකරනවානම් දහසක් දේ ඇතත් Arduino බ්ලොග් එක එයට සුදුසු නොවන බැවින් ළිපියට අදාල කොටස පමණක් ඉදිරිපත් කළා ඔන්න.
හරි අපිට බැරිද Arduino එකට Speaker එකක් සම්බන්ධ කර එමඟින් මෙම කම්පන ඇති කරන්න?
පුලුවන්, ඒ ගැන තමයි අපි අද කතා කරන්නෙ.
මේ වැඩේට අවශ්‍ය වෙනවා

  • Arduino board
  • a piezo buzzer

a piezo buzzer එකක් හොයාගන්න නැත්නම් Amplifier එකක් සහිත Speaker එකකට Arduino එක සම්බන්ධ කරගන්න ඒ වෙනුවට.වැඩි ශබ්දයක් ලැබෙන්නෙ එවිට. මෙන්න පොඩි Amplifier පරිපථයක්.
Audio Input කොටස buzzer එක වෙනුවට Arduino එකට අමුණාගන්න.

මෙන්න Arduino එක සමඟ buzzer එක සම්බන්ධ වන ආකාරය.

මෙන්න Code ලියන Syntax එක. රතු පාටින් තියෙන කොටස් අනිවාර්යෙන්ම ලියන්න.

tone(pin, frequency


Pin - හඬ නිකුත් කරන Arduino Pin එක. (රූපසටහනේ Pin 8)
frequency - සංඛ්‍යාතය (Hz)

එමෙන්ම යම් කාලයක් දක්වා මෙය ක්‍රියාත්මක වීමට අවශ්‍යනම් භාවිතාකරන්න.

tone(pin, frequency, duration)

duration - හඬ නිකුත් විය යුතු කාලය (මිලි තත්පර වලින්)

දැන් පහත කේතය අත්හදා බලන්න.

void setup() {
    int pinOut = 8;
    int freq = 440;
    int duration = 1000;
    tone(pinOut, freq, duration);
}
 
void loop() {
 
}

ඉතින් යාලුවනේ මෙම කේතය තවත් දියුණු කරන Arduino Digital Pin වලට Button අමුණාගෙන සංගීත ස්වර වල සංඛ්‍යාත නිකුත් කිරීමට හැකි උපාංගයක් තනාගන්න පුලුවන්. මීළඟ ළිපියෙන් එය බලාපොරොත්තු වන්න. සුභ දවසක් හැමෝටම තෙරුවන් සරණයි!

No comments:

Post a Comment