Skip to content

Instantly share code, notes, and snippets.

@rkrishnasanka
Created January 1, 2016 04:31
Show Gist options
  • Save rkrishnasanka/2b64c1ccaae2215f541e to your computer and use it in GitHub Desktop.
Save rkrishnasanka/2b64c1ccaae2215f541e to your computer and use it in GitHub Desktop.
int g1=12;
int g2=11;
int g3=10;
int g4=9;
float mi,x1,x2,pi,w1,w2;
int count1,count2;
void setup(){
Serial.begin(9600);
pi=(22.0/7.0);
mi= 0.5;
x1=(pi*(1.0-mi))/2.0;
x2=(pi*(1.0+mi))/2.0;
w1=2*x1;
w2=(x2-x1);
Serial.print("pi=");
Serial.print(pi);
Serial.print(",");
Serial.print("mi=");
Serial.println(mi);
Serial.print("x1=");
Serial.print(x1);
Serial.print(",");
Serial.print("x2=");
Serial.println(x2);
Serial.print("w1=");
Serial.print(w1);
Serial.print(",");
Serial.print("w2=");
Serial.println(w2);
count1=(w1*10000)/pi;
count2=(w2*10000)/pi;
Serial.print("count1=");
Serial.print(count1);
Serial.print(",");
Serial.print("count2=");
Serial.print(count2);
pinMode(g1,OUTPUT);
pinMode(g2,OUTPUT);
pinMode(g3,OUTPUT);
pinMode(g4,OUTPUT);
digitalWrite(g1,LOW);
digitalWrite(g2,LOW);
digitalWrite(g3,LOW);
digitalWrite(g4,LOW);
}
void loop(){
delayMicroseconds(count1);
digitalWrite(g1,HIGH);
digitalWrite(g2,HIGH);
delayMicroseconds(count2);
digitalWrite(g1,LOW);
digitalWrite(g2,LOW);
delayMicroseconds(count1);
digitalWrite(g3,HIGH);
digitalWrite(g4,HIGH);
delayMicroseconds(count2);
digitalWrite(g3,LOW);
digitalWrite(g4,LOW);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment