3.Push Button ස්විචයක් සමග වැඩ කිරීම
Push Button ස්විච්චයක් මඟින් LED බල්බයක් on/off කරමු.
Components Required
හැඳින්වීම
පාඩමේ අරමුණ
- Digital Read
- IF-ELSE conditions
- Variables
ගැන අවබෝධයක් ලබාගත හැකිය
සිද්ධාන්තය
ක්රමවේදය
Magicbit උපාංඟය පුවරුවට සවිකෙරූ push-button ස්විච් දෙකක් සමග පැමිණේ. වැඩසටහන සැකසීමට මෙම ස්විච් දෙකෙන් D34 අග්රයට සම්බන්ධ ස්විචය තෝරාගනිමු. Push button ස්විච්ච දෙකම ඇතුලතින් pulled up කර ඇත. (pullups/pulldowns ගැන වැඩිදුර දැන ගැනීමට මෙම සබැඳිය භාවිතා කරන්න), එනම් බොත්තම තදකර නොමැති අවස්ථාවේ දී 1(HIGH) ලෙසත්, බොත්තම තදකර ඇටි අවස්ථාවේදී 0(LOW) ලෙසත් ආදානය (input) ලැබේ.
පෙර උදාහරණයේදී මෙන් මෙහි අගය බලාගැනීමට පුවරුවට සම්බන්ධ LED බල්බයක් භාවිතා කරන අතර ඒ සඳහා D27 අග්රයට සම්බන්ධ රතු පැහැති LED බල්බය යොදා ගමු.
මුලින්ම pinMode භාවිතා කර ස්විච්චය INPUT ලෙසත් LED බල්බය OUTPUT ලෙසත් සකසාගත යුතුය. ඊලඟට වැඩසටහනේ loop කොටසෙන් ස්විච්චයේ අවස්ථාව පරික්ෂා කර එය buttonState නම් int වර්ගයේ විචල්යයකට (variable) ඇතුලත් කරගනු ලබයි. (මෙම සබැඳිය ඔස්සේ arduino හි භාවිතා වන data types ගැන වැඩිදුර දැන ගැනීමට හැකිය).
දැන් අපට if block එකක් භාවිතා කර ස්විචය පවතින අවස්ථාවට අනුව LED බල්බය දැල්වීම, නිවීම සිදුකල හැකිය. එනම් ස්විචය තදකල විට බල්බය දැල්වීමත්, අතහැරිය විට බල්බය නිවීමත් සිදුවිය යුතුවේ.
Code
void setup(){
pinMode(27,OUTPUT);
pinMode(34,INPUT);
}
void loop(){
int buttonState = digitalRead(34);
if(buttonState == LOW){
digitalWrite(27, HIGH);
}else{
digitalWrite(27, LOW);
}
}
පැහැදිලි කිරීම
digitalRead(pin No): ලබාදෙන pin එකක් කියවා එහි අගය ඩිජිටල් අගයක් ලෙස HIGH හෝ LOW මගින් ලබා දෙයි.
IF/ELSE: Digital අගයක් මත කොන්දේසියක් මගින් තීරණයක් ගැනීමට භාවිතා කරයි. if කොටසේ යොදා ඇති කොන්දේසිය සත්ය නම් එහි සඟල වරහන් අතර ඇති කේතය ක්රියාත්මක කරන අතාර එම කොන්දේසිය අසත්ය උවහොත් else කොටසේ ඇති සඟලවරහනට අදාල කේත ක්රියාත්මක වේ.
- if(කොන්දේසිය){
- //කොන්දේසිය සත්ය නම් සිදු විය යුතු දේ
- }else{
- //කොන්දේසිය අසත්ය නම් සිදු විය යුතු දේ
- }
සටහන: ස්විචයක් එබීම මගින් LED බල්බයක් දිගටම දැල්වීමට හෝ දිගටම නිවී තිබීමට වැඩසටහනක් සකස්කරන්න. එනම් එක් වරක් ස්විචය තදකර අතහැරිය පසු දැල්වීමටත්, නැවත තදකර අතහැරිය පසු නිවීමටත් අවශ්ය වේ.. (ඉගිය: බොත්තම එබීමෙන් බල්බයේ අවස්ථාව වෙනස් වීම මතක තබා ගැනීමට ‘remember’ ලෙස විචල්යයක් සකසා ගන්න).
Senitha Yaneth
In following code example “S” (void Setup) should be in lower case
void Setup(){
pinMode(27,OUTPUT);
pinMode(34,INPUT);
}