Guest User

Team 1 Arduino Code

a guest
Jun 12th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.61 KB | None | 0 0
  1.   #include <Servo.h>
  2.   Servo myservo;
  3.   int servopos = 30; //default servoposition for our servo
  4.  
  5.   int pdown = 2;
  6.   int pup = 3;
  7.   int pright = 4; //joystick pins
  8.   int pleft = 5;
  9.  
  10.   int rdown = 0;
  11.   int rup = 0;
  12.   int rright = 0; //joystick read values
  13.   int rleft = 0;  
  14.  
  15.   int tswitch = 6; // togle switch variable
  16.   int switchpos = 0; // position of the switch
  17.  
  18.   int read1 = 0;
  19.  
  20.   int sensor = 0;
  21.   int sensorlevel = 0;
  22.  
  23. void setup() {
  24.  
  25.   Serial.begin(9600);
  26.  
  27.  
  28.   pinMode(pdown, INPUT);
  29.   pinMode(pup, INPUT);
  30.   pinMode(pright, INPUT);
  31.   pinMode(pleft, INPUT);
  32.  
  33.   pinMode(LED_BUILTIN, OUTPUT);
  34.  
  35.   pinMode(tswitch, INPUT_PULLUP);
  36.   myservo.attach(7);
  37.   myservo.write(30);
  38.  
  39. }
  40.  
  41. void loop() {
  42.  
  43.   switchcheck:
  44.  
  45.   switchpos=digitalRead(tswitch);
  46.     if(switchpos == HIGH){
  47.  
  48.      goto joycheck;               //check the position of the switch
  49.     }
  50.     else{goto automatic;
  51.     }
  52.  
  53.   joycheck:
  54.     rdown=digitalRead(pdown);
  55.     rup=digitalRead(pup);         //reading the joystick's value
  56.     rright=digitalRead(pright);
  57.     rleft=digitalRead(pleft);
  58.  
  59.    if( rdown == LOW && rup == LOW && rright == LOW && rleft == LOW)
  60.    {goto switchcheck;}         //if joystick pos is 0 go back to switch check
  61.    
  62.  
  63.   if(rup == HIGH || rdown == HIGH)
  64.     {servopos = 30;                //up or down = motor position to zero
  65.      myservo.write(servopos);
  66.      goto switchcheck;
  67.     }
  68.   if(rright == HIGH)
  69.       {
  70.            if (servopos != 10)
  71.             {servopos=servopos-5;                 //right rotation
  72.             myservo.write(servopos);
  73.             digitalWrite(LED_BUILTIN,HIGH);
  74.              delay(500);}
  75.         goto switchcheck;
  76.        }
  77.   if(rleft == HIGH)
  78.       {
  79.            if (servopos != 50)
  80.             {servopos=servopos+5;                 //left rotation
  81.             myservo.write(servopos);
  82.             digitalWrite(LED_BUILTIN,LOW);
  83.              delay(500);}
  84.         goto switchcheck;
  85.        }
  86.  
  87.  
  88.        
  89.   automatic:
  90.  
  91.  
  92.   sensor=analogRead(A0);
  93.   sensorlevel=map(sensor,0,1023,1,9);
  94.   Serial.println(sensorlevel);
  95.   delay(1000);
  96.   if(sensorlevel==4 || sensorlevel==3)
  97.     {
  98.       servopos=40;
  99.       myservo.write(servopos);
  100.     }
  101.    if(sensorlevel==2 || sensorlevel==1)
  102.     {
  103.       servopos=50;
  104.       myservo.write(servopos);
  105.     }
  106.     if(sensorlevel==6 || sensorlevel==7)
  107.     {
  108.       servopos=20;
  109.       myservo.write(servopos);
  110.     }
  111.       if(sensorlevel==8 || sensorlevel==9)
  112.     {
  113.       servopos=10;
  114.       myservo.write(servopos);
  115.     }
  116.       if(sensorlevel==5)
  117.     {
  118.       servopos=30;
  119.       myservo.write(servopos);
  120.     }
  121.        
  122.  
  123. }
Advertisement
Add Comment
Please, Sign In to add comment