int delayTime = 500; // delayTime යන වචනයට 500 අගය ලබාදීම
int redLed = 10; // redLed යන වචනයට 8 අගය ලබාදීම
int blueLed =3; // blueLed යන වචනයට 2 අගය ලබාදීම
typedef void(*function1)(int,int);
typedef void(*function2)(int);
typedef void(*function3)(void);
/*
Void Setup () තුල ලිවිය යුත්තේ එක්වරක් පමණක් ක්රියාත්මක
වීමට අවශ්ය වන Programs වෙයි
*/
void setup() {
pinMode(redLed, OUTPUT); // pin අංක 8 ට අදාළ redLED ය OUTPUT කිරීම
pinMode( blueLed, OUTPUT); // pin අංක 2 ට අදාළ blueLED ය OUTPUT කිරීම
}
/*
Void Loop () තුල ලිවිය යුත්තේ නිරතුරුවම ක්රියාත්මක වීමට අවශ්ය
වන Programs වෙයි
*/
void loop() {
multiVibrator();
/* තනි LED යක් පත්තු කිරීම */
//singleLedTurnON();
/* තනි LED යක් නිවීම හා පත්තු කිරීම */
//multiVibrator(300,300);
//delay(500);
//multiVibrator(300,300);
//delay(500);
//doubleLedTurnOff();
//delay(1000);
//doubleLedTurnON();
//delay(500);
}
/************************** Functions ****************************************/
//තනි LED යක් පත්තු කිරීම
void singleLedTurnON(void){
digitalWrite(redLed, HIGH); //තනි LED යක් පත්තු කිරීමට 5V ලබාදීම
}
//තනි LED යක් නිවීම හා පත්තු කිරීම
void singleLedBlink(void){
digitalWrite(redLed, HIGH); //තනි LED යක් පත්තු කිරීමට 5V ලබාදීම
delay(delayTime); // කිසිම වැඩක් නොකර 500ms නැවතී සිටීම
digitalWrite(redLed, LOW); // තනි LED යක් නිවීමට 0V ලබාදීම
delay(delayTime); // කිසිම වැඩක් නොකර 500ms නැවතී සිටීම
}
void multiVibrator(void){
for( int i =0 ; i<=255 ;i++ )
{
analogWrite(redLed,i);
analogWrite(blueLed,255-i);
delay(200);
}
delay(400);
for(int i= 255; i>=0;i--){
analogWrite(redLed,i);
analogWrite(blueLed,255-i);
delay(200);
}
delay(400);
}
void doubleLedBlink(int delayBlink){
digitalWrite(redLed, HIGH); //තනි LED යක් පත්තු කිරීමට 5V ලබාදීම
digitalWrite(blueLed, HIGH); //තනි LED යක් පත්තු කිරීමට 5V ලබාදීම
delay(delayBlink); // කිසිම වැඩක් නොකර 500ms නැවතී සිටීම
digitalWrite(redLed, LOW); // තනි LED යක් නිවීමට 0V ලබාදීම
digitalWrite(blueLed, LOW); //තනි LED යක් පත්තු කිරීමට 5V ලබාදීම
delay(delayBlink); // කිසිම වැඩක් නොකර 500ms නැවතී සිටීම
}
void doubleLedTurnON(void){
digitalWrite(redLed, HIGH); //තනි LED යක් පත්තු කිරීමට 5V ලබාදීම
digitalWrite(blueLed, HIGH); //තනි LED යක් පත්තු කිරීමට 5V ලබාදීම
}
void doubleLedTurnOff(void){
digitalWrite(redLed,LOW); //තනි LED යක් පත්තු කිරීමට 0V ලබාදීම
digitalWrite(blueLed, LOW); //තනි LED යක් පත්තු කිරීමට 0V ලබාදීම
}
void loopFor(int i,int delaytime, function1 f,int time1 , int time2 )
{
for(int t =0 ;t<i;t++)
{
f(time1,time2);
}
delay(delaytime);
}
void loopFor(int i,int delaytime, function2 f,int time1 )
{
for(int t =0 ;t<i;t++)
{
f(time1);
}
delay(delaytime);
}
void loopFor(int i,int delaytime, function3 f )
{
for(int t =0 ;t<i;t++)
{
f();
}
delay(delaytime);
}