අපිට මේ වැඩේට අවශ්ය වෙනවා
- Arduino UNO (වෙනත් Board එකක්නම් Code එකේ Output Pin වෙනස් කරගන්න)
- 2N2222 හෝ C828 Transistor 6ක්
- 1K හෝ 2.2K Resistor 6ක්
- 9V - 12V බල සැපයුමක්
- අවසාන Output එක සඳහා එක් Output එකට LED 10 ට අඩු ප්රමාණයක්.
- එම LED ප්රමාණයට සමානව 1K Resistor
- Digital Pin 2
- Digital Pin 3
- Digital Pin 4
- Digital Pin 5
- Digital Pin 6
- Digital Pin 7
එක් එක් Pin එක සඳහා පහත ආකාරයට Transistor පරිපථ 6ක් සාදා සම්බන්ධ කරගන්න.
මෙහි Arduino +5V එක බල සැපයුමේ + වයරයට අමුණාගන්න, නොඑසේනම් අධික Load එක නිසා Arduino එකේ Regulator එකට හානි විය හැක. එනිසා LED වලට සිදුවන හානිය අවම කරගැනීමට 330 Ohm වෙනුවට 1K Resistor යොදා ඇත. 12 වෙනුවට 9V ලබාදෙන්නේ නම් 470 Ohm භාවිතා කළ හැක.
Arduino digital Out කොටස ඉහත සඳහන් කළ 2 සිට 7 දක්වා Arduino Pin වලට මෙම transistor පරිපථ අමුණාගන්න.
Arduino GND එක බල සැපයුමෙහි - වයරයට අමුනාගන්න.
Code එක ගත්තු නැති අය මෙතනින් ගන්න. Code
LED සම්බන්ධ කරන ලද වෙසක් සැරසිලි.
පරිපථයේ ක්රියාකාරීත්වය.
230V බල්බ දැල්වීමට නම් Transistor පරිපථය වෙනුවට Relay භාවිතා කරන්න - Relay Tutorial
230V බල්බ දැල්වීමට නම් Transistor පරිපථය වෙනුවට Relay භාවිතා කරන්න - Relay Tutorial
දැන් යාලුවනේ අපි භාවිතා කරන Code එක බලමු.
int pinArray[] = {2, 3, 4, 5, 6, 7};
මෙහි තිබෙන්නෙ Output Pins.
int count = 0;
int timer = 70;
Knight Rider ආලෝක රටාවේ විචල්ය වැඩි විස්තර මෙතනින් - Link
long rand1;
Random Numbers (අහඹු සංඛ්යා) සඳහා විචල්ය
void setup() {
randomSeed(analogRead(0)); //Random Numbers කේතය ඇරඹුම
pinMode(2, OUTPUT); // Pin Output කිරීම
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
පහතින් තිබෙන්නේ Knight Rider Pattern එක.
for (int thisPin = 2; thisPin < 40; thisPin++) { //knight rider
for (count=0;count<5;count++) {
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count + 1], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer*2);
}
for (count=5;count>0;count--) {
digitalWrite(pinArray[count], HIGH);
delay(timer);
digitalWrite(pinArray[count - 1], HIGH);
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer*2);
}
timer=timer-1; //මෙම කොටසින් රටාවේ වේගය වැඩි වේ
}
timer = 70;
එම කේතය මදක් වෙනස් කර අඳුරු තිතක් ගමන් කරන් රටාව
for (int thisPin = 2; thisPin < 60; thisPin++) { //knight rider
for (count=0;count<5;count++) {
digitalWrite(pinArray[count], LOW);
delay(timer);
digitalWrite(pinArray[count + 1], LOW);
delay(timer);
digitalWrite(pinArray[count], HIGH);
delay(timer*2);
}
for (count=5;count>0;count--) {
digitalWrite(pinArray[count], LOW);
delay(timer);
digitalWrite(pinArray[count - 1],LOW);
delay(timer);
digitalWrite(pinArray[count], HIGH);
delay(timer*2);
}
timer=timer-1;
}
timer = 70;
ආරම්භයේ ක්රියාත්මක වන Pattern එක, මෙය Blink උදාහරණයේ ආකාරයට තනා ඇත.
digitalWrite(2, HIGH);
delay(500);
digitalWrite(3, HIGH);
delay(500);
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
delay(500);
digitalWrite(4, HIGH);
delay(500);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(6, HIGH);
delay(500);
digitalWrite(7, HIGH);
delay(2000);
එය මදක් වෙනස් කර එක දිගට ගමන් කරන ආලෝක රටාව මෙසේය
void pt11()
delay(100);
digitalWrite(2, HIGH);
delay(100);
digitalWrite(3, HIGH);
delay(100);
digitalWrite(4, HIGH);
delay(100);
digitalWrite(5, HIGH);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(2, LOW);
delay(100);
digitalWrite(3, LOW);
delay(100);
digitalWrite(4, LOW);
delay(100);
digitalWrite(5, LOW);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(7, LOW);
delay(100);
සියලුම බල්බ දැල්විමට
void pt3()
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(500);
අහඹු ලෙස බල්බයක් නිවීම
void pt5()
rand1 = random(2, 8);
pt3();
digitalWrite(rand1, LOW);
delay(500);
අහඹු ලෙස බල්බ කිහිපයක් දැල්වීම
void pt6()
rand1 = random(1,100);
if(rand1%0==0)
{
digitalWrite(2, HIGH);
}
if(rand1%1==0)
{
digitalWrite(3, HIGH);
}if(rand1%2==0)
{
digitalWrite(4, HIGH);
}if(rand1%3==0)
{
digitalWrite(5, HIGH);
}if(rand1%4==0)
{
digitalWrite(6, HIGH);
}if(rand1%5==0)
{
digitalWrite(7, HIGH);
}
delay(500);
සියලුම බල්බ නිවීම
void reset()
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
එකම කේතය නැවත් නැවත ක්රියාත්මක කිරීමට මෙසේ Loop භාවිතා කරන්න
for (int thisPin = 1; thisPin < 20; thisPin++)
{
වරහන් දෙක මැද කේතය 20 වතාවක් ක්රියාත්මක වේ, ඉහත අගය වෙනස් කර එය රිසි සේ සාදාගන්න.
}
වෙනත් ස්ථානයක ලියූ Function එකක් (කෙත කොටසක්) මෙහි reset නමින් එක නම් කර ඇත, Void කොටස අනිවාර්ය වේ.
void reset()
{
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
වරහන් දෙක තුල ඇති කේත ක්රියාත්මක කිරීමට එහි නම සහ (); කොටස ඇතුලත් කරන. උදා :- reset();
Functions සහ Loop පිලිබද වැඩි අවබෝධයක් නැති අය ගැන හිතලා Blink Code එකම වෙනස් කරලා රටා දැම්මෙ, Knight Rider එක අඑරුණම. යාලුවන්ට ඒ විදියට Delay වෙනස් කරලා ලස්සන රටා හදන්න පුලුවන්. Relay භාවිතා කරන අය වේගවත් රටා (තත්පරයට එක් වතාවට වඩා එක් Relay එකක් ක්රියාත්මක වීම) භාවිතා කිරීමෙන් Relay එකෙහි ආයු කාලය අඩු වේ.
Functions සහ Random අහඹු සංඛ්යා කොටස ගැන ගැටලු තිබේ නම් මෙතනින් දැනගන්න :-
Poyata sathiyakata kalin me post eka danna thibune
ReplyDeletemata meke code aka mail kranawada mskumararsu@gmail.com
DeletePoyata sathiyakata kalin me post eka danna thibune
ReplyDeleteමමත් ඔන්න ebay වලින් arduino එකක් order කලා.
ReplyDeletemama meka heguwa , hebei poyata passase , puluwannam elaga post ekmanata danna, digatama karagena yanna!!!!!!!!
ReplyDeleteස්ත්තියි යාලුවනේ ඔයාලා හැමෝටම, Code එක දාලා ඔය Pattern ටික දැම්මට පස්සෙ Computer එකේ පොඩි අවුලක් ගියා ඒකයි ලිපිය දාන්න බැරි උනේ යාලුවනේ.
ReplyDelete230v bulb walata meka komda karanne?
ReplyDeleteela ahh aniwa hadanna try karanna oni
ReplyDeletethiyana thorathuru tika nam ela
ReplyDeleteමෙකේ code aka මට mail karannako saho
ReplyDeleteCode eka advertising link ekakin hak karala haki nam auudawatta3@gmail.com ekata mail karanna
ReplyDeleteIs it possible to make Vesak pPandal using Arduino? I'm living in abroad and we hope to build it for coming Vesak festival celebration.
ReplyDeleteReally appreciate if anyone help us to get this project done.
email : shamera82@gmail.com
Mama transistor walata wenama power dumna 12v board ekata usb cable ekakin dunne. LED paththu wenne nahane ai ehema wenne. LED 4k series karala connect kale D400 transistor ekata
ReplyDelete