Loudness indicator with Arduino | লাউডনেস ইন্ডিকেটর

এই এক্সপেরিমেন্টে আমরা আরডুইনো দিয়ে শব্দের তীব্রতা নির্দেশক একটি সার্কিট  তৈরী করব।  শব্দের তীব্রতা নির্ণয় করতে আমরা ব্যবহার করব Grove-loudness sensor. এই সেন্সরটিতে রয়েছে একটি মাইক্রোফোন। মাইক্রোফোনের সামনে শব্দ করলে সেন্সরের SIG পিনে একটি অ্যানালগ ভোল্টেজ উতপন্ন হয়। শব্দের তীব্রতার সাথে সাথে এই ভোল্টেজের ভ্যালু বাড়ে। এই অ্যানালগ ভ্যালুর হ্রাস-বৃদ্ধি রেকর্ড করলেই শব্দের তীব্রতার ওঠানামা নির্ণয় করা সম্ভব।

শব্দের তীব্রতা পরিবর্তনের সাথে সাথে শব্দের তীব্রতা নির্দেশ করতে এই এক্সপেরিমেন্টে ব্যবহার করা হবে একটি বাইকালার এলইডি। মাইক্রোফোনে যখন কোনো শব্দ থাকবে না তখন  এলইডির রঙ থাকবে সবুজ। পরিমিত শব্দে কথা বললে  এলইডির রঙ পরিবর্তিত হয়ে হলুদ হবে। তীব্র শব্দ যেমন মাইক্রোফোনের সামনে  চীৎকার করলে এলইডির রঙ হবে টকটকে লাল।

ব্যাবহারঃ এই ধরনের সার্কিটের ব্যবহার হতে পারে লাইব্রেরি, হাসপাতালসহ অন্যান্য নিরব এলাকায়। এছাড়া আরেকটি ব্যবহার হতে পারে এলইডি বা ডট ম্যাট্রিক্স দিয়ে বানানো টকিং রোবোটের ঠোঁটে,যার এলইডিগুলো কথার সাথে সাথে বিভিন্ন প্যাটার্নে জ্বলবে।

প্রয়োজনীয় যন্ত্রপাতিঃ এক্সপেরিমেন্টের জন্য প্রয়োজনীয় যন্ত্রপাতির লিংকসহ তালিকা নিচে দেওয়া হল।
প্রয়োজনীয় যন্ত্রপাতি পরিমাণ
Arduino UNO R3 1
Grove-Loudness sensor 1
LED bicolor (CC) 1
100 ohm resistor 1
Male to male jumpers 6
Breadboard 1
  সার্কিটঃ আরডুইনোর সাথে লাউডনেস সেন্সরের নিচের কানেকশনটি সম্পন্ন করি।
Arduino uno Grove-Loudness sensor
VCC VCC
GND GND
A0 SIG
  আরডুইনো উনো ও বাইকালার এলইডির মধ্যে নিচের কানেকশনটি সম্পন্ন করি।
Arduino uno LED bicolor(CC)
9 Green pin
GND Middle pin through 100 ohm resistor
10 Red pin
  পুরো সেটআপটি দেখতে হবে এরকম। প্রোগ্রামঃ নিচের কোডটি আরডুইনো আইডিইতে লিখে কম্পাইল এবং আপলোড করি।
int val;
int green=9;
int red=10;
void setup()
{
Serial.begin(9600);
pinMode(green,OUTPUT);
pinMode(red,OUTPUT);
}
void loop()
{
analogRead(0);
delay(10);
val = analogRead(0);
Serial.println(val);
if(val<=199)
{
setColor(0,255);//green
}
if(val>200&&val<500)
{
setColor(30, 180); // yellow
}
if(val>=500)
{
setColor(255,0);//red
}
delay(200);
}
void setColor(int redcolor, int greencolor)
{
analogWrite(red, redcolor);
analogWrite(green, greencolor);
}

]]>

A. R
A. R

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.