Arduino පාඩම 6: Analog Sensor අගයන් කියවමු
Analog Signals කියවමු
Analog Read භාවිතයෙන් LED එකක් පාලනය කරමු
Components Required
Buy
හැඳින්වීම
මෙම උදාහරණයේදී අප analog sensor එකකින් දත්ත කියවා ගන්නා ආකාරය හා එම දත්ත ශ්රේණිගත කොන්සෝලයට(Serial Console) ප්රතිදානය කරන ආකාරය ඉගෙන ගනිමු.
පාඩමේ අරමුණ
මෙම පාඩමේ දී අප පහත කරුණු සම්බන්ධව ඉගෙන ගනිමු,
- Analog Read ශ්රිතය භාවිතය.
- Magicbit විභව මානය( inbuilt potentiometer) ප්රායෝගිකව යොදා ගැනීම.
සිද්ධාන්තය
සැබෑ ලෝකයේ, අපට හමු වන බොහෝ සංඥා ප්රතිසම සංඥා(analog signals) (උෂ්ණත්වය, වායු පීඩනය, ප්රවේගය), ඒවා අඛණ්ඩ(continuous signals) වේ. නමුත් පරිගණකයට ක්රියා කළ හැක්කේ සංඛ්යාංක සංඥා(digital signals) සමඟ පමණි. එම නිසා ප්රතිසම සංඥා, සංඛ්යාංක සංඥා බවට පෙරලීම්(analog to digital signal conversion) ඉතාම වැදගත් වේ.
ක්රමවේදය
මෙම උදාහරණය සඳහා, අපි pin, D39 වෙත සම්බන්ධ කර ඇති Magicbit පුවරුවේ විභවමානය භාවිතා කරමු. එය විභවමානයේ කෝණයට අනුව 0 සහ 3.3V අතර වෝල්ටීයතාවයක් ජනනය කරයි. කෝණය වෙනස් කිරීමට කළු වර්ණ රෝදය කරකවන්න.
අපි ප්රතිසමය සංඥාව කියවා එය int(integer/පූර්ණ සංඛ්යා) වර්ගයේ විචල්යයක(variable) ගබඩා කරමු(0V= 0 ප්රතිසමය අගය, 3.3V = 4096 ප්රතිසමය අගය). පසුව, අපි මෙම අගය Arduino IDE හි අනුක්රමික(serial) කවුළුව මත මුද්රණය කිරීමට මෙන්ම ප්රතිසම අගය 2000 ට වඩා වැඩි නම් රතු LED (D27) ආලෝකමත් කිරීමට භාවිතා කරමු.
Code
void setup(){
pinMode(27,OUTPUT)
Serial.begin(9600);
}
void loop(){
int sensorValue = analogRead(39);
Serial.println(sensorValue);
if(sensorValue > 2000){
digitalWrite(27,HIGH);
}else{
digitalWrite(27,LOW);
}
delay(100);
}
පැහැදිලි කිරීම
analogRead(pin No): මෙය කියවා අදාල ඇනලොග් අගය වම් පසින් ඇති විචල්යයට පවරයි.
ක්රියාකාරකම
Note: පුවරුවේ ඇති LDR එක භාවිතා කරමින් එම උදාහරණයම නැවත කරන්න (D36).