1. 1 | S y e d A b u z a r
Arduino Coding for Transformer interfacing:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600); // baud rate
Serial.flush();
}
// the loop function runs over and over again forever
void loop() {
int LED_BUILTINState = digitalRead(LED_BUILTIN);
int loopcount=0;
while (Serial.available() > 0 )
{
input += (char) Serial.read(); // Read in one char at a time
delay(5); // Delay for 5 ms so the next char has time to be received
}
long starttime = millis();
long endtime = starttime;
if (input == "on" )
{
digitalWrite(LED_BUILTIN, HIGH); // on
2. 2 | S y e d A b u z a r
Serial.println(" Power on");
}
if(input == "off")
{
digitalWrite(LED_BUILTIN, LOW); // off
Serial.println(" Power off");
}
while (input == "0.5" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=0.5Hz");
endtime = millis();
}
while (input == "1" && (endtime - starttime) <=5000)
{
3. 3 | S y e d A b u z a r
digitalWrite(LED_BUILTIN, HIGH); // on
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=1Hz");
endtime = millis();
}
while (input == "5" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
delay(100);
digitalWrite(LED_BUILTIN, LOW);
delay(100);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=5Hz");
endtime = millis();
}
while (input == "10" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
4. 4 | S y e d A b u z a r
delay(50);
digitalWrite(LED_BUILTIN, LOW);
delay(50);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=10Hz");
endtime = millis();
}
while (input == "20" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
delay(25);
digitalWrite(LED_BUILTIN, LOW);
delay(25);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=20Hz");
endtime = millis();
}
while (input == "30" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
delay(16.67);
5. 5 | S y e d A b u z a r
digitalWrite(LED_BUILTIN, LOW);
delay(16.7);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=30Hz");
endtime = millis();
}
while (input == "40" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
delay(12.5);
digitalWrite(LED_BUILTIN, LOW);
delay(12.5);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=40Hz");
endtime = millis();
}
while (input == "50" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
6. 6 | S y e d A b u z a r
delay(10);
digitalWrite(LED_BUILTIN, LOW);
delay(10);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=50Hz");
endtime = millis();
}
while (input == "60" && (endtime - starttime) <=5000)
{
digitalWrite(LED_BUILTIN, HIGH); // on
delay(8.4);
digitalWrite(LED_BUILTIN, LOW);
delay(8.4);
loopcount = loopcount+1;
Serial.print(loopcount );
Serial.println(" f=60Hz");
endtime = millis();
}
}