electronic sinhalen

සිංහල භාෂාවෙන් විද්‍යා හා තාක්ෂණ කරුණු ලබාදෙන, SENRO-TECH යුගයේ අපූර්වතම විද්‍යා හා තාක්ෂණ ගෙව්ශණය. SENROTECH is all about connecting you to the Technologies ©Copyrighted

Friday, June 21, 2019

Arduino සිංහලෙන් - 11

arduino pwm output

Arduino මගින් ලබා ගත හැකි අනෙක් OUTPUT වර්ගය වන්නේ PWM OUTPUT වේ. PWM යනු කුමක්ද යන්න පෙරදී පැහැදිලි කර ඇති බැවින් මෙහිදී Arduino යොදාගෙන PWM OUTPUT එකක් ලබාගන්නා ආකාරය පමණක් විමසා බලනු ලැබේ.
PWM OUTPUT ලබා ගැනීම සදහා Arduino හී ඇති සෑම I/O පින් එකක්ම යොදාගත නොහැක.ඒ සදහා වෙනම පින් Arduino හී සටහන් කර ඇත.පහත දැක්වෙන්නේ Arduino uno r3 හී  එලෙස PWM OUTPUT ලබාගත හැකි පින් වේ.

Arduino මගින් PWM OUTPUT එකක් ලබාගන්නා ආකාරය



මෙහිදීද  PWM OUTPUT එකක් ලබා ගැනීම සදහා යොදාගනු ලබන්නේ ද Arduino uno r3 පරිපථ පුවරුව වේ.ඉහත දක්වා ඇති ආකාරයට මෙහි PWM OUTPUT ලබා ගත හැකි පින් 6 ක් පවතී.ඒ අනුව මෙම පින් එකක් යොදාගෙන PWM OUTPUT එකක් යොදාගන්නා ආකාරය විමසා බලමු.


PWM OUTPUT එකක වැදගත් මිනුම් දෙක වන්නේ frequency (සංඛ්‍යතය) එක සහ duty cycle එක වේ.මෙහි 3, 5, 6, 9, 10 හා11 පින් PWM OUTPUT ලබා ගත හැකි පින් වේ.ඒ අනුව 3, 5, 6 හා 9 පින් මගින් 490 Hz පමණ සංඛයතයකින්   PWM OUTPUT ලබා ගත හැකි අතර 10 හා11 පින් මගින් 1000Hz පමණ සංඛ්‍යතයකින්  PWM OUTPUT ලබා ගත හැක.

PWM OUTPUT එකක අනෙක් වැදගත් මිනුම වන duty cycle එක සකස් කිරීම සදහා Arduino IDE හී analog Write (pin, value) Function එක යොදාගනු ලබයි.මෙහි value එක සදහා සුදුසු අගයන් යෙදීමෙන් duty cycle එක සකස් කිරීම සිදු කරනු ලබයි.මේ සදහා 0 හා 255 අතර ඕනෑම අගයක් යෙදිය හැක.
ඒ අනුව 0 මගින් 0% duty cycle.

                 127 මගින් 50% duty cycle.
255 මගින් 100% duty cycle.  එකද නිරූපණය කරනු ලබයි

PWM ක්‍රමය යොදාගෙන LED එකක ආලෝකය පාලනය කිරීම

 



int led_pin = 6;
void setup() {
       pinMode(led_pin, OUTPUT);
}
void loop() {

  for(int i=0; i<255; i++){
  analogWrite(led_pin, i);
  delay(5);
}
     for(int i=255; i>0; i--){
     analogWrite(led_pin, i);
     delay(5);
}
}


PWM ක්‍රමය යොදාගෙන LED එකක ආලෝකය පාලනය කිරීම -2

මෙම වැඩසටහන ඉහත වැඩසටහනම වැඩි දියුනුකර ඇති අවස්ථාවකි.එනම් මෙහිදී ආලෝකය පාලනය කිරීම සදහා ස්විච දෙකක් යොදාගෙන ඇත.එහි 11 වන පින් එකට සම්බන්ද කර ඇති ස්ව්ච මගින් ආලොකය වැඩිකරන අතර 12 වන පින් එකට සම්බන්ද කර ඇති ස්ව්ච මගින් ආලෝකය අඩුකරනු ලබයි.




 
int led_pin = 6;

Const int button_brighter = 11;
Const int buttonPin_ darker =12;        

void setup() {
pinMode(button_brighter, OUTPUT);
pinMode(buttonPin_ darker, OUTPUT);
  pinMode(led_pin, OUTPUT);
}
void loop() {
  if (button_brighter == LOW) {
  for(int i=0; i<255; i++){
    analogWrite(led_pin, i);
    delay(5);
  }
}
if (buttonPin_ darker == LOW) {
  for(int i=255; i>0; i--){
    analogWrite(led_pin, i);
    delay(5);
  }
}
}