This code will turn on LED on pin 13 on positive period and turn off LED on negative period.
Hope it helps.
#include <Arduino.h>
int led = 13;
float wave = 0;
int step = 0; // 0 - 360 degrees
bool led13 = false; // Value of LED ON/OFF
void setup() {
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// Calculate sine value of
wave = sin(step * DEG_TO_RAD);
// Turn on LED on first step of positive period
if (wave > 0 && !led13)
{
digitalWrite(led, HIGH);
led13 = true;
}
// Turn off LED on first step of negative period
else if (wave < 0 && led13)
{
digitalWrite(led, LOW);
led13 = false;
}
// Reset step
if (step++ > 360)
{
step = 0;
}
delay(5);
}
/Mogens