Friday, June 3, 2016

Arduino 7 වන ලිපිය - ආලෝකයට සංවෙීදී LED එකක් හදමු


යාළුවනේ අද මම කියල දෙන්න යන්නෙ LED එකක් ආලෝකය වැටුනම පත්තුවෙන්නත්, කළුවරේදි නිවෙන්නත් පුළුවන් විදියට Arduino එකෙන් හදන්නෙ කොහොමද කියල. මෙීකෙම අනිත් පැත්තත් කරන්න පුළුවන් පොඩ්ඩක් වෙනස් කරල. ඒකත් කියල දෙන්නම්කො.

 හරි එහෙනම් බලමු මෙීක කරන්න අපිට මොනවද ඔීන කියල

  • Arduino Board එකක් 
  • Photoresistor එකක් (LDR එකක් කියන්නෙත් මෙීකම තමයි) 
  • 10K resistor එකක් 
  • වයර් 
හරි දැන් බලමු එහෙනම් කොහොමද මෙී වැඩෙී කරන්නෙ කියල. මුලින්ම පහත පේන විදිහට breadboard එකේ LDR එකට 10K resistor එක සම්බන්ධ කරගන්නකො.



දැන් මෙී විදියට ඒකට වයර් සම්බන්ද කරගන්න



දැන් ඒ වයර් ටික මෙී පිලිවෙලටම Arduino එකට සම්බන්ද කරගන්න. ඔය රූපෙ පේන කහ පාට වයර් එක සම්බන්ධ කරල තියෙන්නෙ A0 කියන Analog Input එකටග එතකොට රතුපාට එක 5v කියන එකටත් නිල් පාට එක GND කියන එකටත් එන විදියට තමයි සම්බන්ධ කරල තියෙන්නේ.



ඊට පස්සෙ LED බල්බ් එක මෙී රූපෙ දැක්වෙනව වගේ 13වෙනි pin එකට සම්බන්ද කර ගන්න.


දැන් පහල code එක දීල බලන්නකො.

මෙීකෙදි මම බල්බ් එක දැල්වෙන ගමන්ම Serial Monitor එකේ ඒ කියවපු අගය පේන්නත් එක්කම තමයි දැම්මෙ. ඉතින් code එක Run කරනකොට serial monitor එකත් open කරගෙනම බලන්නකො.


serial monitor එක ගැන දන්නෙ නැත්තම් මෙී ලිපිය කියවන්න. http://sinhalaarduino.blogspot.com/2016/05/arduino-5-arduino-voltage.html

හරි දැන් මෙී විදියට පෙනේවි. Serial Monitor එකේ 0 වුනොත් ඒ කියන්නෙ බල්බ් එක නිවෙන්න කියල.


ආලෝකය වැටුනම පත්තුවෙන්නත්, කළුවරේදි නිවෙන්නත් Code එක

int sensorPin = A0; // sensorPin කියන variable එක A0 ලෙස ලබා දීම.

int ledPin = 13; //ledPin කියන variable එක 13 ලෙස ලබාදීම

int sensorValue = 0; //sensorValue කියන variable එක 0 ලෙස ලබාදීම

void setup() {

Serial.begin(9600); //තත්පරයට Bit 9600 බැගින් දත්ත කියවන්න

pinMode(ledPin, OUTPUT); //digital output pin එක ලෙස ledPin (13 වන pin එක) ලබා දිම

}


void loop() {

sensorValue = analogRead(sensorPin); //A0 ලෙස ඉහතදී Assign කරන ලද Analog pin එකෙන් දත්ත ලබාගෙන එම අගය sensorValue කියන variable එකට සමාන කිරීම.

Serial.println(sensorValue); //Serial Monitor එකට output එකක් ලෙස දත්ත යැවීම

digitalWrite(ledPin, sensorValue); //LED බල්බය දැල්වීම

delay(300); //මෙය අපගේ පහසුව සදහා යෙදූ delay එකකි. එමගින් serial print එකේ දත්ත අපට කියවිය හැකි ආකාරයෙන් ගමන් කරවයි.
}



හරි දැන් බලමු මෙීකෙම අනිත් පැත්ත, ඒ කිව්වෙ ආලෝකය වැටුම නිවෙන්නත් අදුරෙදි පත්තුවෙන්නත්. පොඩි දෙයයි කරන්න තියෙන්න ඔය යටම තියෙන්නෙ

digitalWrite(ledPin, sensorValue) කියල එකක්. ඒක පහල තියෙන විදියට වෙනස් කරන්න. එතකොට Serial monitor එකේ අගය 0 වෙන අවස්ථාවෙ විතරයි බල්බ් එක පත්තු වෙන්නෙ.


digitalWrite(ledPin, !sensorValue) // ! මෙම ලකුණ අපි භාවිත කරනවා NOT යන අදහස ලබා ගැනීමට. මෙහිදී කලින් එකට විරුද්ධ දේ තමයි වෙන්නෙ.



සැ.යු. - මෙම code එකෙහි // වලින් පටන්ගෙන ඇති දේවල් ඔබ code කරන විට ලිවීම අවශ්‍ය නොවෙී. අප මෙීවා හදුන්වන්නේ comments ලෙසටය. ඒවා අපගේ පහසුව වෙනුවෙන් අපි දමා ගන්නා කුඩා note එකක් වැනි දෙයකි.

එහෙනම් යාළුවනේ තවත් වැඩ කෑල්ලකින් හම්බවෙමු

මතක ඇතුව ඔයාලගෙ අදහස් යටින් දාන්න යාළුවනේ. ඊලග ලිපියෙන් හමුවෙමු. මෙී ලිපියෙ තියෙන වැරදි අඩුපාඩු මතක ඇතුව පහතින් සදහන් කරන්න. 

No comments:

Post a Comment