Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo myservo;
- int pos = 0;
- int clk=9;
- int dt=8;
- int rotpos=90;
- int current=0;
- int before=0;
- int lr=0;
- int left=1;
- int right=-1;
- int sw=7;
- int csw=0;
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(9600);
- pinMode(clk, INPUT);
- pinMode(dt, INPUT);
- pinMode(sw, INPUT_PULLUP);
- before = digitalRead(clk);
- myservo.attach(4);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- csw=digitalRead(sw);
- current=digitalRead(clk);
- if(current != before){
- if(digitalRead(dt)!=current){
- rotpos+=4;
- lr=right;
- }
- else{
- rotpos-=4;
- lr=left;
- }
- if(lr==left){
- Serial.print("LEFT ");
- Serial.print(rotpos);
- Serial.println("");
- }else{
- Serial.print("RIGHT ");
- Serial.print(rotpos);
- Serial.println("");
- }
- if(rotpos > 180) rotpos=180;
- if(rotpos < 0) rotpos=0;
- }
- before=current;
- if(csw == 0){
- myservo.write(rotpos);
- delay(15);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement