byte Ton = 0, Toff = 20;
byte Step = 1;
void setup()
{
pinMode(9, OUTPUT);
}
void loop()
{
for (int i = 0; i < 2500; i++)
{
if (Ton > 0) {
digitalWrite(9, HIGH);
delayMicroseconds(Ton);
}
if (Toff > 0) {
digitalWrite(9, LOW);
delayMicroseconds(Toff);
}
}
Ton += Step;
Toff -= Step;
if (Ton > 20)
{
Step = -1;
Ton = 20;
Toff = 0;
}
else if (Ton == 0)
{
Step = 1;
Toff = 20;
Ton = 0;
}
}